Arch Linux 重新安装内核
我一共遇到两种情况:
(以Arch Linux为准)
1. 启动Linux时一直卡在clean...files, ...block界面,当时甚至无法打开`tty2`。
2. 通过grub进入Linux时,显示error: file /vmlinuz-linux-lts not found. you need to load the kernel first ,然后按下任意键就直接退出。(此情况可以先尝试更新grub配置,具体方法本文不再论述)
(懒得找具体原因,所以直接重装内核好了)
1. 下载安装镜像
安装镜像 iso 在开源镜像站或者 archlinux官方下载页面 下载。
下面是国内常用的提供 archlinux 安装镜像的开源镜像站:
- 华为开源镜像站
2. 刻录安装U盘
Windows下推荐使用 Ventoy、Rufus 进行U盘刻录。
Linux下推荐使用 Ventoy。
3. 挂载,启动U盘,进入硬盘系统
U盘启动进去后挂载根分区和启动分区,然后arch-chroot到根分区。
以下操作均在启动盘执行:
lsblk
#或
fdisk -l
#查看分区情况
找到/boot和/所在的分区,并挂载
mount /dev/${/} /mnt #挂载根分区
mount /dev/${/boot} /mnt/boot #挂载boot分区
/boot大小一般是在 260MB~300MB之间, /一般是磁盘大小的 1/4,最初安装 arch的时候分出来的分区一般编号是较大的,如我的机器上: /和 /boot分区磁盘号分别为 nvme0n1p5和 nvme0n1p6。
挂载好后进入硬盘系统:
arch-chroot /mnt
3. 安装内核,生成grub
可以通过以下命令查看内核是否存在:
ls /boot
#检查是否有以下文件:
#initramfs-linux.img
#vmlinuz-linux
如果没有,则重装Linux:
pacman -S linux #或linux-lts
对于有安装其他系统,还需执行:
pacman -S os-prober
sudo os-prober #查找系统
重新生成引导区:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
回到启动盘:
exit
重新生成分区挂载配置文件,否则系统无法启动:
rm -rf /mnt/etc/fstab
genfstab -U /mnt >> /mnt/etc/fstab
关机,拔掉U盘,重启。
poweroff