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到根分区。
以下操作均在启动盘执行:
找到/boot和/所在的分区,并挂载
- mount /dev/${/} /mnt #挂载根分区
- mount /dev/${/boot} /mnt/boot #挂载boot分区
复制代码
/boot大小一般是在
260MB~300MB之间,
/一般是磁盘大小的
1/4,最初安装
arch的时候分出来的分区一般编号是较大的,如我的机器上:
/和
/boot分区磁盘号分别为
nvme0n1p5和
nvme0n1p6。
挂载好后进入硬盘系统:
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
复制代码
回到启动盘:
重新生成分区挂载配置文件,否则系统无法启动:
- rm -rf /mnt/etc/fstab
- genfstab -U /mnt >> /mnt/etc/fstab
复制代码
关机,拔掉U盘,重启。
|