Arch Linux 无法启动解决过程记录

Arch Linux 无法启动解决过程记录

(以下均以我的Arch Linux为准)

这一切的起因是yay -Syu。(在执行该命令时千万不要手贱关机!!!)

我一共遇到两种情况:

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当时查看日志没记错的话是内核冲突/出问题了,2甚至找不到内核,也试过更新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分区磁盘号分别为 nvme0n1p5nvme0n1p6

挂载好后进入硬盘系统:

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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部