一个这样的功能是fsck.我已经找到了如何以只读方式重新安装root和其他文件系统.既然它们是只读的,那么fsck它们然后重新启动应该是安全的.不幸的是,fsck向我抱怨文件系统已安装并拒绝执行任何 *** 作.
如何强制fsck在只读的挂载分区上运行?
根据我的研究,这将是一个模糊不清的东西. “-f”仅表示强制修复干净(但未安装)的分区.我需要修复干净或不干净的安装分区.从我读到的,这是“只有专家”应该做的事情,但没有人费心去解释专家是如何做到的.我希望有人可以向我透露这个.
顺便说一句,我注意到Gentoo上的e2fsck 1.42.4会让你fsck一个挂载的分区,甚至挂载读写,但是如果从终端运行fsck似乎只会这样做,所以它可以询问用户是否有“他们确定要做一些如此危险的事情.我不确定CentOS版本是否做同样的事情,但似乎fsck CAN修复了已安装的分区,但是当它没有从终端运行时它却完全拒绝.
一个最后的选择是我编译自己的黑客fsck.但我担心我会以某种意想不到的方式弄乱它.
谢谢!
注意:最初发布here.
更新:我认为在我写这篇文章的时候并不重要,但为了重新安装fs只读,我必须这样做:
echo s > /proc/sysrq-triggerecho s > /proc/sysrq-triggerecho u > /proc/sysrq-trigger
这是我能找到的唯一方法.其他一切抱怨文件系统忙.据我所知,这是“安全的”,但它可能与通常的方法略有不同.这可能是fsck不想修复它的原因.它仍然认为它是读写的.
解决方法 您可以fsck只读文件系统,因为只读挂载并不像读写安装那样将其标记为“脏”.写入缓存中没有任何更改可能只是部分刷新到磁盘,因此所有磁盘上的结构都是一致且安全的,以便fsck进行修改.但是,如果fsck进行了任何更改,内核的文件系统驱动程序可能会变得混乱,因为它预期保持不变的事情已经从它下面改变了.这不会影响文件系统本身的完整性(因为驱动程序没有写入它),但它可能会使运行系统不稳定.为避免这种情况,如果fsck对文件系统进行了任何更改,则应重新启动.
总结以上是内存溢出为你收集整理的Linux:强制只读挂载文件系统的fsck?全部内容,希望文章能够帮你解决Linux:强制只读挂载文件系统的fsck?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)