覆盖整个磁盘时 I/O 失败

覆盖整个磁盘时 I/O 失败

我正在尝试在本地硬盘上的分区上写入随机数据。我启动到恢复 Live CD (Clonezilla) 并尝试了以下操作:

$ dd if=/dev/urandom bs=1024 count=4 | base64 | \
    sudo cryptsetup plainOpen --key-file - /dev/sda5 rando
$ dd if=/dev/zero | pv -ptra | sudo dd of=/dev/mapper/rando

通俗地说:

  1. /dev/sda5使用随机密码作为普通加密磁盘打开。 (即:使用随机密钥初始化 AES 密码)
  2. 用零填充虚拟磁盘,这意味着底层介质充满随机数据,有效地用随机数据填充磁盘 for Reasons™。

当分区大小约为 250GiB 时,此操作会失败,分区大小约为 512GiB。

我也尝试过旧的:

$ sudo dd if=/dev/urandom of=/dev/sda5 bs=4096

并且在大约 250GiB 时也失败了。我稍后尝试使用 恢复覆盖seek,但它也再次失败。

我认为这是一个磁盘问题,但我无法验证这一点。有没有一种工具可以证实我的怀疑并找出哪些部门出现问题?

答案1

如果磁盘没有完全故障并且只有几个损坏的扇区,那么您可以尝试使用以下命令修复它们

hdparm --write-sector

使用来自 的扇区号dmesg。您还可以用来smartctl查看硬盘的自检数据或开始自检。

相关内容