查看启动信息
dmesg -T > boot.txt
692 [日 11月 25 20:18:39 2018] usb 1-7: New USB device found, idVendor=8087, idProduct=0a2a, bcdDevice= 0.01
693 [日 11月 25 20:18:39 2018] usb 1-7: New USB device strings: Mfr=0, Product=0, SerialNumber=0
694 [日 11月 25 20:19:09 2018] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
695 [日 11月 25 20:19:09 2018] systemd[1]: RTC configured in localtime, applying delta of 480 minutes to system time.
发现在693到694行之间(成功挂载系统分区)用了30秒,导致的启动卡顿。
查看分区的uuid
方法1. lsblk -f #可以查看分区的类型,如swap
方法2. ls -l /dev/disk/by-uuid/ #只能查看分区id
修改为新的swap分区的uuid
vim /etc/initramfs-tools/conf.d/resume
更新初始化虚拟磁盘
update-initramfs -u
问题原因
摘自知乎[Norlan的专栏](https://zhuanlan.zhihu.com/p/36474776)
linux系统启动时,需要一个挂载kernel的目录,这个目录的配置信息就是由initramfs-tools来提供的,不过这个目录并不存在于硬盘上,而是直接存在于内存中。所以引导程序会先读取initramfs-tools的配置信息,以获取这个文件或分区的信息,但是我的系统中相应的信息没有修改,导致引导程序还按照以前的信息去加载
来自对update-initramfs命令man文档的意译
update-initramfs脚本管理本地机器上的initramfs映像,它可以操作/boot中现有的initramfs存档。它有创建,更新或删除有三种操作模式。您必须至少指定其中一种模式。initramfs是一个gzip压缩包,在引导时,内核将该存档解压缩到RAM磁盘中,安装并将其用作初始的根文件系统。之后挂载真正的根分区需要的所有操作都发生在这个早期的用户空间中。
摘自CSDN[/boot目录介绍](https://blog.csdn.net/dulin201004/article/details/7396968)
initrd的全名是initial ram disk,就是启动系统所需加载的虚拟磁盘。在系统启动过程中,kernel、initrd和system module是依次加载的。initrd包含一部分内核模块,主要是一些关键的外部硬件,如SATA、SCSI和USB等外设。它如果失败当然也会影响系统启动。而system module这些系统中的模块,是与支持和启动无很大关系的硬件有关,如果没有这些硬件设备的支持,系统也可以启动完成,只是存在功能上的缺失,如声卡、网卡、显卡等。这些系统模块也可以在启动后,以modprobe的方式载入模块使用。