Debian - 如何在 USB 驱动器上安装 Debian,并在内部驱动器上安装 grub?

Debian - 如何在 USB 驱动器上安装 Debian,并在内部驱动器上安装 grub?

我已经尝试过在 USB 驱动器上使用引导分区,并msdos在内部分区上创建一个带有引导标志和分区表的单个分区。当我尝试从内部驱动器启动时,我只看到黑屏。我已将/boot/grub目录从 USB 复制到内部驱动器,但我仍然只看到黑屏。 Ctrl+Alt+Delete 没有任何作用。没有错误消息。我正在 BIOS/旧版硬件上安装 Debian 10.9 32 位。我有一个感觉它正在为 UEFI 安装,我不想要也不知道如何防止。我最终可以尝试在 USB 驱动器上安装 ISOLINUX,以绕过内部驱动器。

答案1

我看到两个可能的问题。

仅复制/boot/grub到内部驱动器上的分区并在该分区上设置引导标志不足以使内部驱动器可引导。

BIOS 版本 GRUB 的活动核心通常存储在主引导记录和 MBR 分区磁盘中第一个分区开头之间的块中。这些块不属于任何文件系统或分区,并且不能真正作为文件复制。它们还可能包含一个内置引用,告诉 GRUB 核心在哪里可以找到/boot/grub目录:该引用是在grub-install执行时写入的。

此外,BIOS 可能在启动时支持 USB 大容量存储设备仅当您实际选择从 USB 启动时。如果您的系统在实际未从 USB 启动时并未在 BIOS 级别专门提供 USB 海量存储支持,则对于任何依赖于 BIOS 的程序(如 GRUB)而言,USB 海量存储设备在实际启动之前并不存在。操作系统启动并激活其自己的 USB 驱动程序。由于 Debian 将其内核和 initramfs 文件放入/boot/目录中,因此它们将位于 USB 上,因此 GRUB 无法访问它们。

您可以告诉安装程序将内部驱动器中的一个分区挂载为/boot,也可以选择不先对其进行格式化,这样 Linux 引导文件就会被添加到其中。

或者只需将现有目录的内容复制/boot到内部驱动器上的文件系统,将该文件系统挂载为新的/boot,然后运行grub-install /dev/sda(假设这/dev/sda是您的内部驱动器)。

原则上,应该没有什么可以阻止您在 USB 驱动器上安装 GRUB。由于您已让 Debian 安装程序对 USB 驱动器进行分区,因此应该不会阻止您在 USB 驱动器上安装 GRUB 并使用它。如果您还没有尝试过在 USB 上常规安装 Debian,然后将 BIOS 引导顺序更改为从 USB 引导,请先尝试一下,以免造成不必要的麻烦。

ISOLINUX 用于通过 BIOS 访问 ISO9660 文件系统,这根本不适用于您的情况。

相关内容