拔电源磁盘变成只读Read-only file system

拔电源磁盘变成只读Read-only file system

  • 问题
    • 查询
    • 解决

问题

搭建openwrt的过程中,由于机器没有关机键,而且没有进行后台命令关机,直接拔电源之后,重启,任何操作都提示只读状态,那么这个时候什么都操作不了,无奈只有重新做系统,但是问题过于频繁,所以还是花时间解决

查询

百度有很多,方案,但是都是自己的情况下能解决的,没有什么实际的说明:
e2fsck -y /dev/mm,
mount -o remount rw /,
mount -o remount,rw /,
umount 去卸载
都没有用,因为除非你的环境和他的环境一模一样

可以看一下日志打印,会有错误的提示,输入mount也会有磁盘的问题,本来是rw,显示是ro

/dev/mmcblk0p2 on / type ext4 (ro,noatime)
/dev/mmcblk0p2 on / type ext4 (rw,noatime)

解决

就一句话,e2fsck -y /dev/mmcblk0p2,为什么是mmcblk0p2,这个看日志的反馈,然后reboot就可以了,下面这个实现自动检测,放到了开机自启中,这样虽然等待时间可能比较长,但是至少开机就不用管了

sleep 1
result=$(cp sendkey.sh ceshisdka 2>&1)
echo $result
echo --------------------------
# result="cp: can't create 'ceshisdka': Read-only file system"
err="cp: can't create 'ceshisdka': Read-only file system"
if [[ "$result" == "$err" ]]
then
    echo "包含"
    e2fsck -y  /dev/mmcblk0p2
    reboot
else
    err="cp: can't create 'ceshisdka': File exists"
    if [[ "$result" == "$err" ]]
    then
        echo "包含"
        e2fsck -y  /dev/mmcblk0p2
        reboot
    fi
    echo "不包含"
    rm ceshisdka
fi

你可能感兴趣的:(边缘路由,linux,shell,openwrt)