我用 SSD 升级了我的笔记本电脑,将旧的 HDD 移到 DVD 驱动器所在的位置,这样我就可以获得速度和存储空间。
现在,我已经在 SSD 上重新安装了 Ubuntu,删除了旧 HDD 上的所有分区,为数据分区腾出空间。但是现在如果插入 HDD,笔记本电脑甚至无法进入 GRUB 2!如果我将其取出,一切都正常,但是一旦我将其插入并重试启动,我就找不到 GRUB。
一开始我以为是启动顺序的问题,但是顺序是正常的,先是笔记本硬盘(SSD),然后是CD/DVD驱动器(实际上是HDD)。
我该如何修复它?
做一个简单的grub-install /dev/sda
是行不通的.. SSD 是sda
, HDD 是sdb
。
答案1
机器在没有插入 HDD 的情况下启动的事实表明 GRUB 确实正确安装在你的 SSD 上并且问题出在启动顺序上,即首先探测你的 HDD,BIOS 在那里找到(非功能性)GRUB 并将控制权传递给它。
请注意,即使你将 HDD 安装到 DVD 驱动器所在的托架中,BIOS 仍会将其视为硬盘. 一些 BIOS 有两个单独的菜单用于设置启动顺序 - 一个菜单用于在硬盘、CD/DVD 和 USB 启动之间进行选择,另一个单独的菜单用于指定硬盘的顺序。
我强烈怀疑您在第一个菜单的顶部有硬盘,但在第二个菜单中您的 HDD 优先于 SSD。
在上图中,除了将 [硬盘] 作为第一启动设备之外,您还需要进入硬盘启动优先级子菜单,并确保您的 SSD 优先级高于 HDD。
答案2
我建议你对硬盘进行完全格式化,然后重试。硬盘上的分区可能仍包含使 grub 加载程序感到困惑的信息。
如果这没有帮助,则必须在 HDD 上安装 grub,此时 HDD 和 SSD 都存在(而操作系统的其余部分在 SSD 上)。因此,sudo grub-install /dev/sdb 等。尽管 SSD 是 sda,HDD 是 sdb,但两者都在同一个 SATA/IDE 通道上,BIOS 可能会根据设备类型默认优先考虑 HDD。
您可以尝试的另一种选择是Grub 定制器首先。它是一个用于自定义 grub 的图形工具。但由于 grub 本身不是问题,而获取它才是问题,所以它可能无关紧要。无论如何,以下是信息:
安装图形化‘grub-customizer’工具:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
答案3
插入硬盘后,计算机是否通过了启动时硬件检查?您是否看到命令提示符(如 grub>)?如果可能,请尝试将硬盘放在另一台设备上。也许硬盘已损坏。然后尝试使用update-grub
grub-install。
但是,如果您想使用 grub-install,则应该/boot
挂载包含目录的分区。例如,如果 /boot 目录位于/dev/sda1
,那么:
sudo mount /dev/sda1 /mnt
sudo grub-install --root-directory=/mnt/ /dev/sda