Ubuntu/Windows 10 双启动 - Grub 缺失

Ubuntu/Windows 10 双启动 - Grub 缺失

我之前在 Microsoft Surfacebook 上安装了一份独立的 Windows 10 版本。我打算同时安装 Ubuntu 双启动。不幸的是,在按照以下方法安装后这些说明,看来 Windows 仍然通过 Ubuntu 启动——GRUB 加载程序被忽略了?

我尝试了以下方法:

  • 从 Live Ubuntu USB 运行启动修复。这显然会运行并执行某些操作,从而导致 Windows 和 Ubuntu 无法启动 - 卡在 Surfacebook 加载动画中,屏幕闪烁,进入 UEFI。
  • 进入 Windows 并尝试根据此更改启动邮政(运行 bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi)。
  • 自行安装 Ubuntu — — 由于某种原因,GRUB 拒绝出现,并且任何启动修复操作都没有任何帮助。
  • 禁用快速启动和休眠

这是我的启动修复程序的信息输出:https://pastebin.com/N1J4H9eF

尝试运行此命令来重命名启动项:

sudo efibootmgr -c -L "UEFI hard drive" -l "\EFI\Boot\bootx64.efi" -d /dev/nvme0n1 -p 2 

这导致了这个错误

Could not prepare Boot variable: No space left on device

这是 sudo efibootmgr -c (我认为这可能是相关的):

GUID Partition Table Header signature is wrong: 0 != 5452415020494645
GUID Partition Table Header signature is wrong: 0 != 5452415020494645
GUID Partition Table Header signature is wrong: 0 != 5452415020494645
GUID Partition Table Header signature is wrong: 0 != 5452415020494645
GUID Partition Table Header signature is wrong: 0 != 5452415020494645
GUID Partition Table Header signature is wrong: 0 != 5452415020494645
Could not prepare Boot variable: No space left on device

以下是 GParted 的屏幕截图 我的 SSD 的 gparted 屏幕截图

任何帮助都将不胜感激。我已经为这个问题纠结了好几天了,但就是想不通……不想在 Windows 上进行后端开发!

答案1

插入可启动的 Linux USB 并从 USB 启动。然后运行

sudo apt-get install grub2

有时,如果加载程序是 UEFI,则会导致问题。首先切换到 BIOS,然后尝试此操作。

答案2

这条信息 :

Could not prepare Boot variable: No space left on device

表明 EFI 分区已满,尽管您的 GParted 屏幕仅显示使用了 35/100 MB。与我所见过的双启动推荐大小相比,100 MB 相当小,因此您可以尝试将此分区的大小调整为 300 或 400 MB。

不过,我不确定这是否可以完成;您可能必须清除现有分区并重新安装两个系统。

答案3

我在安装 Windows 8 和 LinuxMint 时遇到了同样的问题,因为 Windows 8 是以 UEFI 安装的,而 LinuxMint 是以 Legacy BIOS 模式安装的。解决了 chroot 进入安装并在其上安装 Grub 的问题。

假设这nvme0n1p5是您的 Ubuntu 分区,从 LiveCD 运行以下命令:

sudo mount /dev/nvme0n1p5 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

然后 chroot 进入它:

chroot /mnt

安装 Grub-EFI 二进制文件并将 grub 安装到磁盘:

sudo apt-get install grub-efi
sudo grub-install /dev/nvme0n1
sudo update-grub

现在退出 chroot 系统并将其卸载:

exit
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt

重启。

答案4

奇怪的是,我收到的所有回复都不起作用。然而,无论出于什么原因,在 Windows 10 上安装了大量更新(最新版本 1607)后,一切都自行修复了……

我注意到的一个关键问题是“Windows 启动管理器”再次显示在启动顺序中(之前由于未知原因而缺失)。我不确定为什么更新 Windows 会产生这样的效果——通过 USB 运行 Windows 启动修复没有任何帮助(它会退出并显示错误,表明无法进行启动修复)。

之后,我就可以毫无问题地安装 Ubuntu 了。真希望我能确切地知道发生了什么以及为什么,但看来这只能算是一种幸运的意外情况了。

相关内容