关于fallback initramfs与普通initramfs的区别

每次通过GRUB启动Linux的时候,都会有两个选项,一个是initramfs-linux.img,另一个是initramfs-linux-fallback.img。我一直不知道fallback有什么特殊功能,直到我看到了ArchWiki上的mkinitcpio条目。

每次升级内核,mkinitcpio都会默认创建两个内存盘镜像:默认镜像/boot/initramfs-linux.img和fallback镜像/boot/initramfs-linux-fallback.img。fallback镜像和默认镜像只有一个区别,就是创建时跳过了autodetect钩子扩展,因而它包含更多的内核模块。autodetect扩展会探测硬件信息,针对硬件向镜像添加需要的模块,因此缩小了镜像。

原来只是比普通的initramfs包含了更多的驱动,难怪我更换设备之后只能通过fallback启动。

# david @ David-PC in ~ [2:49:51] 
$ ls -alh /boot
总用量 49M
drwxr-xr-x 1 root root  164  5月 29 10:55 .
drwxr-xr-x 1 root root  122  5月 29 09:43 ..
drwxr-xr-x 3 root root  16K  1月  1  1970 efi
drwxr-xr-x 1 root root   98  5月 29 23:39 grub
-rw-r--r-- 1 root root  30M  5月 29 10:53 initramfs-linux-fallback.img
-rw-r--r-- 1 root root 9.2M  5月 29 10:52 initramfs-linux.img
-rw-r--r-- 1 root root 3.0M  5月 22 03:13 intel-ucode.img
-rw-r--r-- 1 root root 6.5M  5月 29 09:45 vmlinuz-linux

体积也有明显区别。

posted @ 2020-05-29 19:14  徐艺扬  阅读(2529)  评论(2编辑  收藏  举报