温馨提示×

Ubuntu文件系统如何只读

小樊
63
2026-08-11 22:13:42
栏目: 智能运维

在 Ubuntu 中把文件系统设为只读(Read-Only),常见有几种场景和做法,取决于你是想:

  • 临时只读(重启后恢复)
  • 永久只读(fstab / 内核参数)
  • 只让根分区只读
  • 防止系统写入(应急/安全/修复)

下面按常见需求说明。


一、临时将某个分区设为只读(推荐)

1️⃣ 重新挂载为只读

sudo mount -o remount,ro /

或指定挂载点:

sudo mount -o remount,ro /home

✅ 重启后恢复
❌ 如果有进程正在写入,会失败


2️⃣ 查看当前挂载状态

mount | grep ' / '

二、强制卸载或设为只读(有写入时)

强制 remount(不推荐,可能损坏数据)

sudo mount -o remount,ro,noload /

或 fsfreeze(冻结写入)

sudo fsfreeze -f /
sudo fsfreeze -u /

三、永久只读(修改 /etc/fstab)

⚠️ 风险操作,可能导致系统无法启动

1️⃣ 编辑 fstab

sudo nano /etc/fstab

2️⃣ 修改对应行

UUID=xxxxxx  /  ext4  ro  0  1

/dev/sda1  /  ext4  ro,errors=remount-ro  0  1

3️⃣ 测试 fstab

sudo mount -a

✅ 重启后生效
❌ 日志、桌面、systemd 可能失败


四、整个系统只读(嵌入式 / 安全 / 救援)

方法 1:内核启动参数(GRUB)

编辑:

sudo nano /etc/default/grub

在:

GRUB_CMDLINE_LINUX_DEFAULT

添加:

ro

示例:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ro"

更新 GRUB:

sudo update-grub

重启后根分区只读。


五、系统急救模式(只读)

进入救援模式

systemctl rescue

或直接选 GRUB → Advanced → Recovery Mode

Recovery 默认把根分区挂载为:

ro

六、只读挂载 U 盘 / 外部磁盘

sudo mount -o ro /dev/sdb1 /mnt

或 fstab:

/dev/sdb1  /mnt  exfat  ro,nofail  0  0

七、验证是否只读

touch /testfile

提示:

Read-only file system

八、常见用途总结

场景 推荐方式
临时排查 mount -o remount,ro
防止篡改 fstab + ro
系统修复 Recovery / Live CD
嵌入式系统 内核参数 ro
安全环境 overlay + 只读根

九、我可以帮你进一步

你可以告诉我:

  • ✅ 是 整个系统 还是 某个目录
  • ✅ 是否 允许重启
  • ✅ 是 服务器 / 桌面 / 嵌入式
  • ✅ 是否要 防删除 / 防篡改

我可以给你最安全、最合适的方案

0