/dev/sdb 只读文件系统

/dev/sdb 只读文件系统

我认为我在写入操作期间过早弹出了 USB。目前我正尝试使用此 USB 映像向其写入另一个 USB 映像,因此是否从其中删除所有数据并不重要。

每当我尝试dd使用零磁盘或执行任何其他操作时,我都会收到类似以下的错误:

$ sudo dd if=/dev/zero of=/dev/sdb bs=4096
dd: failed to open '/dev/sdb': Read-only file system

所以/dev/sdb(USB)存在一些问题。

此外,fstab 显示 remount-ro,表明驱动器上存在一些文件系统不一致。

UUID=xxxx        /           ext4    errors=remount-ro 0       1

当我运行 fsck 时/dev/sdb

$ sudo fsck -fn /dev/sdb1
fsck from util-linux 2.34
fsck.fat 4.1 (2017-01-24)
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
 Automatically removing dirty bit.
There are differences between boot sector and its backup.
This is mostly harmless. Differences: (offset:original/backup)
  3:53/6d, 4:59/6b, 5:53/66, 6:4c/73, 7:49/2e, 8:4e/66, 9:55/61, 10:58/74

  ----- about 30 lines of diff emitted -----

Not automatically fixing this.
/sources/install.wim
  File size is 1655058432 bytes, cluster chain length is > 1655062528 bytes.
  Truncating file to 1655058432 bytes.
Free cluster summary wrong (1643786 vs. really 1642747)
  Auto-correcting.
Leaving filesystem unchanged.
/dev/sdb1: 1086 files, 249673/1892420 clusters

我有点明白什么问题是,但我不知道该怎么做才能修复它。首先,我不知道为什么 dd 会关心设备上的文件系统问题。


更新:dmesg

[91449.265958] scsi 5:0:0:0: Direct-Access     ADATA    USB Flash Drive  1100 PQ: 0 ANSI: 4
[91449.266247] sd 5:0:0:0: Attached scsi generic sg2 type 0
[91449.304557] sd 5:0:0:0: [sdb] Attached SCSI removable disk
[91449.304927] sd 5:0:0:0: [sdb] 30310400 512-byte logical blocks: (15.5 GB/14.5 GiB)
[91449.305336] sd 5:0:0:0: [sdb] Write Protect is on
[91449.305338] sd 5:0:0:0: [sdb] Mode Sense: 43 00 80 00
[91449.305768] sdb: detected capacity change from 0 to 30310400
[91449.306875]  sdb: sdb1

答案1

让我们指出一组事实……

假设内容不重要,那么“修复”故障设备的简单方法是:

  1. 从任何其他设备启动。
  2. 不要从故障设备安装任何东西
  3. 说服自己 100% 确定你正在使用正确的方法/dev/name
    使用lsblk和思考它的输出就足够了。
  4. 启动终端/ bash 并
    sudo dd if=/dev/zero bs=1M count=1 /dev/name在提示符下输入
    重新阅读您输入的内容至少两次,
    只有当您完全确定它是正确的设备时 - 按ENTER

这应该可以工作,...假设没有硬件问题(基于闪存的设备出现故障,或者 HDD 出现 IO 或表面问题)。

相关内容