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

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

我正在尝试在 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

然而,一旦启动/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

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

的分区/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

编辑2:我通过将 sysfs 和 proc 行更改为,解决了该问题mount -a(结果发现启动过程中也出现了同样的错误)

proc    /proc   proc   [...]
sysfs   /sys    sysfs  [...]

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

答案1

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

/dev/sda1   /         ext3    defaults    0 0

/dev/sda1   /         ext3    defaults    0 1

或者至少执行一次 fsck 然后重启

答案2

您说它是一台 VirtualBox 机器...VirtualBox 进程是否对主机上的数据存储具有写权限?

mount -a按照 中所述重新挂载所有内容/etc/fstab。如果此操作不符合预期,则系统日志中可能会有一些输出。检查并在此处发布相关信息。

答案3

如果您正在运行 Ubuntu,请先尝试删除 ntfs-3g,然后通过运行“aptitude install ntfs-config”进行安装。这通常可以解决问题。(问题是,如果您安装了其他版本的 ntfs 驱动程序(例如附加选项 og parted),则它没有写入功能。)

相关内容