「引导修复」记一次swap分区未挂载及电脑开机过慢的解决过程

原创
文章目录

本文最后更新于 <span id="expire-date"></span> 天前,文中部分描述可能已经过时。

Arch 被玩坏了,手贱装个 Kali 玩玩,结果 Deepin 系统开机等得人胡子都长了(另一个 Windows 开机倒是好好的),白天干着正事吓得不敢再关机,晚上抽空一边解决一边瞎记录。

关键词:fstab、UUID、mdadm: No arrays found in config file or automatically

$ systemd-analyze
Startup finished in 16.460s (firmware) + 3.707s (loader) + 35.443s (kernel) + 3min 845ms (userspace) = 3min 56.455s
graphical.target reached after 1min 39.534s in userspace

sudo micro /boot/grub/grub.cfg

可以看见里面还有 Arch 相关的内容。(明明那个分区已经变成 Kali 的形状了)

咱这启动分区只给了 100 M,还是趁早删掉不必要的启动项为妙。

cd /boot/efi/EFI
ls
# Arch/ Boot/ kali/ Microsoft/ ubuntu/ UOS/
sudo rm -rf Arch/ # 慎重

开机过程中按 Ctrl + Alt + F2 进入 tty ,抓紧时间手机拍照记录。

IMG_20210325_204025

发现两条比较显眼的报错:

mdadm: No arrays found in config file or automatically

A start job is running for /dev/disk/by-uuid/754681cb-4bf4-4e26-8ec9-88a7bd953cc5 (53s / 1min 30s)

一番询问,估计是 fstab 的问题。

sudo micro /etc/fstab

# /dev/nvme0n1p4
UUID=7d83ac47-2362-402e-96aa-39307313bfa6 / ext4 rw,relatime 0 1

# /dev/nvme0n1p1 LABEL=EFI\040system\040partition
UUID=4843-B1F2 /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 2

# /dev/nvme0n1p5
UUID=754681cb-4bf4-4e26-8ec9-88a7bd953cc5 none swap defaults,pri=-2 0 0

sudo blkid

/dev/nvme0n1p5: UUID="3391ba57-2b68-4edf-9ebc-1a314c082e4a" TYPE="swap" PARTUUID="fdaf5a3a-2ee5-43c4-89d8-eb5eb802fe5d"

果然是因为 swap 分区的 UUID 变了,而 fstab 文件没有及时更新,无法正确对应,自然也就不能挂载 sawp 分区。

解决办法不用说,修改为正确的 UUID 。

然后更新 grub2:

$ sudo update-grub2
Generating grub configuration file ...
Found theme: /boot/grub/themes/deepin/theme.txt
Found background image: /boot/grub/themes/deepin/background.jpg
Found linux image: /boot/vmlinuz-5.10.5-amd64-desktop+
Found initrd image: /boot/initrd.img-5.10.5-amd64-desktop+
Found linux image: /boot/vmlinuz-5.4.70-amd64-desktop
Found initrd image: /boot/initrd.img-5.4.70-amd64-desktop
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Found Kali GNU/Linux Rolling on /dev/nvme0n1p6
Adding boot menu entry for EFI firmware configuration
done

重启……

还是很慢,不过好歹 swap 挂载上了,休眠功能可用。


再进 tty

mdadm: No arrays found in config file or automatically

这条报错还在。

继续搜索如何解决,得到的答案是重新生成 initramfs 。

$ sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.10.5-amd64-desktop+
cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries
nor crypto modules. If that's on purpose, you may want to uninstall the
'cryptsetup-initramfs' package in order to disable the cryptsetup initramfs
integration and avoid this warning.
setupcon is missing. Please install the 'console-setup' package.
W: plymouth: The plugin label.so is missing, the selected theme might not work as expected.
W: plymouth: You might want to install the plymouth-themes package to fix this.
W: Possible missing firmware /lib/firmware/amdgpu/green_sardine_gpu_info.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_gpu_info.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_asd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/green_sardine_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/green_sardine_asd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/green_sardine_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/green_sardine_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/green_sardine_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/green_sardine_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/green_sardine_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/green_sardine_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/green_sardine_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi10_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_vcn.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/green_sardine_vcn.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_vcn.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navy_flounder_smc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_smc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/green_sardine_dmcub.bin for module amdgpu
I: The initramfs will attempt to resume from /dev/nvme0n1p5
I: (UUID=3391ba57-2b68-4edf-9ebc-1a314c082e4a)
I: Set the RESUME variable to override this.
live-boot: core filesystems devices utils udev blockdev dns.

好眼熟,装 Deepin 的时候就有类似的输出。

重启……

开机速度正常啦 (≧▽≦)/

$ systemd-analyze
Startup finished in 12.088s (firmware) + 3.415s (loader) + 7.980s (kernel) + 10.615s (userspace) = 34.101s
graphical.target reached after 10.603s in userspace

🤔:update- 按 tab 键的时候,出现好多看样子可以更新的待选项目,或许就是由于其中某项没有及时更新导致 firmware 速度被拖慢(正常情况应该是 3 秒左右而现在是 12 秒)`

本文作者:青菜芋子

本文链接: https://loafing.cn/posts/fstab-swap-UUID-update-grub-and-initramfs.html

文章默认采用 CC BY-NC-SA 4.0 许可协议,如有转载请注意遵循。

评论

您所在的地区可能无法访问 Disqus 评论系统,请切换网络环境再尝试。