在 Ubuntu 中,**overlay(OverlayFS)**常用来把多个目录“叠加”成一个统一视图,最典型场景是 Docker、Live CD、只读根文件系统 + 可写层。
下面按常见用法说明如何挂载目录。
OverlayFS 至少需要两个目录:
关系示意:
lowerdir (只读)
+ upperdir (可写)
= merged (你看到的目录)
mkdir -p /mnt/lower /mnt/upper /mnt/work /mnt/merged
假设:
/mnt/lower 是原始目录(只读)/mnt/upper 是你修改内容存放的地方/mnt/work 是 overlay 内部使用/mnt/merged 是挂载点sudo mount -t overlay overlay \
-o lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/work \
/mnt/merged
挂载成功后:
/mnt/merged 会看到 lower + upper 合并内容/mnt/merged 实际写入 /mnt/upperOverlayFS 支持多个下层:
sudo mount -t overlay overlay \
-o lowerdir=/mnt/lower1:/mnt/lower2,upperdir=/mnt/upper,workdir=/mnt/work \
/mnt/merged
⚠ 注意:
: 分隔示例:
overlay /mnt/merged overlay \
noauto,x-systemd.automount,lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/work 0 0
或(传统方式):
overlay /mnt/merged overlay \
lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/work 0 0
sudo umount /mnt/merged
lowerdir=/ (根)
upperdir=/overlay/upper
lowerdir=/usr
upperdir=/overlay/usr
Docker 本质上就是 overlay2
❌ workdir 和 upperdir 不在同一文件系统
❌ workdir 不为空
❌ lowerdir 不存在
❌ 内核不支持 overlay(旧版 Ubuntu < 14.04 不支持)
检查支持:
lsmod | grep overlay
cat /proc/filesystems | grep overlay
如果你有具体场景(比如:给根目录加可写层、Docker、Live USB、chroot),我可以直接给你一份可用的挂载命令。