mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
762 字
2 分钟
🔧 ESXi OpenWrt EXT4 意外断电文件损坏/文件系统只读/无法保存配置/断电只读解决方案
2025-12-06

🔧 ESXi OpenWrt EXT4 意外断电文件损坏/文件系统只读/无法保存配置/断电只读解决方案#

💡 问题描述: 在 ESXi 虚拟机上运行的 OpenWrt 系统,采用 EXT4 文件系统时,可能因为意外断电(如宿主机 ESXi 非正常关机),导致 OpenWrt 的系统分区文件系统损坏,表现为系统变为只读 (Read-Only),无法保存任何配置更改,重启后配置丢失等问题。

核心解决方案是使用 e2fsck 工具来检查和修复 EXT4 文件系统。


步骤一:确定实际的系统盘挂载点(根分区)#

首先,您需要准确确定 OpenWrt 系统实际使用的根分区是哪一个设备。

  1. 登录 OpenWrt SSH 或通过 Web 界面进入终端。

  2. 查看磁盘和挂载点信息。 您可以使用 df -h 命令来初步观察挂载信息:

    root@ImmortalWrt:~# df -h
    Filesystem Size Used Available Use% Mounted on
    /dev/root 3.9G 171.0M 3.7G 4% /
    tmpfs 1.9G 6.8M 1.9G 0% /tmp
    /dev/sda1 31.9M 8.3M 23.6M 26% /boot
    # ... 其他分区(如您的数据盘 /mnt/sdb1 等)

    ⚠️ 注意: 像您的情况所示,/dev/root 实际上是系统的根目录 / 挂载点,它指向的才是系统的主分区。在某些 OpenWrt 固件(如您使用的 ImmortalWrt)中,/dev/root 可能是一个逻辑名称或指向实际的 /dev/sda2 等分区。

  3. 通过 Web 界面确认系统分区。 进入 “系统” -> “挂载点” 界面,找到类型为 ext4 且用于系统根目录的分区,查看它的 设备 路径。

    🖥️ 示例情况: > 尽管 df -h 显示的是 /dev/root,但您在 Web 界面或其他高级信息中查看到,实际的系统盘(根目录 / 所在的分区)是 /dev/sda2
    Alt text

    请务必确认您需要修复的设备是您的 根分区 所对应的设备,例如 /dev/sda2 /dev/sda3 等。 不要修复错误的分区,特别是数据盘!


步骤二:卸载并修复文件系统#

在对文件系统进行修复之前,必须先将其卸载,但由于您要修复的是根文件系统 /,您无法直接在运行时卸载它。

解决方案:#

您需要通过 强制检查 处于运行状态的根文件系统,或者使用 e2fsck 工具的特定参数。最简单和最安全的方法通常是:

  1. 执行文件系统检查和修复命令。

    使用 e2fsck 命令,配合参数 -y (自动对所有提问回答 Yes),并指定您在步骤一中确认的设备路径。

    • 如果您确认系统盘是 /dev/sda2

      e2fsck -y /dev/sda2
    • 如果系统提示无法对已挂载的设备操作,请尝试强制修复:

      e2fsck -f -y /dev/sda2
      • -f:强制检查。
      • -y:对所有问题假设为 Yes,自动修复。
      • 注意: 修复过程中屏幕会输出大量信息,等待命令执行完毕,直到返回提示符。

步骤三:重启 OpenWrt 系统#

文件系统修复完成后,执行重启命令使更改生效。

reboot

部分信息可能已经过时