第一次使用fsck
目录/Directory
事件的起因
昨天下午,我打开电脑,启动了我的ArchLinux操作系统,然后登录进系统,然后熟练的敲入了startxfce4
命令,启动了X窗口系统。
然后进入系统后发现,窗口管理器不工作了,也就意味着无法关闭窗口,无法切换窗口,很多功能无法使用。哪里不对劲。
果然,没多久,在控制台上跳出一堆信息,其中我看到了” Disk I/O error”, “dev sda”, “sector 500708224”。
事情的发展
出了问题就要排查,原因很简单,就是磁盘出错了导致文件内容无法读出,可能损坏的文件正好是窗口管理器,所以窗口系统就成了这样,非常合理和有逻辑。
检查磁盘文件错误据我所知就是fsck
。 不过拜我电脑各种磁盘的稳定性,从来没有用过这个命令,所以这次就有了这么个机会。但是问题是fsck
只能在卸载的磁盘分区上运行错误处理程序,我这次的错误应该是在根分区上,所以必须得有个紧急启动盘,能够让我进入另外一个linux
系统。
我手头上没有这种系统盘。只能从头开始做个。
系统当然选Ubuntu最好了,Live盘就是一个完整的系统,下载也快,各种教程也方便。于是直接去Ubuntu的网站下载最新的映像,然后找了一个windows系统,安装了老毛桃启动优盘制作工具,将Ubuntu的映像写入到了优盘中。这一切做好了后,将优盘插入USB接口,然后重启电脑,顺利进入Ubuntu系统。
进入到了Ubuntu系统后,就发现了原来的硬盘和其分区,然后寻找适合的fsck
程序,由于我的分区是ext4
格式的,所以就用fsck.ext4
。
执行fsck.ext4 -v -c
,然后是漫长的等待,我的整个检查过程持续了一个多小时。在结束的时候发现了6个错误,然后按照提示进行了修复(实际上也没修复,因为文件已经损坏无法读取了),成功结束。
然后硬盘重启,进入ArchLinux系统,等待了许久,没有跳出”disk error“的错误。
然后进入X系统,发现窗口管理器依然没有加载进来。因此只有重装窗口管理器。我用的窗口管理器是xfwm
。
重装后系统正常。
总结
-
之前发生的disk error应该是逻辑损坏,也就是文件数据出了错,物理上应该没有损坏。
-
fsck
还是挺管用的。 -
有一个基于优盘的Linux系统非常重要。
-
之所以会出现disk error的错误,我反省可能存在着非正常关机,或者经常在系统待机的情况下带着笔记本到处跑,因为总是以为Linux系统是健壮的。但是实际上还是会出问题的,所以还是要爱惜自己的计算机。