UEFI安装需GPT磁盘,MBR格式会报错;应进BIOS设为UEFI Only,用diskpart clean后convert gpt;安装时让系统自动创建ESP等分区,或手动验证ESP含bootmgfw.efi且ID为EF00;双系统需重装GRUB并调启顺序。
UEFI安装时提示“Windows无法安装到这个磁盘。选中的磁盘具有MBR分区表”
这是最常见卡点:安装程序检测到目标磁盘是mbr格式,但当前启动模式为uefi(uefi要求gpt分区表)。不是磁盘坏了,也不是安装镜像问题,纯粹是分区表类型和引导模式不匹配。
实操建议:
- 重启进BIOS/UEFI设置,确认启动模式确实是
UEFI Only(不是Legacy或CSM Enabled) - 用Windows安装界面按
Shift + F10打开命令行,依次执行:diskpart<br>list disk<br>select disk X <-- 替换X为你的目标盘号<br>clean<br>convert gpt
-
clean会清空所有分区和数据,务必提前备份;convert gpt不能在有活动分区时执行,所以必须先clean - 关闭命令行,点击“刷新”,此时磁盘应显示为“GPT”且可选中
安装完成后黑屏、自动重启或直接进BIOS,找不到启动项
说明EFI系统分区(ESP)没被正确创建或bootmgfw.efi没写入,或者UEFI固件没识别到新启动条目。
实操建议:
- 安装时不要手动新建分区——让Windows安装程序自动创建:它会在GPT磁盘上生成
EFI系统分区(约100MB,FAT32)、MSR保留分区(16MB)、主系统分区 - 如果已手动分过区,检查是否遗漏了ESP:必须是FAT32格式、有
EFI\Microsoft\Boot\bootmgfw.efi文件,且分区类型ID为EF00(用diskpart中detail partition查看) - 安装完进PE或另一系统,用
efibootmgr(Linux)或bcdboot(Windows)重建启动项:bcdboot C:\Windows /s S: /f UEFI
其中C:是系统盘,S:是ESP挂载的盘符(通常为S:或D:)
双系统环境下Windows覆盖了Linux的GRUB启动项
Windows安装或更新后常把自身设为默认启动项,并可能删除或忽略EFI\ubuntu等其他厂商目录。这不是“破坏”,而是Windows只管理自己的EFI\Microsoft路径,不主动兼容其他启动器。
实操建议:
- 别依赖Windows Boot Manager来链式启动Linux;装完Windows后,用Linux Live USB重装GRUB:
mount /dev/nvme0n1p2 /mnt <-- 根分区<br>mount /dev/nvme0n1p1 /mnt/boot/efi <-- ESP分区<br>arch-chroot /mnt<br>grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
- 确保
efibootmgr -v能看到GRUB条目,且启动顺序中它排在Windows Boot Manager之前 - 某些OEM机器(如戴尔、惠普)会锁定启动顺序,需进UEFI设置里手动调整
Boot Order,或关闭Secure Boot后再操作
用DiskGenius或第三方工具转换分区表后UEFI启动失败
很多工具声称支持“MBR转GPT无损”,但实际只改了磁盘头标识,没重建ESP、没迁移启动文件、甚至破坏了原有FAT32结构——导致UEFI固件读不到bootmgfw.efi。
实操建议:
- 放弃“无损转换”幻想。UEFI安装场景下,
diskpart clean + convert gpt是最可靠路径 - 若必须保留数据,先用
robocopy完整备份系统分区(含隐藏文件),再清空重做,最后恢复数据(注意不要覆盖System Volume Information和$RECYCLE.BIN) - 转换后务必验证ESP:用
diskpart进入该分区,执行assign letter=Z,然后z:\EFI\Microsoft\Boot\下必须存在bootmgfw.efi和BCD文件
真正麻烦的从来不是步骤多,而是每个环节都依赖前一步的精确状态:ESP是否存在、是否挂载、是否可写、是否被UEFI识别——漏掉任一环,就只是黑屏或循环重启。动手前,先用diskpart和efibootmgr看清现状,比盲目点“下一步”有用得多。

















