将 linux 文件系统从 ro 重新挂载到 rw

Seb*_*ler 0 mount root-filesystem squashfs

我需要将我的 linux 文件系统从 ro 重新挂载到 rw。但什么都行不通。如果有人帮助我,我将不胜感激。

# mount
/dev/mtdblock3 on / type squashfs (ro)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
devpts on /dev/pts type devpts (rw)
none on /tmp/netslink type ramfs (rw)

# cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / squashfs ro 0 0
proc /proc proc rw 0 0
ramfs /tmp ramfs rw 0 0
devpts /dev/pts devpts rw 0 0
none /tmp/netslink ramfs rw 0 0
Run Code Online (Sandbox Code Playgroud)

我试过这个:

# mount -o rw,remount -t squashfs /dev/root /
mount: Mounting /dev/root on / failed: Permission denied
Run Code Online (Sandbox Code Playgroud)

我试过这个:

# mount -o rw,remount -t squashfs /dev/mtdblock3 /
Command "mount -o rw,remount -t squashfs /dev/mtdblock3 /" is forbidden!
Run Code Online (Sandbox Code Playgroud)

就这样:

# mount -o rw,remount /
Can't find / in /etc/fstab
Run Code Online (Sandbox Code Playgroud)

/etc/fstab:

# cat /etc/fstab
proc /proc proc defaults 0 0
ramfs /tmp ramfs defaults 0 0
devpts /dev/pts devpts defaults 0 0
Run Code Online (Sandbox Code Playgroud)

系统没有root用户,但是有root组,我用root组中的用户来做,这还不够吗?

什么是正确的解决方案?谢谢!

tas*_*tea 7

SquashFS 是只读文件系统。

https://en.wikipedia.org/wiki/SquashFS

您可以创建一个新的文件系统并将 squashfs 的内容复制到该文件系统中。为此,您需要:

  1. 从旧文件系统备份数据
  2. 从 Live-CD/USB 开始
  3. 在 /dev/mtdblock3 上创建一个新的文件系统
  4. 将数据复制到新文件系统

您可以在另一个分区/驱动器上创建新文件系统,而不是从 Live-CD 启动。

然后,您必须确保您的操作系统使用该新文件系统。通常这是通过更改 /etc/fstab 中的相应行来实现的,但在您的情况下,情况似乎并非如此。您必须找出根文件系统的安装位置并在那里进行更改。

  1. 重启