我的根文件系统被损坏了,为了解决这个问题,我进入了单用户模式,在卸载的根文件系统上运行fsck filesystem.My问题是,卸载根文件系统后/sbin/fsck命令是如何工作的,它的位置在哪里?
操作系统: Redhat Linux
发布于 2016-08-29 17:07:51
在linux源代码中,即使您请求卸载根文件系统,它实际上也不会发生-带有注释和棘手代码的source makes this clear:
if (mnt == current->fs->root.mnt && !(flags & MNT_DETACH)) {
/*
* Special case for "unmounting" root ...
* we just try to remount it readonly.
*/
down_write(&sb->s_umount);
if (!(sb->s_flags & MS_RDONLY))
retval = do_remount_sb(sb, MS_RDONLY, NULL, 0);
up_write(&sb->s_umount);
return retval;
}这就是为什么根文件系统上的二进制文件仍然存在;它们实际上并没有消失。
发布于 2016-08-29 17:06:10
也许它就是存在于ramdisk中的那个,它由bootloader加载,驻留在sdram中,并作为第一级根目录工作。尝试不带任何参数的命令: mount,它将准确地告诉您root当前正在使用哪个系统。
https://stackoverflow.com/questions/39200918
复制相似问题