插入 USB 闪存卡读卡器时,Grub 挂在“正在启动...”(在 Ubuntu Hardy 上)

插入 USB 闪存卡读卡器时,Grub 挂在“正在启动...”(在 Ubuntu Hardy 上)

我有一台安装了 Ubuntu Hardy 的 PC。除非在启动时插入 USB 闪存卡读卡器(MediaGear 的 N 合 1 读卡器之一),否则机器可以正常启动。如果插入了读卡器,启动过程将正常进行,直到屏幕显示“ Starting up ...”。此时,它就会永远挂起。

为了解决这个问题,我目前在启动时将阅读器拔掉,然后在看到 Ubuntu 确实启动后再将其插上。但这很烦人,尤其是当我重新启动机器(通常是为了更新)时,忘记拔下阅读器,然后走开,几个小时后回来却发现机器挂了。

我猜是因为读卡器的存在让 Grub 搞不清楚在哪里可以找到内核。奇怪的是,Grub 和我希望它启动的内核位于同一个驱动器上,所以即使插入了闪存读卡器,驱动器仍然可读。有什么方法可以告诉 Grub 永远不要去寻找闪存读卡器吗?

答案1

我怀疑您发现系统硬盘和读卡器之间存在冲突。Grub 启动后发现其配置正常,因为 BIOS 可以从硬盘正确启动。但是,Grub 随后枚举驱动器设备,闪存读卡器获取硬盘应该获取的设备名称。因此,当 Grub 启动操作系统时,它查看的是错误的设备。

如果这是正确的诊断,你可以修复它在 Grub 菜单中手动通过像这样编辑启动项。在 Grub 菜单上,选择要启动的内核,然后按E。如果您的启动项显示:

title           Ubuntu, kernel 2.6.20-15-generic
root            (hd0,1)
kernel          /boot/vmlinuz-2.6.20-15-generic root=UUID=3630dd43-f9f9-40b1-8a5f-72c13f2b309c ro quiet splash
initrd          /boot/initrd.img-2.6.20-15-generic
quiet
savedefault

...你需要改变行指向真实设备:

root            (hd1,1)

这可能需要反复试验,或者像我在评论中提到的那样,尝试使用 Grub 的命令行来查看它检测到哪些设备。正确的设备将是高清, 在哪里X是某个数字(您不需要更改分区号,只需更改X)。 那应该允许您正确启动,但每次您都必须执行这些手动步骤。

永久修复它可能需要在你的/boot/grub/设备映射文件,如果不存在则创建一个。或者,如果您要让此设备永久连接,则可以在/boot/grub/菜单.lst指向新设备。

如果您能发布您的配置文件以及 Grub 看到的设备,我们可能会提供进一步的帮助。

答案2

将 BIOS 启动顺序更改为更接近您预期的顺序。首先是硬盘驱动器,然后是其他设备。似乎硬盘驱动器映射 (hd#) 到物理设备的映射发生在 BIOS 初始化时。

相关内容