当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] MBR2GPT:在 Windows 10 中将 MBR 转换为 GPT 磁盘

作者:精品下载站 日期:2024-12-14 20:12:43 浏览:13 分类:玩电脑

MBR2GPT:在 Windows 10 中将 MBR 转换为 GPT 磁盘


Mbr2gpt.exe 是一个新的内置 Windows 10 控制台工具,可让您将具有 MBR(主引导记录)分区表的磁盘转换为 GPT(GUID 分区表),而不会丢失数据,也无需删除现有分区。 mbr2gpt 工具可用于在 Windows PE(Windows 预安装环境)和直接从运行的 Windows 10 中转换分区表。您可以使用此工具将数据(非系统)磁盘和安装了 Windows 10 的系统磁盘上的分区表从 MBR 更改为 GPT(使用

/allowFullOS

选项)。

MBR2GPT 工具如何工作?

mbr2gpt.exe

该工具是 Windows 10 映像的一部分,从内部版本 1703(创意者更新)开始。在早期的 Windows 10 版本(1507、1511 和 1607)上,您可以使用 mbr2gpt 在离线模式下将磁盘从 MBR 转换为 GPT。以前的 Windows 版本 (Win 7/8.1) 不受官方支持。

注意。早些时候,第三方工具 gptgen 可用于将非系统磁盘从 MBR 转换为 GPT,而不会丢失现有分区。但要转换系统磁盘,您必须完全清理磁盘,在其上创建 GPT 分区表和新分区,然后执行 Windows 10 的全新安装。

MBR2GPT 文档指出,必须满足以下条件才能将磁盘分区表转换为 GPT:

  • 当前磁盘分区表为MBR;

  • 磁盘上有可用空间用于在磁盘的开头和结尾放置主 GPT 表和辅助 GPT 表;

  • MBR 表不应包含超过 3 个分区,其中一个是活动分区(应缺少附加分区和逻辑分区);

  • BCD 配置必须具有指向 Windows 分区的引导记录。

Mbr2gpt将MBR磁盘转换为GPT时的逻辑如下:

  1. 磁盘检查;

  2. 如果没有 EFI (ESP) 系统分区,则使用其中一个分区的可用空间创建该分区(如果没有足够的可用空间,将出现一条错误消息“

    cannot find room for the EFI system partition

    ”);

  3. UEFI启动文件复制到EFI分区;

  4. GPT元数据和分区表应用于磁盘(MBR分区表转换为GPT,不会丢失现有分区上的数据);

  5. BCD 引导加载程序配置已更新。

MBR2GPT工具的语法是:

mbr2gpt /validate|convert [/disk:] [/logs:] [/map:=] [/allowFullOS]

[玩转系统] MBR2GPT:在 Windows 10 中将 MBR 转换为 GPT 磁盘

  • /validate - 仅当分区表可以转换时才会验证磁盘(包括检查存储主 GPT 表和辅助 GPT 表的可用空间:磁盘开头 16 KB + 2 个扇区,末尾 16 KB + 1 个扇区);

  • /convert - 如果验证成功则开始转换磁盘;

  • /disk:—指定要转换为 GPT 的磁盘编号。如果不设置数量,则会转换系统盘(如Diskpart命令:

    select disk system

  • /logs:— 指定 MBR2GPT 应写入日志文件的目录路径。如果未设置路径,则

    %windir%

    使用文件夹。日志文件为 diagerr.xml、diagwrn.xml、setuperr.log 和 setupact.log;

  • /map:— 允许您指定 MBR 和 GPT 之间的附加分区表映射。例如,/map:42={af9b60a0-1431-4f62-bc68-3311714a69ad}。 MBR 分区的编号以十进制形式指定,GPT GUID 包含分隔符。您可以一次指定多个映射;

  • /allowFullOS - 默认情况下,MBR2GPT 只能在 Windows PE 中使用。您可以使用allowFullOS参数直接从运行的Windows 10转换系统磁盘。使用此密钥,您可以在完整的Windows环境中运行该工具。如果在 Windows 中使用 mbr2gpt 时不指定此参数,则会出现错误:

    ERROR: MBR2GPT can only be used from the Windows Preinstallation Environment. Use /allowFullOS to override.

将磁盘从 MBR 转换为 GPT,不会从 Windows 10 丢失 Dara

从 MBR 到 GPT 的磁盘转换操作是不可逆的。在转换之前确保您的计算机支持 UEFI。

在转换磁盘分区表之前,我们先验证当前系统磁盘是否从 MBR 转换为 GPT:

mbr2gpt.exe /disk:0 /validate /Logs:C:\logs /allowFullOS

[玩转系统] MBR2GPT:在 Windows 10 中将 MBR 转换为 GPT 磁盘

MBR2GPT: Attempting to validate disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512

线路

MBR2GPT: Validation completed successfully

表明该磁盘可以转换。线路

MBR2GPT: Disk layout validation failed

意味着磁盘无法转换,因为它不满足条件。

另一个常见错误

Cannot find OS partition (s) for disk 0 

通常与使用第三方引导加载程序或选择错误的磁盘进行转换有关。您还可以尝试将 Windows 启动文件移动到系统分区(

bcdboot c:\Windows /f bios /s c:

),然后检查 BCD 中 WinRE 环境的条目(

reagentc /disable && reagentc /enable

) 是正确的。

提示。如果系统盘使用BitLocker加密,请在转换前解密。

现在就可以转换系统盘的分区表了:

mbr2gpt.exe /convert /disk:0
MBR2GPT will now attempt to convert disk 0.
If conversion is successful the disk can only be booted in GPT mode.
These changes cannot be undone!
MBR2GPT: Attempting to convert disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
MBR2GPT: Trying to shrink the system partition
MBR2GPT: Trying to shrink the OS partition
MBR2GPT: Creating the EFI system partition
MBR2GPT: Installing the new boot files
MBR2GPT: Performing the layout conversion
MBR2GPT: Migrating default boot entry
MBR2GPT: Adding recovery boot entry
MBR2GPT: Fixing drive letter mapping
MBR2GPT: Conversion completed successfully
MBR2GPT: Before the new system can boot properly you need to switch the firmware to boot to UEFI mode!

将已安装的 Windows 10 磁盘从 MBR 转换为 GPT 只需几秒钟即可完成。

要使计算机从新的 EFI 分区启动,您必须将其设置更改为以 UEFI 模式启动。重新启动计算机,然后在 UEFI 设置中将引导模式从 Legacy (BIOS) 更改为 UEFI (Pure) 并保存更改。

[玩转系统] MBR2GPT:在 Windows 10 中将 MBR 转换为 GPT 磁盘

Windows 10 应成功启动。使用 msinfo32.exe,您可以确保 Windows 10 已在 BIOS 模式=UEFI 下启动。

[玩转系统] MBR2GPT:在 Windows 10 中将 MBR 转换为 GPT 磁盘

迁移到本机 UEFI 模式和 GPT 分区表的主要好处:

  • 您可以创建大于2Tb大小的分区;

  • 通过安全启动保护启动环境;

  • ELAM(早期启动反恶意软件)技术;

  • Windows 10 企业版中的 Device Guard 和 Credential Guard 功能;

  • 测量引导

在 Windows 10 安装期间将 MBR 转换为 GPT

您可以在 Windows 10 安装过程中使用 mbr2gpt 工具。例如,您创建了可启动 UEFI 闪存驱动器,并尝试在基于 UEFI 的计算机上具有 MBR 分区表的磁盘上安装 Windows 10。在这种情况下,会出现错误:

Windows cannot be installed to this disk. The selected disk has an MBR partition table. On EFI system, Windows can only be installed to GPT disks.

[玩转系统] MBR2GPT:在 Windows 10 中将 MBR 转换为 GPT 磁盘

如果您不想在将磁盘分区表更改为 GPT 时丢失 MBR 磁盘上的现有数据分区(用于在传统模式下启动或在具有 BIOS 的计算机上启动),您可以直接从 Windows 10 安装窗口将 MBR 磁盘转换为 GPT。

  1. 按按键

    Shift+F10

    在Windows 10安装界面打开WinPE环境的命令提示符;

  2. 检查磁盘分区表是否可以转换为GPT。运行命令:

    mbr2gpt /validate
  3. 如果命令返回

    Validation completed successful

    ,您可以转换此磁盘;

    [玩转系统] MBR2GPT:在 Windows 10 中将 MBR 转换为 GPT 磁盘

    如果报错

    Failed to retrieve geometry for disk -1

    出现,很可能您的计算机上连接了多个磁盘。运行命令

    diskpart

    ->

    list disk

    为了识别磁盘号。您可以使用以下命令通过磁盘号验证特定磁盘:

    mbr2gpt /validate /disk:0
  4. 要转换磁盘分区表,请运行命令

    mbr2gpt /convert

    或与磁盘号

    mbr2gpt /convert /disk:0

    [玩转系统] MBR2GPT:在 Windows 10 中将 MBR 转换为 GPT 磁盘

  5. mbr2gpt工具将创建一个新的EFI系统分区引导分区,将Windows引导加载程序复制到其中并将分区表转换为GPT(现有分区将被保存)。您只需切换到 Windows 10 安装窗口,单击磁盘选择屏幕中的刷新按钮,然后开始在所选分区上安装 Windows 10。

MBR2GPT 已知问题

使用 mbr2gpt 转换分区表后,BitLocker 和 Hyper-V(在 Windows 10 专业版和企业版中可用)最常出现问题。

如果您转换了系统磁盘并尝试启用 BitLocker,您可能会收到一条错误消息:

The system cannot find the file specified

。这很可能是 Windows 恢复环境 (WinRE) 的问题。

尝试重命名文件

%windir%\System32\Recovery\ReAgent.xml

并启用 BitLocker(将自动创建新的 ReAgent.xml 文件)。

启动Hyper-V虚拟机时也可能出现错误:

Virtual machine could not be started because the hypervisor is not running.

要修复此错误,您需要在 BCD 配置中启用 Hyper-V 自动启动:

BCDEDIT /Set {current} hypervisorlaunchtype auto

如果您尝试使用以前的 Windows 版本 (7/8.1) 转换磁盘,该工具将给出错误

mbr2gpt cannot install new boot files

。在这种情况下,建议您先就地升级到Windows 10,然后再转换分区表。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯