Just Start Typing Text and Press Enter

alt text
WuSiYu
学生,Web开发者
2018年十月
« 8月    
1234567
891011121314
15161718192021
22232425262728
293031  

友情链接

文章归档

Menu
Close
7月 05, 2018

在Arch Linux中禁止生成/boot/initramfs-linux-fallback.img以节省/boot分区空间

0 Comment | By
1+

在Arch Linux中linux软件包安装或更新时会生成两个initramfs:initramfs-linux.img和initramfs-linux-fallback.img,后者顾名思义,就是个后备的,而其文件大小也远大于前者,足足有28MB。

对于将EFI分区直接挂在到/boot的分区方案而言(用于让UEFI直接加载内核而不用通过Bootloader),预装的Windows所自带的EFI分区只有100MB左右,这个巨大的initramfs-linux-fallback.img几乎要将它彻底占满。EFI分区可用空间过少会导致Windows10在进行大版本更新时出现“无法更新EFI系统分区”这样的错误,从而造成更新失败。

究竟是什么导致了initramfs-linux-fallback.img如此巨大?我们可以看一看/etc/mkinitcpio.d/linux.preset文件的内容,这个文件是linux软件包对mkinitcpio提供的预设文件,控制了那两个initramfs的生成:

从最后一行可以看出,这initramfs-linux-fallback.img与initramfs-linux.img区别就是其禁用了autodetect钩子,而autodetect钩子的功能为“通过生成模块白名单缩减 initramfs 的大小,白名单中仅包含 sysfs 中扫描到的模块。”,也就是说,initramfs-linux-fallback.img的不同,便是其一股脑的将许多用不到的东西,也添加进了initramfs。

也就是说,对于一般的桌面系统,这个initramfs-linux-fallback.img实际上就是个鸡肋,如果你的系统一直能正常启动,那你根本不需要它,可以删掉。但手动删除了initramfs-linux-fallback.img后,在每次内核更新时它都又会自动生成,要想一劳永逸,我们还需要修改刚才的/etc/mkinitcpio.d/linux.preset文件,删掉fallback的配置:(记着备份原版)

这样,EFI分区就可以剩下一小半的空间,足够WIndows10正常更新。

1+

Leave A Comment

Author Details
SiYu Wu 学生,Web开发者,智能硬件&IOT爱好者
Share Post