意外运行 dd 后磁盘故障

意外运行 dd 后磁盘故障

在更新我的 Lenovo 笔记本电脑 (T420) 的 BIOS 期间,我使用 dd 将可启动映像写入闪存驱动器。我不小心使用了 /dev/sdb(= SSD 光盘 Samsung EVO)来读取 /dev/sdc(= 可移动闪存盘)。

我不关心SSD上的数据。我的问题是,现在 SSD 磁盘在 Linux 中不可见。

dmesg 输出:

[   14.199850] ata3.00: qc timeout (cmd 0x27)
[   14.201284] ata3.00: failed to read native max address (err_mask=0x4)
[   14.202667] ata3.00: HPA support seems broken, skipping HPA handling
[   14.519801] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   14.521787] ata3.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded
[   14.521794] ata3.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
[   14.523200] ata3.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[   14.524786] ata3.00: supports DRM functions and may not be fully accessible
[   19.575847] ata3.00: qc timeout (cmd 0x47)
[   19.577266] ata3.00: READ LOG DMA EXT failed, trying PIO
[   19.578616] ata3.00: NCQ Send/Recv Log not supported
[   19.579947] ata3.00: ATA-9: Samsung SSD 850 EVO mSATA 250GB, EMT41B6Q, max UDMA/133
[   19.581278] ata3.00: 488397168 sectors, multi 1: LBA48 NCQ (depth 32), AA
[   19.582607] ata3.00: failed to get Identify Device Data, Emask 0x40
[   19.582608] ata3.00: ATA Identify Device Log not supported
[   19.583932] ata3.00: Security Log not supported
[   19.585255] ata3.00: failed to set xfermode (err_mask=0x40)
[   19.586571] ata3: limiting SATA link speed to 1.5 Gbps
[   19.587870] ata3.00: limiting speed to UDMA/133:PIO3
[   19.903876] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   19.905689] ata3.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded
[   19.905696] ata3.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
[   19.906973] ata3.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[   19.908418] ata3.00: supports DRM functions and may not be fully accessible
[   24.951832] ata3.00: qc timeout (cmd 0x2f)
[   24.953072] ata3.00: NCQ Send/Recv Log not supported
[   24.954219] ata3.00: failed to get Identify Device Data, Emask 0x40
[   24.954219] ata3.00: ATA Identify Device Log not supported
[   24.955337] ata3.00: Security Log not supported
[   24.956442] ata3.00: failed to set xfermode (err_mask=0x40)
[   24.957521] ata3.00: disabled
[   25.275901] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 310)

到目前为止我发现了什么:

  • BIOS 看到磁盘,但仅 BIOS 需要几分钟才能进入启动菜单
  • live linux 不会为 SSD 光盘创建 /dev/sdX (附带 dmesg)
  • Hiren(基于 Win10)的 BootUSB,BIOS 中的 AHCI 模式 - 启动约 35 分钟
  • Hiren 的(基于 Win10)BootUSB,BIOS 中的 IDE 模式 - 启动大约 2 分钟
  • 大多数分区工具(来自 Hiren、GParted 等)根本看不到 SSD 磁盘
  • 很少有分区工具可以看到 SDD 磁盘,但无法创建/删除/更改任何内容,其中一些工具指示分区表错误
  • 来自 Hiren(基于 Win10)BootUSB 的 diskmgmt.msc 仅在 BIOS 中使用 AHCI 才能看到 SSD 磁盘,在这种情况下提供带有 MBR 或 GPT 的初始化磁盘,两者都因一些 IO 错误而失败
  • 三星 SSD EVO 更新固件实时 USB - 看不到光盘(基于 Linux)

dd命令可以永久销毁SSD盘吗?

答案1

不,您的物理磁盘不能被 dd 破坏。仅边缘情况,如果它使用了很长时间并且您已经使用 dd 在其上写入了最后一根数据,那么它就会磨损。另一方面,数据和分区信息确实可以被破坏,在您的情况下似乎如此!

重新启动后,在 Linux 系统上尝试以下操作:

请注意,parted 在按 Enter 键后立即执行,这与 fdisk 不同,fdisk 需要写入命令。

sudo parted /dev/sdb(或以您的 Samsung EVO 磁盘为准)

mklabel loop(基本上删除任何类型的分区表)

此时,您可以将其完全留空,然后尝试重新启动以查看延迟等是否已停止或继续对磁盘进行分区。

你也可以离开loop,不做任何分区,mkfs.ext4 /dev/sdb这有点新奇,但这是可能的。

但更可能的是你会定义一个分区表,

mklabel gpt(在 efi 系统上)

mklabel msdos(在 BIOS 系统上)

并做一个分区

mkpart(此时可以按照向导进行操作。如果是 msdos-mbr 表,ext4 文件系统,则选择 Primary,开始 0%,结束 100%)

打印(查看新分区)

退出分手,

最后mkfs.ext4 /dev/sdb1

当然如果你想要ext4文件系统。

相关内容