SSD上的Ubuntu无法独立启动,疑引导加载器或分区问题求助
兄弟,我来给你捋捋这个问题,核心就是引导加载器(Grub)的位置不对——现在你的系统引导全靠HD上的Grub撑着,SSD自己根本没装能独立启动的引导程序,所以直接从SSD启动才会报“no such partition”。要是贸然格式化HD,肯定会彻底丢了引导,到时连系统都进不去,所以得先把引导“移”到SSD上再动手格式化。
具体操作步骤(现在就能通过HD的Grub进入SSD的Ubuntu,这步很关键,不用做启动盘修复):
先确认SSD的设备名:进入SSD上的Ubuntu后,打开终端执行
lsblk
或者sudo fdisk -l
找到你的SSD(一般是/dev/sda或者/dev/nvme0n1,看输出里的容量和分区就能区分SSD和HD),记下来这个磁盘名(比如/dev/sda,不要写成具体分区像/dev/sda1)。把Grub安装到SSD的磁盘上:执行命令
sudo grub-install /dev/sda
(把/dev/sda换成你刚才查到的SSD设备名),这一步是把引导加载器写到SSD的MBR或者ESP分区里,让SSD能独立引导。更新Grub配置:执行
sudo update-grub
这个命令会重新扫描所有已安装的系统(包括SSD上的Ubuntu和Windows),生成新的引导菜单,确保所有系统都能被SSD上的Grub识别。调整BIOS启动顺序:重启电脑进入BIOS界面(一般按Del/F2/F12,看电脑品牌),把SSD设置为第一启动项,保存后退出。
验证启动正常:重启后应该直接进入SSD上的Grub菜单,能选择启动SSD的Ubuntu或者Windows,确认没问题后,再放心格式化HD就行。
为什么之前重装Ubuntu没解决?
大概率是你重装时,HD是当前的第一启动设备,Ubuntu安装程序默认把Grub装到了HD上,而不是SSD。另外你提到多年前SSD装Lubuntu也有类似问题,可能SSD的分区表或MBR残留了旧的引导信息,这次直接把Grub装到SSD磁盘上就能覆盖掉这些残留。
额外注意事项(针对UEFI模式):
如果你的电脑是UEFI启动(现在新电脑基本都是),要先确认SSD上有ESP分区(EFI系统分区,一般是几百MB,格式为FAT32),并且已经挂载到/boot/efi目录。如果没挂载,需要先挂载再执行grub-install,命令大概是:
sudo mount /dev/sda1 /boot/efi # 假设ESP分区是/dev/sda1 sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
这样操作后,SSD就能独立引导系统了,格式化HD也不会影响启动。
备注:内容来源于stack exchange,提问作者AnakinGabriel

