必须用微软官方mbr2gpt.exe工具:先以管理员身份运行mbr2gpt /validate /allowfullos验证磁盘结构与空间(需含16mb以上未分配空间),通过后执行mbr2gpt /convert /allowfullos转换,再进bios关闭csm、启用uefi启动,并用bcdboot修复引导。

Windows系统下想把装着系统的MBR硬盘改成GPT格式,又不想重装系统、不丢C盘文件和所有分区数据,必须用微软官方支持的无损转换工具mbr2gpt.exe,它专为系统盘设计,其他方法要么清空数据,要么不兼容当前运行环境。
确认系统是否满足mbr2gpt转换前提
打开“磁盘管理”(diskmgmt.msc),右键系统所在磁盘→“属性”→“卷”选项卡,确认“分区样式”显示为“MBR”。
在管理员命令提示符中运行 diskpart → list disk → select disk X → detail disk,检查输出中是否含“Partition Style : Master Boot Record”,且该磁盘未使用动态卷、未启用BitLocker加密、未启用存储空间(Storage Spaces)。
确保系统分区(通常是C盘前的500MB恢复分区)与EFI系统分区(ESP)之间有至少16MB连续未分配空间——【若没有,mbr2gpt /validate会直接失败】。这是GPT转换后创建ESP所必需的物理间隙,Windows Setup安装时自动预留,但手动扩容或第三方分区操作可能挤占它。
用mbr2gpt命令分两步完成验证与转换
第一步:以管理员身份运行命令提示符,执行验证命令:
mbr2gpt /validate /allowfullos
该命令会扫描磁盘结构、检查引导配置、校验分区对齐与空间余量。只有全部通过才会返回“Validation completed successfully”,否则会明确指出哪项失败(如“Boot partition not aligned to 4096 bytes”或“No space for ESP”)。
Windows 命令行编码与兼容规范。涵盖 GBK/UTF-8 编码、PowerShell/pwsh 互操作、Python/Node.js、Git 配置及代码生成规则。适用于 Windows 10/11 + MSYS2/Git Bash 环境下的所有命令行操作。
第二步:验证通过后,立即执行转换:
mbr2gpt /convert /allowfullos
转换过程约5–15秒,完成后屏幕显示“Conversion completed successfully”,系统自动重启。此时磁盘分区表已变为GPT,但仍在Legacy BIOS模式下启动——【必须进BIOS/UEFI设置,将启动模式从Legacy/CSM改为UEFI Only,否则下次开机蓝屏】。
转换后必须手动启用UEFI启动并修复引导
重启进入UEFI固件设置(开机狂按F2/F10/Del等键,具体看主板品牌),关闭CSM(Compatibility Support Module),启用Secure Boot(可选),将启动顺序中“Windows Boot Manager”设为第一启动项。
若重启后卡在黑屏或提示“Operating System not found”,说明ESP未被正确识别或bcdboot未写入。此时需用Windows安装U盘启动到“修复计算机→疑难解答→高级选项→命令提示符”,执行:
diskpart → list volume → 找到类型为“System”的FAT32卷(即ESP),记下其盘符(如S:)→ exit
bcdboot C:\Windows /s S: /f UEFI
这一步把UEFI启动文件复制进ESP,并重建BCD存储。执行完重启,系统即可正常从GPT+UEFI启动。










