为什么我的文件系统在 linux 中以只读方式挂载?

Tim*_*Tim 4 linux boot gentoo fstab

我正在尝试在 VirtualBox 机器上建立一个基于 Gentoo 的小型 linux 系统,作为将同一系统部署到低规格单板计算机上的一步。出于某种原因,我的文件系统以只读方式挂载。

在我的/etc/fstab,我有:

/dev/sda1   /         ext3    defaults    0 0
none        /proc     proc    defaults    0 0
none        /sys      sysfs   defaults    0 0
none        /dev/shm  tmpfs   defaults    0 0
Run Code Online (Sandbox Code Playgroud)

但是,一旦启动/proc/mounts显示

rootfs / rootfs  rw 0 0
/dev/root / ext3 ro,relatime,errors=continue,barrier=0,data=writeback 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
udev /dev tmpfs rw,nosuid,relatime,size=10240k,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0
none /dev/shm tmpfs rw,relatime 0 0
usbfs /proc/bus/usb usbfs rw,nosuid,noexec,relatime,devgid=85,devmode=664 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0
Run Code Online (Sandbox Code Playgroud)

(以上可能包含错误:没有实用的方法可以复制和粘贴)

分区/dev/hda1显然安装正常,因为我可以读取所有数据,但它没有按照 中所述进行安装fstab。我该如何诊断/解决这个问题?

编辑:我可以重新安装mount -o remount,rw /并按预期工作,除了/proc/mounts报告/dev/root安装在/而不是/dev/sda1我期望的那样。

如果我尝试重新安装,mount -a我会得到

mount: none already mounted or /sys busy
mount: according to mtab, sysfs is already mounted on /sys
Run Code Online (Sandbox Code Playgroud)

编辑 2:我mount -a通过将 sysfs 和 proc 行更改为

proc    /proc   proc   [...]
sysfs   /sys    sysfs  [...]
Run Code Online (Sandbox Code Playgroud)

现在mount -a没有抱怨,但它不会导致读写根分区。mount -o remount /但是,确实会导致重新安装根分区。

小智 5

可能是因为磁盘不干净,尝试更改:

/dev/sda1   /         ext3    defaults    0 0
Run Code Online (Sandbox Code Playgroud)

/dev/sda1   /         ext3    defaults    0 1
Run Code Online (Sandbox Code Playgroud)

或者至少做一个 fsck 然后重新启动