我目前有一台在 SSD(传统 BIOS 模式)上运行 Windows 10 的 PC,以及一个装有游戏等的额外 HDD。我已在另一块单独的 HDD(1TB)上安装了 Ubuntu,一切正常(Ubuntu 启动正常)。但是,当我重新连接装有 Windows 的 SSD 和额外的 HDD(没有 Ubuntu 的 HDD)的 SATA 连接时,我的 BIOS 无法检测到装有 Ubuntu 的第三块 HDD。奇怪的是,Windows 磁盘管理可以看到驱动器和 Ubuntu 创建的分区(交换分区和主分区)。
任何帮助都将不胜感激,因为我还没有找到解决办法!如果有明显的解决办法,请原谅我的无知。
答案1
假设您正在使用 BIOS 启动 Ubuntu 安装,但只有在您没有连接 Windows 磁盘时它才有效。您的 BIOS 可能只将前两个磁盘、两个光盘和通过 USB 连接的磁盘视为可启动磁盘。请参阅 oldFred 的评论,了解可能简单的解决方案。
以下是另外两种解决方案:
- 您可以尝试将 Ubuntu 磁盘连接到“第二”位置,替换游戏磁盘,并将游戏磁盘放入第三位置。这假定您不需要启动游戏磁盘。无论如何,您都不想更改 Windows 磁盘的位置。
- 另一种方法是为您的 Ubuntu 安装制作一个“救援”磁盘(grub-mkrescue)。救援磁盘可以放在 CD、DVD 或闪存驱动器上,所有这些都可以被您的 BIOS 看到。您可以使用 BIOS 启动救援磁盘,然后从那里启动 Ubuntu。
救援磁盘将启动到提示符“grub>”。出现该提示符后,您将能够查看所有磁盘。 从那里,您就可以启动您的 Ubuntu 磁盘。
您需要的 grub> 命令包括:
- 设置 pager=1 (控制滚动)
- ls(列出磁盘、分区、文件)
- 配置文件(用于在 Ubuntu 的启动分区中加载 grub.cfg)
在 grub 中找到 Ubuntu 磁盘后,您需要找到文件 /boot/grub2/grub.cfg 并输入类似以下内容的内容(在“grub>”提示符下
configfile (hd2, msdos1)/grub2/grub.cfg
(您必须使用“ls”进行探索才能找到正确的参数)。
就是这样——您的 Ubuntu 系统应该从这里启动。
如果你走这条路,您可以稍后通过制作自定义“救援”磁盘来完善它。您将向救援磁盘添加一个简单的“grub.cfg”,它基本上包含正确的“configfile 命令”,这样您就可以启动您的 Ubuntu 系统而无需输入任何内容。
顺便提一句,我使用这种方法已经很长时间了,从一台 Windows 98 机器开始,当时我太害怕真正修改 Windows 磁盘,而且那台机器上的 BIOS 无法识别我安装了 RedHat Linux 的驱动器。
答案2
尝试一下:仅连接 Windows SSD 和 Ubuntu HDD。使用 ubuntu HDD 启动,使其成为第一启动设备。更新 Grub。如果一切顺利,您将在 grub 启动加载程序中获得 windows 10 条目。关闭 PC,然后连接游戏硬盘。