我有一台全新的笔记本电脑,硬盘干净。我制作了一个可启动的 Ubuntu 16.04.1 LTS 笔式驱动器并将其启动到计算机。然后我使用系统上的安装向导进行安装。它完成并要求我重新启动,我重新启动后一切都运行良好。我关闭了笔记本电脑,取出笔式驱动器并重新启动,它说没有找到可启动的操作系统。但是当我将笔式驱动器放回系统时,系统启动正常。我是新手,很难遵循此问题的其他一些解决方案。我确实确保我的系统在 BIOS 中设置为从硬盘启动,但我所做的一切实际上都做到了。有人可以花时间解释一下使用终端对系统进行编程以从硬盘启动的过程吗?我在安装时使用了分区程序,因此它为启动创建了一个分区并将其标记为启动。我只需要知道要运行哪些代码才能找到解决方案。任何帮助都将不胜感激
答案1
问题几乎肯定是你的 GRUB 安装在两个磁盘上——GRUB 二进制文件本身驻留在你的硬盘上(要么在EFI 系统分区 [ESP]如果计算机以 EFI/UEFI 模式启动,则位于 MBR 和后 MBR 扇区中;如果计算机以 BIOS/CSM/legacy 模式启动,则位于 MBR 和后 MBR 扇区中),但由于您的主安装在 USB 闪存驱动器上,因此 GRUB 配置文件和一些其他关键文件驻留在那里。
如果我是对的,那么从广义上讲,至少有三种方法可以解决此问题:
- 将 GRUB 完全移至硬盘-- 为此,您应该
/boot
在硬盘上创建一个分区。这样的分区可能相当小(大约 500MB 就足够了)。您需要调整/etc/fstab
以自动安装此分区,将当前/boot
目录的内容移动到新分区,然后重新安装 GRUB。这种方法的问题在于您的 USB 驱动器将不再便携;它将工作仅有的在安装系统的计算机上。 - 将 GRUB 完全移动到 USB 驱动器-- 您可以移动 GRUB,使其完全驻留在 USB 驱动器上。完成后,您可能需要使用计算机的内置启动管理器来选择要启动的操作系统。具体操作方法取决于您的系统是使用 BIOS 模式还是 EFI 模式启动:
- BIOS-- 在 BIOS 模式下,只需执行
sudo grub-install /dev/sdb
(或任何 USB 设备)即可重新安装 GRUB;但是,您必须恢复/dev/sda
(或任何硬盘)的 MBR,以便它能容纳 Windows 引导加载程序。这基本上是一项 Windows 任务。 - 电喷-- 在 EFI 模式下,您必须确保 USB 闪存驱动器具有 ESP,然后重新配置
/etc/fstab
以便安装 USB 驱动器的 ESP 而不是硬盘的 ESP,并使用 重新安装 GRUBsudo grub-install
。您可能还需要删除EFI/ubuntu
目录从硬盘和/或使用该实用程序调整 EFI 启动选项efibootmgr
。
- BIOS-- 在 BIOS 模式下,只需执行
- 放弃 GRUB-- 大多数引导加载程序不会像 GRUB 那样将其配置文件分散到各个磁盘,因此可能会运行得更好。不过,具体细节取决于您使用的引导加载程序。对于 EFI,我关于这个主题的页面涵盖了可用的选项。不过,我不知道有哪个页面可以简明扼要地总结 BIOS 选项。无论哪种情况,您都需要使用其所需的任何程序来安装新的引导加载程序,并可能以某种方式清理旧的 GRUB 安装。在某些情况下,您可能还需要重新安装 Windows 引导加载程序。
还有一些其他混合或更奇特的选择,但我就不多说了,因为它们是最实用和最广泛适用的。