Legacy BIOS模式下GPT磁盘双装Ubuntu 24.04的BIOS引导分区疑问及创建方法求助
Legacy BIOS模式下GPT磁盘双装Ubuntu 24.04的BIOS引导分区疑问及创建方法求助
嗨,我来帮你梳理下这两个问题的原因和解决办法:
第一个问题:为什么DOS引导盘还提示需要BIOS引导分区?
没错,问题的根源确实在你的GPT存储盘上!虽然你用来引导的盘是DOS(MBR)格式,但当你在Legacy BIOS模式下把GRUB安装到GPT磁盘上时,就必须要有BIOS引导分区(BIOS Boot Partition)。因为MBR格式的盘有专门的隐藏引导区域(MBR扇区)来存放GRUB的核心代码,但GPT盘没有这个额外的预留区域,所以必须单独划出一个极小的分区来存储GRUB的bootloader——这就是BIOS引导分区的作用,不管你有没有另一块MBR引导盘,只要GRUB要装在GPT盘上,这个分区就是必不可少的。
第二个问题:用fdisk或parted创建BIOS引导分区的方法
别担心,这两个工具都能搞定,我一步步给你说:
用fdisk创建的步骤:
- 打开“试用Ubuntu”的终端,输入
sudo fdisk /dev/sdX(把X换成你的GPT磁盘代号,比如sdc,千万注意别选错盘!) - 输入
n创建新分区:- 分区类型选
primary或logical都可以(更推荐primary) - 起始扇区直接按回车用默认值,结束扇区输入
+1MB就够了(BIOS引导分区不需要大,1MB完全足够,给2MB更稳妥)
- 分区类型选
- 输入
t修改分区类型 - 输入
ef02(这是GPT磁盘上BIOS引导分区的专属GUID类型代码,fdisk能直接识别) - 输入
w保存分区表并退出
用parted创建的步骤:
- 终端输入
sudo parted /dev/sdX(同样把X替换成你的GPT磁盘代号) - 输入
mklabel gpt确认磁盘是GPT格式(如果磁盘已经是GPT就跳过这一步) - 输入
mkpart primary 0% 1MB(创建一个1MB大小的主分区) - 输入
set <分区号> bios_grub on(把刚创建的分区标记为bios_grub类型,比如你刚创建的是第3个分区,就输set 3 bios_grub on) - 输入
quit保存设置并退出
做完这些操作后,回到Ubuntu安装界面,确保这个BIOS引导分区被系统正确识别,再重新尝试完成安装,那个grub-install命令失败的问题应该就能解决了。
备注:内容来源于stack exchange,提问作者Canadianphysics216




