2011-08-23 32 views
2

我有一个只读分区,其数据正在改变。 更改仅在第一次安装时发生。后续安装不会更改分区数据。Linux只读分区的数据更改

尝试与ext3和ext2 incase journalling是一个问题......没有帮助。 尝试tune2fs与-c -1 -i 0为了禁用更新时间戳或任何其他可能被支票正在执行的数据...没有帮助

通常我不会在意,但我需要散列码此分区用于数据完整性目的。

回答

4

在极少数情况下,Linux可以在只读fs上执行写操作。例如。当它检测到处于不一致状态的fs(冷重启后)并能够快速安全地修复数据时。

在使用Ubuntu Rescue Remix并写入第二个硬盘时,在安装任何东西(启动时)之前,我有过这样的修复。有关这方面的信息是在dmesg中,所以请检查dmesg。

E.g.这里是一个orphan cleanup可能on readonly fsit 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

更新:!在这里是一个列表 http://www.forensicswiki.org/wiki/Forensic_Linux_Live_CD_issues

ext3文件系统需要实现日志恢复禁用恢复:使用“空载”标志,或使用“RO,环”标志,或使用“的ext2”文件系统类型

ext4文件系统要求日志恢复要禁用恢复:使用“noload”标志或使用“ro,loop”标志或使用“ext2”文件系统类型

ReiserFS文件系统有未完成的事务“nolog”标志不起作用男子登山)。禁用日志更新:使用“ro,loop”标志

XFS总是(当卸载时)“norecovery”标志没有帮助(固定在最近的2.6内核中)。禁用数据写入:使用“ro,loop”标志

+1

EXT3-fs:INFO:只读文件系统需要恢复。 EXT3-fs:写入访问将在恢复过程中启用。 kjournald首发。我不清楚为什么需要这样做,我应该怎样调试为什么需要恢复? – lostdev

+0

使用EXT2修复了我的第二个只读分区的问题。主要仍然有一个问题,但我认为它可能不相关。在引导到linux之前它是失败的。当grub运行检查时,hashsum失败。 – lostdev

+0

哪种hashsum? (当检查原始散列值并存储时?) – osgx