无法格式化 RAID 阵列中先前使用的驱动器 - 奇怪的 15 位模式

无法格式化 RAID 阵列中先前使用的驱动器 - 奇怪的 15 位模式

我正在清理大量旧硬盘,并重新格式化它们以确保它们是空白的。我之前有一台 x86 PC,带有运行 Fedora 的 BIOS RAID 和几组 4 个驱动器,IIRC 是 RAID 0+1 阵列,大小各异,包括 40Gb 和 500Gb。那台机器坏了,我无法启动它。

所有这些驱动器以及其他驱动器都无法格式化。

我已经处理掉了大部分旧电脑,剩下的只有一个 USB IDE 适配器,我用它在 Mac 上安装驱动器,还有一台旧的 x86 PC(没有 RAID bios),我在上面安装了最小版本的 CentOS 7。

当安装在 Mac 上时,500Gb 驱动器显示为 1.6Tb 卷(黄色图标),其中单个分区大小更合理。

在此处输入图片描述

diskutil list返回驱动器的以下内容:

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *1.6 TB     disk2
   1:                      Linux ⁨⁩                        500.1 GB   disk2s1

驱动器或分区都无法格式化(擦除菜单选项),无论哪种情况都会出现错误

擦除卷数据以防止将来意外探测失败。:(-69825)

报告。我尝试了所有分区方案和文件系统类型的选项(我看不出这有什么区别,但在其他地方的一个问题表明可能会有区别)。

在此处输入图片描述

在谷歌搜索了类似的问题后,我将驱动器安装在 x86 机器上,其中一个好的启动驱动器包含 CentOS 7 最小版本,另一个坏驱动器。启动驱动器显示为 /dev/sda,故障驱动器显示为 /dev/sdb。

Fdisk 似乎运行成功,但后续的 fdisk -l 没有显示任何内容。

我曾经dd if=/dev/zero of=/dev/sdb将整个 40Gb 驱动器以及 500Gb 驱动器的开始和结束处都写为零。当我将第一个块添加回去时,它包含所有零。

再次,Fdisk 似乎成功运行,创建了我喜欢的任何类型的超级块和 1 个分区,但之后磁盘仍然是空白的。

然后最奇怪的事情发生了。我决定将超级块的副本从好驱动器复制到故障驱动器上,即使它实际上无法读取,看起来也应该有一个文件系统,对吗?

不,没有。因此,我从故障驱动器中重新添加超级块,并cmp -l根据原始数据执行此操作,我注意到每个差异都在偶数地址上,并且在每种情况下,原始数据都设置了最高位,而通过故障磁盘复制的数据则没有。

因此我创建了一个包含所有 FF 的文件并验证了这在每个 16 位字上都会发生:

[root@localhost ~]# hexdump dels
0000000 ffff ffff ffff ffff ffff ffff ffff ffff
*
0000200
[root@localhost ~]# dd if=/dev/zero of=/dev/sdb bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0225038 s, 22.8 kB/s
[root@localhost ~]# dd if=/dev/sdb of=foo count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0150744 s, 34.0 kB/s
[root@localhost ~]# hexdump foo
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0000200
[root@localhost ~]# dd if=dels of=/dev/sdb
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0283328 s, 18.1 kB/s
[root@localhost ~]# dd if=/dev/sdb of=foo count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0141502 s, 36.2 kB/s
[root@localhost ~]# hexdump foo
0000000 7fff 7fff 7fff 7fff 7fff 7fff 7fff 7fff
*
0000200
[root@localhost ~]# exit

使用多个驱动器我得到了相同的结果。

我想知道是否是 IDE 电缆或接口有故障,因此我断开了位于辅助 IDE 通道上的独立 CD,并将故障驱动器放在那里,得到了完全相同的结果。

我很好奇,OSX Diskutil 从哪里获得 1.6Tb,我猜它从某个地方读取了一些旧的 RAID 元数据,但不是驱动器的开始或结束,这可能吗?

一旦驱动器被完全清零,Mac 就根本看不到它了,所以看起来 Mac 就是我拥有的一切,其他东西都无处可去。

因此,似乎我有一组驱动器无法在每个 16 位字的 MSB 中写入 1,这怎么可能呢?

如果有人能解释发生了什么(包括为什么 Mac 在驱动器完全清零后无法看到它),我会很想了解它,或者如果有人能建议一种重置驱动器以便格式化的方法,我会很感激。我宁愿以象征性的价格将它们放在 eBay 上或赠送给别人,也不愿看到它们被扔进垃圾填埋场,但我似乎已经到了只能进行机械擦除的地步。

更新 1

根据 John Kintzele 的以下回答,我尝试从 USB 启动 gparted。这个过程看起来好像成功了,但驱动器在其他地方无法读取,并且报告了以下错误,在我看来这像是硬件错误,所以也许所有这些驱动器都在某种程度上受到物理损坏了?

在此处输入图片描述

答案1

通常情况下我的方法是物理安装一个驱动器(一次一个 - 或者至少不是 RAID),然后运行dd if=/dev/zero of=/dev/sd<x> bs=16384(16KB 是其他用途最快的块大小,但如果您愿意,可以将其省略)

我已经像这样在现场 CD 上并行完成了此操作:

dd if=/dev/zero of=/dev/sda bs=16384 &
dd if=/dev/zero of=/dev/sdb bs=16384 &
dd if=/dev/zero of=/dev/sdc bs=16384 &

ETC

声音就像你看到的是 3500 GB 驱动器的原始大小仿佛它们仍是 RAID 的(1.6 TB 名义上是 3x 500 GB - 特别是如果一个以吉字节为单位报告,另一个以千兆字节为单位报告)

该阵列中是否有 3 个(或 6 个,如果是 RAID10)驱动器?

相关内容