有没有什么方法可以将高级格式的驱动器转换为常规格式而不丢失数据?

有没有什么方法可以将高级格式的驱动器转换为常规格式而不丢失数据?

我有一个 4 TB 硬盘,以前放在 Seagate Backup Plus 机箱内。该硬盘是高级格式,因此当我将其内部安装或使用另一个机箱时,其分区不可读。我尝试将其安装在 Mac 上,磁盘实用程序报告分区为 500 GB。但是它确实看到磁盘本身是 4 TB。

有没有什么办法可以修复驱动器上的分区表(或其他东西),使其不再是高级格式,而不会丢失数据?还是我必须完全重新格式化它才能使用?

编辑:我运行的是 macOS 10.12.5。该驱动器最初使用 GPT 分区表格式化,带有一个 4 TB HFS+ 分区。现在它被视为 MBR 驱动器,带有一个 512 GB 的未知格式分区。

答案1

市面上有一些 USB 外设可以模拟 4K 驱动器,用于每扇区 512 字节的光盘。这意味着当光盘从外设中取出时,扇区地址不再起作用,因为它们必须乘以 8 才能再次起作用。

另一方面,HFS+ 与扇区大小无关(与 ext2/3/4 非常相似,但与 FAT 或 NTFS 相反)

所以这只是重写分区表的问题。

在 4K 模式下(即在 USB 外壳内),您有扇区 0:MBR 保护分区扇区 1:GPT 标头扇区 2:GPT 数据,表示分区从 n 开始并在 m 结束扇区 n:分区起始扇区 m:分区结束

在 512 字节模式下,现在是:扇区 0:MBR 保护分区扇区 8:GPT 标头扇区 16:GPT 数据,指示分区从 n(错误)开始并在 m(错误)结束扇区 n*8:分区开始扇区 m*8:分区结束

分区大小为mn,当然也是8倍大(8×500GB=4TB)

记下 n 和 m 的值(可以在扇区 16 的彩色区域中找到,在我的示例中为 0x22(开始)和 0xF42(结束))这里

然后使用您选择的分区工具(理想情况下是类似 gnu parted 的工具,您可以在其中输入直接扇区地址),创建一个新的空 GPT 分区表并声明一个新的 HFS+-Partition(分区类型 GUID 为 48465300-0000-11AA-AA11-00306543ECAC,代表 HFS+),记下起始和结束地址,但乘以 8。请注意,这些地址当然是小端十六进制地址,因此必须以此方式读取它们,也必须以此方式写入它们。

答案2

您无法更改驱动器上的扇区大小。这是由制造商在制造驱动器时确定的。所有现代操作系统都能够读取高级格式的驱动器。https://en.wikipedia.org/wiki/Advanced_Format

您的问题可能与高级格式无关,可能是其他问题,例如加密,或 GPT/NTFS 与您的系统的兼容性。

您没有指定任何硬件或操作系统版本。您需要确保您使用的任何操作系统版本都可以正确安装和读取高级格式驱动器以及 GPT 和 NTFS。http://knowledge.seagate.com/ka030000000tlsfAAA

相关内容