挂载 ext4 磁盘:无法以只读方式挂载 /dev/sdc

Ste*_*mer 5 ext4 mount

我有一个带有ext4文件系统的 SSD 磁盘:

$ lsblk -f /dev/sdc 
NAME FSTYPE LABEL UUID                                 MOUNTPOINT
sdc  ext4         142b28fd-c886-4182-892d-67fdc34b522a 
Run Code Online (Sandbox Code Playgroud)

我正在尝试安装它,但它失败了:

$ sudo mkdir /mnt/data
$ sudo mount /dev/sdc /mnt/data
mount: /mnt/data: cannot mount /dev/sdc read-only.
Run Code Online (Sandbox Code Playgroud)
  • 错误信息是什么意思?
  • 如何诊断和解决问题?

添加与以下答案相关的其他信息:

磁盘上只有一个分区。

下面是lsblk针对启动盘执行的结果:

$ lsblk /dev/sda
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda       8:0    0   10G  0 disk 
??sda1    8:1    0  9.9G  0 part /
??sda14   8:14   0    4M  0 part 
??sda15   8:15   0  106M  0 part /boot/efi
Run Code Online (Sandbox Code Playgroud)

这是lsblk对相关磁盘执行的结果:

$ lsblk /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc    8:32   0   2G  1 disk 
Run Code Online (Sandbox Code Playgroud)

小智 12

我有一个 USB 拇指驱动器的类似问题,它归结为 ext4 日志恢复无法正常工作。dmesg证实了这一点:

[1455125.992721] EXT4-fs (sdh1): INFO: recovery required on readonly filesystem
[1455125.992725] EXT4-fs (sdh1): write access unavailable, cannot proceed (try mounting with noload)
Run Code Online (Sandbox Code Playgroud)

正如它所建议的,使用 noload 安装工作:

sudo mount -o ro,noload /dev/sdh1 /mnt/drive
Run Code Online (Sandbox Code Playgroud)

然后我能够备份内容:

sudo rsync -av /mnt/drive /data/tmp/
Run Code Online (Sandbox Code Playgroud)

然后使用fdisk删除并重新创建分区,然后使用mkfs.ext4.

  • `noload` 为我做到了,谢谢! (2认同)