我在一台已经安装了 Windows XP 的计算机上安装 Ubuntu。这台计算机有多个硬盘托架,所以我决定移除 XP 硬盘,并在空白硬盘上安装 Ubuntu,因为这是系统中唯一的硬盘。不幸的是,如果我现在尝试使用第二个插槽中的 Windows XP 驱动器启动 Ubuntu,什么都无法启动。但是,如果 Windows XP 位于第一个插槽中,它将正常启动。
有人能解释为什么会发生这种情况吗?当我检查 BIOS 以查看是否有问题时,我发现当 Ubuntu 位于第一个插槽时,BIOS 无法识别任何硬盘。但是,如果 XP 位于第一个插槽,BIOS 会识别两个驱动器。关于为什么会发生这种情况,有什么假设吗?
编辑:这是设置。我有一台带有七个 SCSI HDD 插槽的旧服务器。我有五个相同的 68 Gb SCSI 驱动器,但我只能保留两个插入的驱动器。XP 仍安装在第一个驱动器上,但我在第二个驱动器上重新安装了 Ubuntu,并让 Grub 覆盖第一个驱动器上的 XP 引导加载程序。现在,设置工作正常,我可以使用 Grub 加载 XP 或 Ubuntu。
但是,如果我在第三个插槽中插入另一个相同的空白硬盘,计算机只会识别 XP 驱动器,并且无法启动。Grub 开始加载,然后出现“未找到磁盘”错误。ls
从grub rescue
提示符运行仅显示一个驱动器和两个分区。
我猜这是 BIOS 问题,但我仍然想知道是什么引发了这个问题。空白驱动器会导致 BIOS 崩溃吗?
答案1
从声音上看,Ubuntu 和 Grub 安装在一个驱动器上,而 Windows 及其引导加载程序安装在另一个驱动器上。根本没有软件串扰,对吧?如果真是这样,如果 BIOS 在一种配置下连接两个驱动器时可以正常找到它们,但在另一种配置下连接时却无法找到它们,那么在我看来,这是 BIOS 的问题,而不是操作系统的问题。
可能是主/从跳线设置错误,当且仅当这两个驱动器是位于同一通道上的 IDE 驱动器,但如果它们位于不同的通道上或为 SATA 驱动器,则情况并非如此。如果它们是位于同一通道上的 IDE 驱动器,则应将两个驱动器上的跳线都设置为“电缆选择”。如果此方法不起作用,则将一个驱动器设置为主驱动器,将另一个驱动器设置为从驱动器。
我见过不同制造商的驱动器出现的问题,当将 Western Digital 驱动器设置为从驱动器,而将 Seagate 驱动器设置为主驱动器时,该驱动器无法正常工作。将跳线设置为另一种方式时,相同的驱动器工作正常,并且 Western Digital 作为另一个 Western Digital 驱动器的从驱动器工作正常。总的来说,对于一个 IDE 通道上的两个驱动器,有三种可能的跳线设置:主/从驱动器、从驱动器/主驱动器、电缆选择/电缆选择。如果其中一种不起作用,请尝试另一种。这也可能是主板控制器芯片组异常的情况,因为它不能在特定配置下与 Ubuntu 驱动器很好地交互(由于主板控制器或驱动器控制器中的固件错误)。
最后,这可能是 BIOS 容易混淆的一个奇怪情况,您可以通过以不同方式连接驱动器后清除 CMOS 并将 BIOS 重置为默认值来解决此问题。
也有可能您没有准确告诉我们软件的状态,并且您已将 Grub 安装到 XP 驱动器的 MBR 而不是 Ubuntu 驱动器的 MBR。如果是这种情况,并且 BIOS 尝试从 Ubuntu 驱动器启动,它可能会吐出“无操作系统”或类似的错误。您可以通过启动 Ubuntu 并运行命令来解决这个问题grub-install /dev/sdX
,但您需要用正确的驱动器替换“sdX”才能使其正常工作。如果您能告诉我们有关您的设置的更多信息,我们可以提供更多帮助。
答案2
检查驱动器上的跳线。可能其中一个已预设为“Master”,而另一个已设置为“Cable select”。