Yak*_*sha 5 format partitioning boot disk
每次在启动过程中,以下消息都会使启动画面消失一段时间并出现:
/dev/sda2: clean 185146/6553600 files, 1331445/26214400 blocks
Run Code Online (Sandbox Code Playgroud)
由于这是一个旧驱动器,这是否表明磁盘存在故障?
甚至在我格式化磁盘之前就会出现此消息。现在,即使在解散所有分区、删除所有操作系统、创建新分区和全新安装之后,这种情况仍然存在。虽然全格式化后磁盘性能有所提升。
您看到的消息来自fsck
文件系统检查和修复实用程序的输出(请参阅最后一行):
$ sudo fsck -V /dev/sdb6
[sudo] password for xieerqi:
fsck from util-linux 2.27.1
[/sbin/fsck.ext4 (1) -- /mnt/HDD] fsck.ext4 /dev/sdb6
e2fsck 1.42.13 (17-May-2015)
/dev/sdb6: clean, 4580/26566656 files, 38351198/106257408 blocks
Run Code Online (Sandbox Code Playgroud)
这意味着您的 Ubuntu 在启动时执行检查,并且实际上是在您的/etc/fstab
. 如中所述man fstab
:
第六字段(fs_passno)。
fsck(8) 使用该字段来确定引导时执行文件系统检查的顺序。根文件系统的 fs_passno 应该指定为 1。其他文件系统的 fs_passno 应该为 2。将按顺序检查驱动器内的文件系统,但将同时检查不同驱动器上的文件系统,以利用硬件中可用的并行性。如果不存在,则默认为零(不进行 fsck)。
这回答了几个问题,即为什么会发生这种情况以及如何消除它。基本上,因为它会检查你的根文件系统,我猜它已经打开,/dev/sda2
并且你要么有 Windows 分区/dev/sda1
,要么有虚拟内存的交换分区。当然,您可以通过制作最后一列来禁用启动时的检查0
(前提是您拥有sudo
或root
有权编辑此类重要的系统文件)。但是,我不会推荐它,因为毕竟它会显示文件系统的健康状态。
顺便说一句,您看到的输出行对于它实际所说的内容有些误导。您看到的是inode计数,而不是实际文件。将上面看到的输出fsck
与df -i
:
$ df -i | grep 'sdb6'
/dev/sdb6 26566656 4580 26562076 1% /mnt/HDD
Run Code Online (Sandbox Code Playgroud)
说到运行状况,systemctl -a /dev/sd<LETTER><INTEGER>
通常首选用于检查驱动器的运行状况,并通过 VALUE 列中的内容与 THRESH 列的接近程度来指示。
间接禁用启动时的另一种方法fsck
是更改执行这些检查的周期。来自tune2fs(8):
-c最大挂载计数
调整挂载次数,之后 e2fsck(8) 将检查文件系统。如果 max-mount-counts 为 0 或 -1,则 e2fsck(8) 和内核将忽略文件系统的挂载次数。
因此,您可能要做的就是运行tune2fs -c -1 /dev/sda
以禁用这些消息。
然而,根据lwn.net Max Mount Count 检查可能已默认禁用,早在 2011 年,并且正如 mikewhatever对相关问题的回答和问题中引用的une2fs(8)文档中提到的,还有其他潜在原因fsck
出现启动时(文件系统、电缆或故障 HDD 扇区等的不干净卸载)。
旁注:存在一个问题,例如这个问题,操作系统在看到消息后挂起/dev/sda1: clean
,应该注意的是,消息和启动问题并不相关 - 在许多情况下,这是安装的图形模块的问题,特别是在英伟达驱动程序。
归档时间: |
|
查看次数: |
10791 次 |
最近记录: |