在 Ubuntu 里,“overlay”通常指 OverlayFS(联合文件系统),常用于容器(Docker)、Live CD、或把只读根文件系统叠加可写层。下面按常见使用场景说明如何开启和配置。
Ubuntu 默认内核已支持:
lsmod | grep overlay
# 或
cat /proc/filesystems | grep overlay
如果没有加载:
sudo modprobe overlay
开机自动加载(可选):
echo overlay | sudo tee -a /etc/modules-load.d/overlay.conf
mkdir -p /mnt/overlay/{lower,upper,work,merged}
lower:只读层upper:可写层work:必须为空,Overlay 内部使用merged:最终挂载点sudo mount -t overlay overlay \
-o lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work \
/mnt/overlay/merged
mount | grep overlay
overlay /mnt/overlay/merged overlay \
defaults,lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work 0 0
⚠️ 注意:
workdir 必须和 upperdir 同文件系统workdir 必须为空Ubuntu + Docker 默认就用 overlay2:
docker info | grep Storage
如果不是:
/etc/docker/daemon.json{
"storage-driver": "overlay2"
}
重启 Docker:
sudo systemctl restart docker
用于把只读系统盘变成可写(常见于嵌入式):
mount -t overlay overlay \
-o lowerdir=/ro,upperdir=/rw/upper,workdir=/rw/work \
/newroot
然后 switch_root 到 /newroot
workdir and upperdir must be same filesystem✅ 解决:放在同一分区
mount: wrong fs type✅ 解决:
sudo modprobe overlay
如果你指的是:
可以告诉我具体场景,我可以给你更精确的配置示例。