为什么硬盘对 Grub 不可见?

Eva*_*ske 6 boot grub2 bios

我刚刚在我的系统中安装了一个新的 SSD,我在尝试从它启动时遇到了很多问题。

当我尝试启动时,boot-loader-loader(英特尔矩阵存储管理器)会跳过它并尝试从第二个驱动器启动。我将 Grub 安装到第二个驱动器上的 MBR,将其指向 SSD 上的引导文件。不幸的是,SSD 对 Grub 是不可见的。ls从 Grub 救援提示运行仅显示第二个驱动器。但是,如果我从 LiveCD 或闪存驱动器启动,我可以看到并安装 SSD。我相信这是一个 BIOS 问题,但我仍然很好奇。

我的 SSD 如何在 Ubuntu 中显示而不在 Grub 中显示?Grub 查找文件系统的方式和 Ubuntu 的方式有什么区别?

Jor*_*gla 2

你说得对,这是 BIOS 问题。GRUB(默认情况下)使用 BIOS 接口来访问驱动器,因此 GRUB 将列出 BIOS 向其提供的所有驱动器。我不能说为什么你的 BIOS 无法访问驱动器,但你有几个选项可以解决 BIOS 的限制。

您可以为 /boot 创建一个单独的分区,将其放在 BIOS 可以读取的驱动器上。/boot 包含加载 linux 内核之前需要读取的所有文件,并且可以使用本机驱动程序来访问设备而不是依赖 BIOS。或者您可以使用 GRUB 的本机驱动程序grub-install --disk-module=foo /dev/sdX,其中 /dev/sdX 是 BIOS 可以从中启动的驱动器,而 foo 是“ata”、“ohci”、“uhci”或“ahci”之一,具体取决于驱动器的连接方式(PATA,分别是 USB 1.0 或 SATA 的不同版本)。除“ata”之外的所有版本都需要 grub 1.99。


小智 0

我最近安装了自己的 SSD,但也遇到了一些问题。最终的解决方案是在 BIOS 中使用 RAID 作为 SATA 驱动程序,而不是 AHCI 或 IDE。无需设置实际的 RAID 磁盘。

这样,我的 BIOS 正确识别了我的所有驱动器,并且我能够从 SSD 启动到 Ubuntu。这适用于我的 Abit IP35 Pro 主板。可能值得一试。