每当我运行启动修复时,我都可以启动一次进入 Win 10。再次启动 Linux 后,每当我尝试再次启动进入 Win 10 时,我都会收到上述消息。
确切的信息是:
error: can't find command 'parttool'
error: can't find command 'drivemap'
error: invalid EFI file path
尝试了一些方法但似乎无法使其发挥作用。
这是启动修复日志: https://paste.ubuntu.com/p/9rDss5tfHP/
- SDA 是 Win10 LTSC 光盘
- SDC是Linux
一些进一步的命令:
[ -d /sys/firmware/efi ] && echo "EFI boot on HDD" || echo "Legacy boot on HDD"
EFI boot on HDD
Windows 10
label: dos
label-id: 0x4b16c6ab
device: /dev/sda
unit: sectors
/dev/sda1 : start= 2048, size= 1024000, type=7, bootable
/dev/sda2 : start= 1026048, size= 232342258, type=7
/dev/sda3 : start= 233369600, size= 1067008, type=27
// 编辑:
我也尝试为 Win 10 添加自定义启动项,它可以工作,但重启后,我必须从 live-usb 再次启动修复才能选择哪个操作系统。
menuentry "Windows 10" --class windows --class os {
insmod ntfs
search --no-floppy --set=root --fs-uuid 1D584C40586B2873
ntldr /bootmgr
}
启动修复有时会显示 Windows“遗留”错误,我必须以另一种方式重新启动才能使其再次运行。我猜遗留问题才是真正的问题?
奇怪的是,我可以来回启动两次,但仍然出现同样的问题。
答案1
对于 BIOS 和多个驱动器,您不需要在 Boot-Repair 中运行自动修复,因为您不希望每个 MBR 中都有一个 grub。您真正需要的是 sda 和 sdb 的 MBR 中的 Windows BIOS 引导加载程序,因为这些是 Windows 专用驱动器,而 grub 只在 sdc 中。Grub 也只能启动正常工作的 Windows 10,因此在 Windows 更新重新打开快速启动后,您通常必须直接从 BIOS 启动 Windows,这样您就可以关闭快速启动。
使用 Boot-Repair 的高级模式并在 sda 和 sdb 的 MBR 上安装 Windows 类型的引导加载程序。或者使用 Windows 修复/恢复驱动器来修复 Windows 安装。
https://sourceforge.net/p/boot-repair/home/Home/
您还需要关闭 Windows 快速启动。
而且看起来您最初是在 UEFI 启动模式下安装 Ubuntu 的。UEFI 和 BIOS 不兼容。或者一旦您开始从 UEFI 启动,您就无法切换模式,然后 grub 只能在相同的启动模式下启动其他安装。
您有较新的 UEFI 系统,但安装的是旧的 BIOS/MBR 类型。从长远来看,您需要考虑在 UEFI 启动模式下重新安装 Windows 和 Ubuntu。自 2012 年以来,微软就要求供应商在 UEFI 启动模式下将 Windows 安装到 gpt 分区驱动器。但 BIOS/MBR 目前仍然有效。