MBR2GPT

您所在的位置:网站首页 激活时提示非mbr分区 MBR2GPT

MBR2GPT

2023-11-15 19:26| 来源: 网络整理| 查看: 265

MBR2GPT.EXE 项目 03/18/2023

适用于:

Windows 10

MBR2GPT.EXE 可将磁盘从主启动记录 (MBR) 转换为 GUID 分区表 (GPT) 分区形式,无需修改或删除磁盘上的数据。 该工具从 Windows 预安装环境 (Windows PE) 命令提示符运行,但也可以使用 选项从完整的Windows 10操作系统 (OS) /allowFullOS运行。

MBR2GPT.EXE位于Windows\System32运行 Windows 10 版本 1703 或更高版本的计算机上的 目录中。

该工具也在完整的操作系统环境和 Windows PE 中提供。 若要在使用配置管理器或 Microsoft 部署工具包 (MDT) 的部署任务序列中使用此工具,必须先使用 Windows ADK 1703 或更高版本更新 Windows PE 映像(winpe.wim、boot.wim)。

请观看下面的视频查看 MBR2GPT 的详细说明和演示。

可以使用 MBR2GPT 执行以下操作:

将任意连接的 MBR 格式化系统磁盘转换为 GPT 分区格式。 无法使用该工具将非系统磁盘从 MBR 转换为 GPT。 转换带有 BitLocker 加密的卷的 MBR 磁盘,只要保护已挂起。 若要在转换后恢复 BitLocker,需要删除现有保护程序并重新创建它们。 转换安装了较早版本的 Windows 10(例如版本 1507、1511 和 1607)的操作系统磁盘。 但是,必须在启动到 Windows 10 版本 1703 或更高版本时运行该工具,并执行脱机转换。 如果任务序列使用 Windows PE 版本 1703 或更高版本,请使用 Configuration Manager 或 MDT 将操作系统磁盘从 MBR 转换为 GPT。

系统磁盘的脱机转换安装了早期版本的 Windows(例如 Windows 7、8 或 8.1)不受官方支持。 建议的转换这些磁盘的方法是,先升级到 Windows 10 操作系统,再执行 MBR 到 GPT 的转换。

重要提示

磁盘转换为 GPT 分区形式后,必须重新配置固件才能以 UEFI 模式启动。

尝试转换磁盘之前,请确保你的设备支持 UEFI。

磁盘必备条件

对磁盘进行任何更改之前,MBR2GPT 会验证所选磁盘的布局和几何图形,以确保:

磁盘正在使用 MBR 分区没有占用足够的空间来存储主要和辅助 GPT: 16 KB + 2 个扇区位于磁盘前面 16 KB + 1 扇区位于磁盘末尾 MBR 分区表中最多有三个主分区 其中一个分区被设置为活动,并作为系统分区 磁盘没有任何扩展/逻辑分区 系统分区中的 BCD 存储包含一个指向 OS 分区的默认 OS 项 可以为分配有驱动器号的每个卷检索卷 ID 磁盘上的所有分区均为 Windows 可识别的 MBR 类型,或具有使用 /map 的命令行选项指定的映射

如果这些检查中的任何一个失败,则转换不会继续,并且将返回错误。

语法

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

选项 选项 说明 /validate MBR2GPT.exe指示仅执行磁盘验证步骤并报告磁盘是否符合转换条件。 /转换 MBR2GPT.exe指示执行磁盘验证,并在所有验证测试都通过时继续转换。 /disk: 指定转换为 GPT 的磁盘编号。 如果不指定,则使用系统磁盘。 使用的机制与diskpart.exe工具 SELECT DISK SYSTEM 命令使用的机制相同。 /logs: 指定应在其中写入日志的 MBR2GPT.exe 目录。 如果不指定,则使用 %windir%。 如果指定,目录必须已经存在,它不会自动创建或被覆盖。 /map:= 指定 MBR 和 GPT 之间的其他分区类型映射。 MBR 分区号以十进制表示法指定,而不是十六进制。 GPT GUID 可以包含括号,例如:/map:42 = {af9b60a0-1431-4f62-bc68-3311714a69ad}。 如果需要多个映射,可指定 Multiple /map 选项。 /allowFullOS 默认情况下, MBR2GPT.exe 被阻止,除非它从 Windows PE 运行。 在完整的 Windows 环境中运行时,该选项将覆盖此块,并启用磁盘转换。 注意:由于现有 MBR 系统分区在运行整个 Windows 环境时正在使用,因此不能重复使用。 在这种情况下,系统会通过压缩操作系统分区来创建新 ESP。 示例 验证示例

在以下示例中,对磁盘 0 进行转换验证。 错误和警告记录到 的默认位置 %windir%。

X:\>mbr2gpt.exe /validate /disk:0 MBR2GPT: Attempting to validate disk 0 MBR2GPT: Retrieving layout of disk MBR2GPT: Validating layout, disk sector size is: 512 MBR2GPT: Validation completed successfully 转换示例

在以下示例中:

使用 DiskPart,在转换之前显示当前的磁盘分区布局 - MBR 磁盘(磁盘 0)上存在三个分区:系统保留分区、Windows 分区和恢复分区。 DVD-ROM 也作为卷 0 存在。

选择 OS 卷、列出分区、并显示 OS 分区的分区详细信息。 对应于可安装的文件系统 (IFS) 类型,MBR 分区类型为 07。

MBR2GPT 工具用于转换磁盘 0。

DiskPart 工具显示磁盘 0 正在使用 GPT 格式。

显示新的磁盘布局 - GPT 磁盘上存在四个分区:三个与之前的分区相同,一个是新的 EFI 系统分区(卷 3)。

再次选择 OS 卷,详细信息显示它已被转换为 GPT 分区类型ebd0a0a2-b9e5-4433-87c0-68b6b72699c7(对应于 PARTITION_BASIC_DATA_GUID 类型)。

如 MBR2GPT 工具的输出中所述,你必须更改计算机固件,新的 EFI 系统分区才能正常启动。

展开以显示 MBR2GPT 示例 X:\>DiskPart.exe Microsoft DiskPart version 10.0.15048.0 Copyright (C) Microsoft Corporation. On computer: MININT-K71F13N DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 F CENA_X64FRE UDF DVD-ROM 4027 MB Healthy Volume 1 C System Rese NTFS Partition 499 MB Healthy Volume 2 D Windows NTFS Partition 58 GB Healthy Volume 3 E Recovery NTFS Partition 612 MB Healthy Hidden DISKPART> select volume 2 Volume 2 is the selected volume. DISKPART> list partition Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 Primary 499 MB 1024 KB * Partition 2 Primary 58 GB 500 MB Partition 3 Recovery 612 MB 59 GB DISKPART> detail partition Partition 2 Type : 07 Hidden: No Active: No Offset in Bytes: 524288000 Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- * Volume 2 D Windows NTFS Partition 58 GB Healthy DISKPART> exit Leaving DiskPart... X:\>mbr2gpt /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! X:\>DiskPart Microsoft DiskPart version 10.0.15048.0 Copyright (C) Microsoft Corporation. On computer: MININT-K71F13N DISKPART> list disk Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 60 GB 0 B * DISKPART> select disk 0 Disk 0 is now the selected disk. DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 F CENA_X64FRE UDF DVD-ROM 4027 MB Healthy Volume 1 D Windows NTFS Partition 58 GB Healthy Volume 2 C System Rese NTFS Partition 499 MB Healthy Hidden Volume 3 FAT32 Partition 100 MB Healthy Hidden Volume 4 E Recovery NTFS Partition 612 MB Healthy Hidden DISKPART> select volume 1 Volume 1 is the selected volume. DISKPART> list partition Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 Recovery 499 MB 1024 KB * Partition 2 Primary 58 GB 500 MB Partition 4 System 100 MB 59 GB Partition 3 Recovery 612 MB 59 GB DISKPART> detail partition Partition 2 Type : ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 Hidden : No Required: No Attrib : 0000000000000000 Offset in Bytes: 524288000 Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- * Volume 1 D Windows NTFS Partition 58 GB Healthy 规格 磁盘转换工作流

后续步骤演示了 MBR 到 GPT 转换过程的高级阶段:

已执行磁盘验证。 磁盘将重新分区,以创建 EFI 系统分区 (ESP) (如果尚不存在)。 已将 UEFI 启动文件安装到 ESP。 应用 GPT 元数据和布局信息。 已更新引导配置数据 (BCD) 存储。 已恢复驱动器号分配。 创建 EFI 系统分区

为使 windows 在转换后保持可启动,EFI 系统分区 (ESP) 必须到位。 MBR2GPT 使用以下规则创建 ESP:

如果满足以下要求,则重新使用现有 MBR 系统分区:

它也不是 OS 或 Windows 恢复环境分区。 对于大小) 的 4K 扇区大小磁盘,它至少为 100 MB (或 260 MB。 大小小于或等于 1 GB。 此大小是一种安全预防措施,可确保它不是数据分区。 未从完整的 OS 执行转换。 在这种情况下,现有的 MBR 系统分区正在使用中,无法重新调整其用途。

如果无法重用现有的 MBR 系统分区,则会通过收缩 OS 分区来创建一个新的 ESP。 对于) 4K 扇区大小的磁盘,此新分区的大小为 100 MB (或 260 MB,格式为 FAT32。

如果现有 MBR 系统分区未对 ESP 重复使用,则转换后启动进程将不再使用该分区。 不会修改其他分区。

重要提示

如果现有的 MBR 系统分区没有重复用于 ESP,说明它可能被分配了驱动器号。 如果你不希望使用这个小分区,则必须手动隐藏驱动器号。

分区类型映射和分区属性

由于 GPT 分区使用的类型 ID 集与 MBR 分区不同,因此,必须为转换后的磁盘上的每个分区分配一个新的类型 ID。 分区类型映射遵循以下规则:

ESP 始终设置为分区类型 PARTITION_SYSTEM_GUID (c12a7328-f81f-11d2-ba4b-00a0c93ec93b)。 如果 MBR 分区类型与 /map 开关中指定的任一条目匹配,则使用指定的 GPT 分区类型 ID。 如果 MBR 分区的类型为 0x27,则将分区转换为 PARTITION_MSFT_RECOVERY_GUID (de94bba4-06d1-4d40-a16a-bfd50179d6ac) 类型的 GPT 分区。 所有其他 Windows 可识别的 MBR 分区转换为 PARTITION_BASIC_DATA_GUID (ebd0a0a2-b9e5-4433-87c0-68b6b72699c7) 类型的 GPT 分区。

除应用正确的分区类型外,PARTITION_MSFT_RECOVERY_GUID 类型的分区还具有以下 GPT 属性集:

GPT_ATTRIBUTE_PLATFORM_REQUIRED (0x0000000000000001) GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER (0x8000000000000000)

有关分区类型的详细信息,请参阅:

GPT 分区类型 MBR 分区类型 保持驱动器号分配

转换工具将尝试重新映射注册表中包含的与转换后的磁盘卷对应的所有驱动器号分配信息。 如果无法还原驱动器号分配,控制台和日志中将显示错误,以便你可以手动执行正确的驱动器号分配。

重要提示

此代码在进行布局转换后运行,因此在此阶段无法撤消操作。

转换工具将在布局转换之前和之后获取卷的唯一 ID 数据,并将此信息组织到查找表中。 然后,它会在 HKLM\SYSTEM\MountedDevices 中的所有条目中进行迭代,请为每个条目执行以下操作:

检查唯一 ID 是否对应于作为已转换磁盘的一部分的任意卷的任意唯一 ID。 如果找到,请将布局转换后获取的值设置为新的唯一 ID。 如果无法设置新的唯一 ID,并且值名称以 \DosDevices 开头,则发出控制台和日志警告,说明在正确还原驱动器号分配时需要手动干预。 疑难解答

该工具将在其输出中显示状态信息。 如果遇到任何错误,将取消验证和转换。 例如,如果一个或多个分区未正确转换,则会显示此内容,并且不执行转换。 要查看有关遇到的任何错误的详细信息,请参阅关联的日志文件。

日志

通过 MBR2GPT 工具创建四个日志文件:

diagerr.xml diagwrn.xml setupact.log setuperr.log

这些文件包含在磁盘验证和转换期间遇到的错误和警告。 这些文件中的信息有助于诊断工具的问题。 setupact.log 和 setuperr.log 文件将提供有关磁盘布局、进程的最详细信息和与磁盘验证和转换有关的其他信息。

注意

setupact*.log 文件不同于在 %Windir%\Panther 目录中找到的 Windows 安装程序文件。

Windows PE 中的所有这些日志文件的默认位置是 %windir%。

交互式帮助

若要查看使用该工具时可用的选项列表,请输入 mbr2gpt.exe /?

显示下列文本:

C:\> mbr2gpt.exe /? Converts a disk from MBR to GPT partitioning without modifying or deleting data on the disk. MBR2GPT.exe /validate|convert [/disk:] [/logs:] [/map:=] [/allowFullOS] Where: /validate - Validates that the selected disk can be converted without performing the actual conversion. /convert - Validates that the selected disk can be converted and performs the actual conversion. /disk: - Specifies the disk number of the disk to be processed. If not specified, the system disk is processed. /logs: - Specifies the directory for logging. By default logs are created in the %windir% directory. /map:= - Specifies the GPT partition type to be used for a given MBR partition type not recognized by Windows. Multiple /map switches are allowed. /allowFullOS - Allows the tool to be used from the full Windows environment. By default, this tool can only be used from the Windows Preinstallation Environment. 返回代码

MBR2GPT 具有以下关联的返回代码:

返回代码 描述 0 已成功完成转换。 1 用户已取消转换。 2 由于内部错误,转换失败。 3 由于初始化错误,转换失败。 4 由于无效的命令行参数,转换失败。 5 由于读取所选磁盘的几何图形和布局出现错误,转换失败。 6 由于磁盘上的一个或多个卷已加密,转换失败。 7 转换失败,因为所选磁盘的几何图形和布局不符合要求。 8 由于创建 EFI 系统分区时出现错误,转换失败。 9 由于安装启动文件时出现错误,转换失败。 10 由于应用 GPT 布局时发生错误,转换失败。 100 转换为 GPT 布局成功,但某些启动配置数据条目无法还原。 确定分区类型

你可以在 Windows PowerShell 提示符中键入以下命令来显示磁盘编号和分区类型。 示例输出如下所示:

PS C:\> Get-Disk | ft -Auto Number Friendly Name Serial Number HealthStatus OperationalStatus Total Size Partition Style ------ ------------- ------------- ------------ ----------------- ---------- --------------- 0 MTFDDAK256MAM-1K1 13050928F47C Healthy Online 238.47 GB MBR 1 ST1000DM003-1ER162 Z4Y3GD8F Healthy Online 931.51 GB GPT

你还可以通过打开磁盘管理工具,右键单击磁盘编号,单击属性,然后单击卷选项卡查看磁盘的分区类型。请参见以下示例:

如果Windows PowerShell和磁盘管理不可用(例如使用 Windows PE 时),可以使用 DiskPart 工具在命令提示符下确定分区类型。 若要从命令行确定分区形式,请键入 diskpart,然后键入 list disk。 请参见以下示例:

X:\>DiskPart.exe Microsoft DiskPart version 10.0.15048.0 Copyright (C) Microsoft Corporation. On computer: MININT-K71F13N DISKPART> list disk Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 238 GB 0 B Disk 1 Online 931 GB 0 B *

在此示例中,磁盘 0 使用 MBR 分区形式进行格式化,磁盘 1 使用 GPT 进行格式化。

已知问题 MBR2GPT.exe无法在 Windows PE 中运行

在 Windows 预安装环境 (Windows PE) 中启动基于Windows 10版本 1903 的计算机时,会遇到以下问题:

问题 1 运行 MBR2GPT.exe 命令时,进程会退出,而无需转换驱动器。

问题 2 在命令提示符窗口中手动运行 MBR2GPT.exe 命令时,工具没有输出。

问题 3在MBR2GPT.exe映像进程(如 Microsoft Configuration Manager 任务序列、MDT 任务序列)内运行时,或者通过使用脚本,将收到以下退出代码:0xC0000135/3221225781。

原因

出现此问题的原因是,在 Windows 10 版本 1903 及更高版本中,MBR2GPT.exe需要访问 ReAgent.dll 文件。 但是,此 dll 文件及其关联的库当前不包括在 Windows 10 版本 1903 及更高版本的 Windows PE 启动映像中。

解决方法

若要解决此问题,请 (WIM) 装载 Windows PE 映像,从Windows 10版本 1903 评估和开发工具包 (ADK) 源复制缺少的文件,然后将更改提交到 WIM。 按照以下步骤使用:

将 Windows PE WIM 装载到路径 (例如 C:\WinPE_Mount) 。 有关如何装载 WIM 文件的详细信息,请参阅 装载映像。

将 ReAgent 文件和 ReAgent 本地化文件从 Windows 10 版本 1903 ADK 源文件夹复制到装载的 WIM。

例如,如果将 ADK 安装到 C:\Program Files (x86) \Windows Kits\10 的默认位置,并且 Windows PE 映像装载到 C:\WinPE_Mount,则从提升的命令提示符窗口运行以下命令:

注意

如果在安装 Windows 评估和部署工具包时安装了用户状态迁移工具 (USMT) 作为功能,则可以访问 ReAgent 文件。

命令 1:

copy "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Setup\amd64\Sources\ReAgent*.*" "C:\WinPE_Mount\Windows\System32"

此命令复制三个文件:

ReAgent.admx ReAgent.dll ReAgent.xml

命令 2:

copy "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Setup\amd64\Sources\En-Us\ReAgent*.*" "C:\WinPE_Mount\Windows\System32\En-Us"

此命令复制两个文件:

ReAgent.adml ReAgent.dll.mui

注意

如果不使用英语版本的 Windows,请将路径中的“En-Us”替换为表示系统语言的相应字符串。

复制所有文件后,提交更改并卸载 Windows PE WIM。 MBR2GPT.exe 现在在 Windows PE 中按预期运行。 有关如何在提交更改时卸载 WIM 文件的信息,请参阅 卸载映像。

相关文章

Windows 10 企业版系统要求 Windows 10 规范 Windows 10 IT 专业人员论坛



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3