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

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

我有一个 SSD 磁盘,ext4上面有一个文件系统:

$ lsblk -f /dev/sdc 
NAME FSTYPE LABEL UUID                                 MOUNTPOINT
sdc  ext4         142b28fd-c886-4182-892d-67fdc34b522a 

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

$ sudo mkdir /mnt/data
$ sudo mount /dev/sdc /mnt/data
mount: /mnt/data: cannot mount /dev/sdc read-only.
  • 错误信息是什么意思?
  • 如何诊断并解决问题?

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

磁盘上只有一个分区。

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

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

$ lsblk /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc    8:32   0   2G  1 disk 

答案1

我的 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)

正如它所建议的,使用 noload 进行安装是有效的:

sudo mount -o ro,noload /dev/sdh1 /mnt/drive

然后我就可以备份内容:

sudo rsync -av /mnt/drive /data/tmp/

然后使用fdisk删除并重新创建分区,然后使用 . 创建一个新的文件系统mkfs.ext4

答案2

mount: /mnt/data: cannot mount /dev/sdc read-only.

问题可能是ext4设备上的文件系统需要日志恢复,这本质上是写入操作。您可能会dmesg在尝试安装后使用该命令获取更多信息。

但我真的不明白你的命令如何

sudo mount /dev/sdc /mnt/data

变成了只读安装的请求。您是否有/etc/fstab针对该文件系统的特定选项?或者您是否有mount在 root 环境中命名的自定义脚本或别名?

不过,如果该dmesg命令没有提供任何进一步的信息,您可以尝试显式请求读写安装:

sudo mount -o rw /dev/sdc /mnt/data

或者您可以尝试先对其运行文件系统检查:

sudo fsck.ext4 -C0 /dev/sdc

答案3

如果我没看错的话,您正在尝试安装非分区。这可能是一个简单的拼写错误,您应该使用“/dev/sda1”或“/dev/sda2”等,而不仅仅是“sda”

如果不是这种情况,则需要使用分区工具(例如 fdisk 或 gdisk)(或基于 GUI 的工具(例如 gparted))来创建分区表和分区。然后使用“mkfs”在该分区中安装文件系统。

答案4

对我来说,添加到 /etc/fstab 中的以下行确实有效(在 Oracle 云中)。您应该更改 UID,通过 获得正确的 uid sudo blkid。更新 /etc/fstab 后更新挂载sudo mount -a

UID=86e62531-ad0b-4552-9df1-f14b73baf2a5 /data ext4 ro,noload,nofail 0 1

相关内容