我正在清理大量旧硬盘,并重新格式化它们以确保它们是空白的。我之前有一台 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)驱动器?