在极少数情况下,Linux可以在只读fs上执行写操作。例如。当它检测到处于不一致状态的fs(冷重启后)并能够快速安全地修复数据时。
在使用Ubuntu Rescue Remix并写入第二个硬盘时,在安装任何东西(启动时)之前,我有过这样的修复。有关这方面的信息是在dmesg中,所以请检查dmesg。
E.g.这里是一个orphan cleanup可能on readonly fs,it will temporary DISABLE READONLY flag
1485 if (s_flags & MS_RDONLY) {
1486 ext3_msg(sb, KERN_INFO, “orphan cleanup on readonly fs”);
1487 sb->s_flags &= ~MS_RDONLY;
1488 }
… writes…
1549 sb->s_flags = s_flags; /* Restore MS_RDONLY status */
这在* ext3_mount-> mount_bdev完成 – >(回调)ext3_fill_super – >ext3_orphan_cleanup
如果块设备无法读取保护自身,LINUX( ASKING YEAH)
1463 if (bdev_read_only(sb->s_bdev)) {
1464 ext3_msg(sb, KERN_ERR, “error: write access “
1465 “unavailable, skipping orphan cleanup.”);
1466 return;
1467 }
就会犯写在READONLY FS
ext3文件系统需要实现日志恢复禁用恢复:使用“空载”标志,或使用“RO,环”标志,或使用“的ext2”文件系统类型
ext4文件系统要求日志恢复要禁用恢复:使用“noload”标志或使用“ro,loop”标志或使用“ext2”文件系统类型
ReiserFS文件系统有未完成的事务“nolog”标志不起作用男子登山)。禁用日志更新:使用“ro,loop”标志
XFS总是(当卸载时)“norecovery”标志没有帮助(固定在最近的2.6内核中)。禁用数据写入:使用“ro,loop”标志