今天我开始遇到一个恼人的问题。当我启动 Ubuntu 15.04 时,它每次都会在一个磁盘上运行 fsck。我已经将此问题的原因定位在我的/home
分区上,该分区位于/dev/sda5
。从 完全禁用其启动 fsck 后/etc/fstab
,它不再在任何磁盘上运行 fsck。即使没有运行 fsck,分区看起来也很干净。
另外,在禁用 fsck 程序后(在摆脱 fsck 之前这也花费了大量时间),Ubuntu 需要很长时间才能启动(1 分 30 秒),即使它/
位于 SSD 上。
稍微混合一下,我刚刚将根分区移到了上面提到的 SSD 上。在我这样做之前,fsck 问题已经出现,但启动缓慢的问题并没有出现。
这是我的sudo tune2fs -l /dev/sda5
:http://pastebin.com/8fr7ZWCk
请告知我应包含的任何其他信息/日志。
编辑:
查看dmesg
输出,我发现这个任务相当耗时:
[ 7.019883] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input18
[ 7.020394] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input19
[ 7.020611] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input20
[ 7.020736] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input21
[ 96.330932] cgroup: new mount options do not match the existing superblock, will be ignored # this one is taking very long
[ 96.348967] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 96.348969] Bluetooth: BNEP filters: protocol multicast
[ 96.348972] Bluetooth: BNEP socket layer initialized
[ 96.352761] Bluetooth: RFCOMM TTY layer initialized
我刚刚注意到我的交换分区在 fstab 中引用了错误的 UID。我更改了它(并重新安装了 NVidia 驱动程序),现在系统只需 7 秒即可启动!
答案1
更具体地说,对于任何发现此错误的人,您的系统中/etc/fstab
应该有所有驱动器及其已安装的目录。每个磁盘行的末尾都有两个数字。如果第二个数字是 2 或 1,它将执行不同级别的 Fs 检查。
如果您不想fs-check
每次启动时都运行,请将末尾的两个数字都设置为 0。就这样。然后保存并重新启动。不再需要 Fs 检查!
答案2
我找到了问题的原因。
在 中/etc/fstab
,交换分区引用了不存在的分区 UID。我更新了它,现在我的系统可以正常启动了!
答案3
对我来说,解决方案是编辑 /boot/grub/grub.cfg(当然,在完成复制之后),我找到包含 linux /boot/vmlinuz + YOUR KERNEL VERSION 的行,并在行末添加 fastboot。执行 sudo update-grub 后。完成后,fsck 不会在启动时执行更多操作。当然,如果您没有以一定频率执行 fsck 的脚本,则有点危险。