注意,本篇适用于在pacman升级时*linux.img丢失的情况

原因

使用zinit安装了fzf插件后,fzf的alias与部分命令冲突,导致应用编译会调用到fzf。导致hook执行失败,无法生成*linux.img

解决

找了个ubuntu启动盘启动,chroot后,挂载一些必须挂载的设备

随便啥启动盘都可以,可以进入linux环境即可

1
2
3
4
5
# 挂载设备
mount -t proc proc /yourRootMnt/proc/
mount -t sysfs sys /yourRootMnt/sys/
mount -o bind /dev /yourRootMnt/dev/
mount -t devpts pts /yourRootMnt/dev/pts/

执行pacman -S linux

确保执行完钩子函数,并且生成了*linux.img

一般来说这样就可以了,如果还有问题的话需要更新一下grub.cfg

grub-mkconfig -o /path/to/grub.cfg

参考

pacman Arch Linux 中文维基