我有一个双启动桌面有一段时间了。
- /dev/sda-包含 Windows 的 SSD 驱动器
- /dev/sdb-包含 Ubuntu 的 SSD 驱动器
- /dev/sdc-包含两个操作系统数据的 HDD 驱动器
最近我将 SSD 驱动器从 MBR 切换到 GPT,并关闭了 BIOS 中的传统模式,因此现在是 UEFI。
从那时起,GRUB 就消失了,我无法再次安装它。
首先,我尝试了“常规”方式从实时 USB 启动,chroot 到 /dev/sdb 上的系统并运行 grub-install。这会导致错误:
grub-install: warning: this GPT partition label contains no BIOS Boot Partition: embedding won't be possible
grub-install: error: embedding is not possible, but this is required for cross-disk install
可以将其安装到 /dev/sdb,但是,根据哪个设备获得启动优先级,在操作系统中没有选择(因此从 sda 启动即可直接启动到 Windows,从 sdb 启动即可直接启动到 Ubuntu)。
然后我尝试擦除 /dev/sdb 并从实时 USB 重新安装,但完成设置后,我收到无法安装 grub 的错误。不在 sda 上,也不在 sdb 上。如果我首先启动到“尝试 Ubuntu”并更新,它在这一步一直失败,这没有帮助。我尝试了 lvm 和常规,我尝试手动设置设备分区操作并让安装程序执行此操作。
我尝试在重新安装之前修复 Windows 启动,但没有任何变化(公平地说,Windows 启动正常,因此可能没有太多需要修复的地方)。我尝试了 bootrec.exe 的所有选项,尝试了 bcdboot,尝试了启动修复。
知道我还能尝试什么吗?
答案1
在 BIOS 模式下的 GPT 磁盘中,需要一个单独的分区。
在磁盘开头创建 1 到 2 MB 的分区,并带有标志“bios_grub”
挂载点:无
类型:无文件系统
,然后安装 grub。
BIOS 启动或 EFI 分区(GPT 磁盘上需要)
如果您想在 GPT 磁盘上安装 Ubuntu(您可以通过“sudo parted -l”命令进行检查),您将需要一个 EFI 分区(如果您的 BIOS 设置在 EFI 模式下)或一个 BIOS-Boot 分区(如果您的 BIOS 设置在 Legacy 模式下)。
BIOS 启动分区:
挂载点:无 类型:无文件系统 描述:BIOS 启动分区包含 GRUB 2 的核心。如果您在 GPT 磁盘上安装 Ubuntu,并且固件 (BIOS) 设置为传统 (非 EFI) 模式,则此分区必不可少。它必须位于 GPT 磁盘的起始位置,并具有“bios_grub”标志。
大小:1MB。