外部硬盘中的 Linux

外部硬盘中的 Linux

我在外部硬盘上安装了 Linux,但是拔掉外部硬盘后,我无法访问 Windows(会出现 grub,但 grub 在外部硬盘中),只有当我放回外部硬盘时,才会出现 grub,我选择 Windows,然后在 Windows 上移除硬盘,Windows 才能正常工作。有没有办法像以前一样正常使用 Windows,而不需要插入硬盘?

答案1

显然,您将 grub 安装在了内部驱动器上。您可能在外部驱动器上安装了它的模块和 grub.cfg,但引导代码(或 UEFI 系统的 EFI 二进制文件)已安装到内部驱动器的 MBR(以及 MBR 后间隙/BIOS 引导分区)中。我敢打赌,当您拔下外部驱动器时,您会看到 grub RESCUE shell。

解决方案是重新正确安装 grub。例如,如果

  • /dev/sda:内部 Windows 驱动器
  • /dev/sdb:外部 Linux 驱动器

您可能已经做过以下事情:

  • grub-install /dev/sda,其中包括隐含期权--boot-directory /boot/boot/dev/sdb

你应该做的是:

  • grub-install /dev/sdb

请注意,/dev/sdX 命名在启动时可能会发生变化。因此,在运行此命令之前,请务必使用lsblkfindmnt确认哪个驱动器是 Linux 驱动器。

然后修复内部(Windows)驱动器的 MBR:https://technet.microsoft.com/en-us/library/cc749177%28v=ws.10%29.aspx

相关内容