非原生 USB SATA 底座中的 GPT 意外被 MBR 覆盖

非原生 USB SATA 底座中的 GPT 意外被 MBR 覆盖

抱歉,如果我错过了一些解决方案,但我找不到像我这样的问题,特别是在答案中查看 gpart 状态。

我所得到的:

  1. Seagate 4000GB 3.5 英寸硬盘 ST4000DM000
  2. 可能安装在 USB 3.0 SATA 底座上,Seagate(未知型号,外壳不完整且 USB 端口已损坏)
  3. Trekstor USB 2.0 SATA 基座 DSMMU-S-SU-a
  4. Unitek USB 2.0 SATA 底座 Y-1031

1-3 是我朋友的东西,第 4 是我的。

好吧。可能发生了什么。我的朋友买了一个 4TB 硬盘,放在 USB 底座盒里,他说它甚至可以在 Windows XP 下使用。现在盒子坏了,我还不能确认。

当他弄坏插槽时,他只是将磁盘从本机盒中取出,然后将其放入 Trekstor 盒中。Trekstor 控制器可能以某种方式将 MBR 写入磁盘。

当我尝试使用 Unitek 底座运行 HDD 时,gnome-disks 中显示为 4 TB 驱动器。当我尝试使用朋友的 Trekstor 底座时,它仅显示 2 TB 存储设备!

因此我假设我的 Unitek dock 与 GPT 兼容并且我想使用它进行恢复。

现在,我可以在磁盘上看到什么(通过 Unitek 插入)。

在 Linux 上,有经典的 MBR、500 GB 未知分区和 3.5 TB 可用空间。

在 Windows 7 上,MBR、500 GB 未知分区和两个未分区空间(WTF?)。

最重要的是,在 Linux 上 gpart 甚至看不到损坏的 GPT 文件,只能看到 MBR:

# gdisk 
GPT fdisk (gdisk) version 0.8.10

Type device filename, or press <Enter> to exit: /dev/sdb
Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present

该磁盘很可能在出厂时就被格式化为一个 4 TB 的大 NTFS 分区,并采用 GPT 分区表。

也许我可以使用 dd 命令从拥有相同驱动器的人那里复制 GPT 表(磁盘开头和磁盘结尾处的副本)?如果不行,如何修复它,以及如何查看磁盘结尾处是否有 GPT 副本?我可以从磁盘结尾处获取数据,从而备份该 MBR 上的 GPT 表吗?

答案1

问题已经解决了。

好吧,修复原装 Seagate USB 盒中损坏的 USB 插座就解决了问题。

但是当我将磁盘放入机箱时,我再次在磁盘管理器中看不到任何东西——只有空的、未分区的磁盘。在 testdisk 中再次搜索分区再次成功。GPT 分区表已再次找到并保存。不同之处在于,现在可以在任何操作系统下看到整个分区——Linux 和 Windows XP、7、10。

结论:希捷机箱可能有一些内部可写的闪存/EPROM 内存来保存其自己的 GPT(如果我理解得没错的话,它是一千字节),并且它将其视为 HDD 扇区,将真正的 HDD 扇区推到自己的内存之后。

当我交换磁盘时,数据没有受到影响,因为该分区前后有两个 8 MB 的未分区空间,所以有很多地方可以写入 GPT 或任何其他垃圾。

这是目前我能想到的唯一解释。但令人困惑的是,为什么在 Windows XP 下可以看到磁盘,但这不是问题。

谢谢大家的帮助。

相关内容