我的意思是我已经在这里了。如果没有,为什么?
答案1
不。
不要在活动或已安装的文件系统上运行 fsck。fsck
用于检查并选择性修复 Linux 文件系统。fsck
在已挂载的文件系统上运行通常会导致磁盘和/或数据损坏。
过时的方法(基于 SysVinit/upstart,Ubuntu 15.04 之前版本):
这将强制在下次启动时检查:
sudo touch /forcefsck
这也一样,但是当你按下回车键时它也会重新启动机器:
shutdown -rF now
还有更多方法(例如告诉机器转到init 1
然后卸载您想要检查的分区/磁盘)但这两种方法是最简单的。
目前(基于 systemd 的系统,Ubuntu 15.04 及更高版本)我们可以用
sudo tune2fs -c 1 /dev/sdX
用您的分区设备名称替换sdX
。1 是进行新文件系统检查的启动次数(因此 1 是每次。10 表示每 10 次启动检查一次。0 或 -1 禁用它)。
所以启动后
sudo tune2fs -c 0 /dev/sdX
来禁用它。
例子:
rinzwind@discworld:~$ sudo tune2fs -c 1 /dev/nvme0n1p3
tune2fs 1.47.0 (5-Feb-2023)
Setting maximal mount count to 1
rinzwind@discworld:~$
在具有错误文件系统的设备上使用它会出现以下错误:
inzwind@discworld:~$ sudo tune2fs -c 1 /dev/nvme0n1p1
tune2fs 1.47.0 (5-Feb-2023)
tune2fs: Bad magic number in super-block while trying to open /dev/nvme0n1p1
/dev/nvme0n1p1 contains a vfat file system
(即 /boot/EFI 那个 ;))