在 Debian 上,“overlay”通常指 OverlayFS(叠加文件系统),常用于 Live CD、容器(Docker)、或自定义根文件系统。下面按常见使用场景说明如何调试。
cat /proc/filesystems | grep overlay
# 或
lsmod | grep overlay
若无输出:
modprobe overlay
Debian 默认内核通常已支持。
mkdir -p /tmp/ovl/{lower,upper,work,merged}
mount -t overlay overlay \
-o lowerdir=/tmp/ovl/lower,upperdir=/tmp/ovl/upper,workdir=/tmp/ovl/work \
/tmp/ovl/merged
失败常见原因:
workdir 与 upperdir 必须同一文件系统lowerdir 可多个,用 : 分隔mount | grep overlay
cat /proc/mounts | grep overlay
dmesg -T | tail -50
OverlayFS 错误通常会打印在 dmesg 中。
ls -l /tmp/ovl/merged
upper 中出现 → 已修改(Copy-on-Write)lower → 只读可用:
stat /tmp/ovl/merged/somefile
docker info | grep -i storage
findmnt -t overlay
upperdir 爆满df -i
常见于:
overlay / ro
调试方法:
cat /proc/cmdline
关键参数:
boot=live union=overlay
可加:
debug
查看 initramfs 日志。
| 错误 | 原因 | 解决 |
|---|---|---|
mount: wrong fs type |
内核无 overlay | modprobe overlay |
workdir and upperdir must be same fs |
不同分区 | 放同一磁盘 |
| 文件改了但看不到 | lower 覆盖 | 检查层级顺序 |
| 写不进去 | upper 只读 | 检查权限/磁盘 |
dmesg 看内核错误lower / upper / workdocker info如果你能说明具体场景(Docker / Live / 自定义 rootfs / 启动失败),我可以给你更针对性的调试步骤。