我的目标是在 Windows 11 中访问 6TB 外置硬盘上的 NTFS 分区,该分区已在 Linux 中创建了有效的 GPT。问题是 Windows 11 使用 MBR 安装驱动器。
Windows 磁盘管理和我正在使用的实用程序 Disk Genius 都将 HDD 视为 MBR
我尝试将 MBR 转换为 GPT,但它似乎正在尝试创建一个全新的 GPT,而 Disk Genius 报告没有空间来创建 GPT。
在继续之前,我可以简单地让 Windows 11 读取并使用Linux 创建的现有GPT 吗?
我读了很多关于将 MBR 转换为 GPT 的文章,意识到这不是我想要做的 – 我只想使用已经存在的。我不需要创建新的 GPT。
为了完整起见,以下是 GPT 在 Linux 中的样子(我想在 Windows 11 中使用的 120GB 分区是 /dev/sdc14):
# fdisk -l /dev/sdc
Disk /dev/sdc: 5.46 TiB, 6001175126016 bytes, 11721045168 sectors
Disk model: USB 3.0 Destop H
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 4FBB78E0-201B-4A5B-A745-C0E797DF98D9
Device Start End Sectors Size Type
/dev/sdc1 2048 2099199 2097152 1G EFI System
/dev/sdc2 2099200 63326207 61227008 29.2G Linux filesystem
/dev/sdc3 105269248 149309439 44040192 21G Linux filesystem
/dev/sdc4 168183808 210126847 41943040 20G Linux filesystem
/dev/sdc5 63326208 105269247 41943040 20G Linux filesystem
/dev/sdc6 449202176 465979391 16777216 8G Microsoft basic data
/dev/sdc7 465979392 5860855807 5394876416 2.5T Linux filesystem
/dev/sdc8 5860855808 5860857855 2048 1M Microsoft basic data
/dev/sdc9 5860858456 5938983447 78124992 37.3G Apple APFS
/dev/sdc10 5939245592 9767921663 3828676072 1.8T Apple HFS/HFS+
/dev/sdc11 9768183808 10002558807 234375000 111.8G Apple APFS
/dev/sdc12 10002558808 10393183807 390625000 186.3G Apple APFS
/dev/sdc13 10393184256 11064272895 671088640 320G Linux filesystem
/dev/sdc14 11064272896 11315931135 251658240 120G Microsoft basic data
以下是同一磁盘的 MBR:
# fdisk -t dos -l /dev/sdc
Disk /dev/sdc: 5.46 TiB, 6001175126016 bytes, 11721045168 sectors
Disk model: USB 3.0 Destop H
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x8a9e2113
Device Boot Start End Sectors Size Id Type
/dev/sdc1 1 2099199 2099199 1G ee GPT
/dev/sdc2 * 2099200 63326207 61227008 29.2G 83 Linux
/dev/sdc3 105269248 149309439 44040192 21G 83 Linux
/dev/sdc4 168183808 210126847 41943040 20G da Non-FS data
Partition 1 does not start on physical sector boundary.
2
最佳答案
1
出于兼容性原因,每个GPT 磁盘也具有 MBR 分区表,尽管通常这种磁盘的 MBR 应该只有一个覆盖整个磁盘(或者 MBR 可以覆盖的磁盘空间)的“GPT 保护”分区(类型代码 0xEE),并且只告诉旧软件磁盘非空;现代操作系统会忽略它,只查看 GPT。
但是您的磁盘似乎具有“混合”分区,其中两个分区表都具有有效(且冲突)的信息 – 非常奇怪的是,保护分区存在但已缩小以在其旁边添加内容 – 所以很有可能在这种情况下Windows和Disk Genius都优先考虑MBR而不是GPT。
(仔细观察后发现,MBR 似乎是 GPT 的旧副本,其中仅包含前四个分区,而奇怪的保护分区则代表 EFI 系统分区。要么是有人弄错了分区类型(ESP 的类型为 0xEF,而不是 0xEE),要么是故意伪装 ESP,以便固件忽略它?)
将此 MBR 转换为 GPT 会适得其反,因为它会用从过时的 MBR 转换而来的无用分区替换有效的 GPT 分区,所以幸运的是它没有成功。(尽管您可以从帖子中的列表中手动恢复它们。)
相反,由于 MBR 目前包含无用信息,您应该将其替换为标准“保护性”MBR。最简单的方法是使用gdisk
Linux 中的(又名“gptfdisk”)工具:
gdisk /dev/sdc
;- 主菜单:
x
进入“专家”菜单; - 专家菜单:(可选)
o
查看当前的MBR; - 专家菜单:
n
生成新的保护MBR; - 专家菜单:(可选)
o
查看新生成的MBR; - 专家菜单:(可选)
p
确保 GPT 没有去任何地方; - 专家菜单:
w
将新的分区表写入磁盘。
(这可以通过 fdisk 实现,但需要更多步骤并且需要更加小心。)
最终结果应该看起来完全像这样 – 即只有一个尽可能大的分区:
# fdisk -t dos -l
Device Boot Start End Sectors Size Id Type
/dev/sdc1 1 4294967295 4294967295 2T ee GPT
#
2
-
2哇,这真的有效而且非常简单!(我必须重新启动 Ubuntu Server 才能访问
gdisk
,之前基于 busybox 的发行版需要我绕很长的路才能完成)启动 Disk Genius,Windows 磁盘管理可以看到 NTFS 分区并完美管理它。是时候卸载大量应用程序了 – 再次感谢!🙏
–
-
1ps. 昨晚克隆了
sfdisk -d
磁盘sgdisk --backup
– 我走错了路(例如,在混淆分区之前没有备份太多次,以免造成不必要的压力,哈哈))
–
|
fdisk -t dos -l
对此磁盘的显示是什么?它与 Disk Genius 一致吗?还是它显示了正确的Id: ee
GPT 保护分区?–
–
|