如何在只读环境中挂载文件系统?

Gre*_*ger 3 linux mount read-only

我有一个问题,我的机器将根文件系统转换为只读模式并将其重新挂载为可写将不起作用:

# mount -o remount,rw /dev/sda1 /
mount: block device /dev/sda1 is write-protected, mounting read-only
Run Code Online (Sandbox Code Playgroud)

我想从该系统复制一些数据,并连接了一个 USB 驱动器并尝试安装它:

# mount -t ext3 /dev/sdb1 /mnt
mount: /dev/sdb1 already mounted or /mnt busy
Run Code Online (Sandbox Code Playgroud)

/mnt 是一个空目录,所以在那里挂载通常应该可以工作,但似乎在只读文件系统上拥有这个目录并不能在那里挂载某些东西。

我认为没有活动正在进行/mnt,因为以下命令不返回任何输出:

# lsof | grep "/mnt" | grep -v grep
Run Code Online (Sandbox Code Playgroud)

目前没有其他分区挂载为只读根文件系统。是否仍然可以以某种方式将附加的磁盘放入目录层次结构中?

Joh*_*ohn 7

第一条错误消息告诉我您需要重新启动 - 磁盘设备本身有问题,内核无法在不重新启动的情况下解决。如果您是从 SAN 启动的,请仔细查看您的启动 LUN,并确保它、SAN 的分区或 LUN 的导出没有任何异常。


Mic*_*nez 6

将挂载点设置为与“/”不在同一分区上的任何内容。例如,“/tmp”目录或其他目录通常是一个单独的分区。然后,就像创建一个临时挂载点一样简单:

mkdir -p /tmp/mnt
Run Code Online (Sandbox Code Playgroud)

进而

# mount -t ext3 /dev/sdb1 /tmp/mnt
Run Code Online (Sandbox Code Playgroud)

只要 /tmp 位于单独的可挂载分区上,它就可以完全绕过根分区遇到的任何问题。