如何使用fsck检查根分区?


39

我安装了Linux Mint 12 KDE,我想检查根分区是否有任何错误。

如何在启动时使用fsck检查根分区?

Answers:



22

您也可以使用shutdown命令。

shutdown -rF now

来自人:

-F标志的意思是“ force fsck”。
这只会创建一个咨询文件/ forcefsck,当再次出现该文件时,系统可以对其进行测试。引导rc文件可以测试该文件是否存在,并决定使用特殊的“ force”标志运行fsck(1),以便甚至检查正确卸载的文件系统。之后,引导过程应删除/ forcefsck。


1
我在Linux Mint 15 MATE上尝试了此操作,并且在重启时未引起检查。但是sudo touch /forcefsck以前我做的时候工作过sudo reboot
Colin D Bennett

6
shutdownUpstart随附的不再支持该-F选项。您应该sudo touch /forcefsck改用。例如,请参见为什么从/ sbin / shutdown中删除-F?错误#74139:关机时缺少-F(force fsck)选项
pabouk

是Linux mint 12,应该可以工作

4

这是执行此操作的另一种方法:

tune2fs -C 2 -c 1 /dev/THEDEVTHATROOTIS

重启

然后将检查文件系统,一旦一切正常,您应该执行

tune2fs -c 60 /dev/THEDEVTHATROOTIS

我假设max-mount-count设置为60,您应该在发出第一个命令之前先了解一下

dumpe2fs /dev/THEDEVTHATROOTIS |grep "Maximum mount count"


4
您的回答是好的,并且...应该在大多数时间都可以工作(我的意思是在大多数标准安装的Linux上),但是,您要确保根分区是ext2,3,4格式的,如果还有xfs或reiserfs之类的东西怎么办?:)
THESorcerer 2014年

没错,这是9/10的解决方案。
g24l

2

在我的系统上(几个x86笔记本电脑和Banana Pi Pro),这sudo shutdown now使我进入了运行级别1(又称维护模式),在这里我可以安全地检查我的根FS:

mount -o remount,ro /dev/rootpartition
fsck /dev/rootpartition
reboot

无需更改/etc/fstab即可执行此操作,我有机会fsck使用解决棘手的情况所需的任何选项运行。

注:/forcefscktune2fs技巧在x86工作,但不是香蕉皮。


只要tune2fs支持(可能是嵌入式的)initramfs,就有可能使etc在任何平台上都能工作。因此,它实际上仅取决于Linux发行版。
丹尼尔·B

回答不适用于远程检查。
Sopalajo de Arrierez '16

@SopalajodeArrierez是的,您需要以单用户模式访问本地终端,因此需要命名。
德米特里·格里戈里耶夫


-3

在现代linux系统上,上述答案(使用forcefsck)无效。您必须手动执行:

  1. 通过修改有故障的分区的行,将您的根分区设置为只读模式/etc/fstab(但请记住您的旧设置):

    UUID=fd1d0fad-3a4c-457f-9b5e-eed021cce3d1 /                       ext4    remount,ro        1 1
    
  2. 重启

  3. 切换到运行级别1只是为了最大程度地减少干扰过程:

    init 1
    
  4. 修复文件系统(将/ dev / sda2替换为分区的设备),由于根分区处于只读状态,该文件系统现在应该可以工作:

    fsck /dev/sda2
    
  5. 重启。(在我的Fedora 21系统上,我必须在使用Grub2引导期间更改为运行级别1,因为否则系统由于无法在根分区上写入而被卡住了)

  6. 使您的根文件系统可读/可写:

    mount -o remount,rw /dev/sda2
    
  7. 将/ etc / fstab还原到原始状态。

  8. 重启


资料来源:http : //bitsofmymind.com/2014/03/14/how-to-fix-fsck-your-root-file-system-that-you-have-to-boot-into-on-linux/


4
您能否详细说明这些“现代Linux系统”,即符合Linux Mint的问题?
Daniel B
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.