我之前在 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
任何帮助都将不胜感激。我已经为这个问题纠结了好几天了,但就是想不通……不想在 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 了。真希望我能确切地知道发生了什么以及为什么,但看来这只能算是一种幸运的意外情况了。