摘要
给U盘装了archlinux后,没注意把固态上archlinux的/etc/fstab分区挂载配置文件修改了,以为是grub又坏了,干脆把挂载在/boot下的EFI 系统格式化了,孙子云:“置之死地而后生。” 从头开始
准备
插网线,喝热水
过程
U盘启动进去后挂载根分区和启动分区,arch-chroot到根分区
1
2
3
4
5lsblk
mkfs.vfat -F32 /dev/${/boot} # ${/boot} 启动分区
mount /dev/${/} /mnt # ${/} 根分区
mount /dev/${/boot} /mnt/boot
arch-chroot /mnt以上操作只能在启动盘进行,如果用完整的archlinux系统,则没有arch-chroot以及pacstrap命令
如果使用chroot代替arch-chroot命令后,执行pacman会报非本用户错误重新生成引导区
1
2grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg查看有没有Linux的入口
1
cat /boot/grub/grub.cfg
如果没有入口
1
ls /boot
查看是否有下列文件
1
2
3initramfs-linux.img
intel-ucode.img
vmlinuz-linux如果没有,重装linux
1
pacman -S linux
如果报错
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.cinnamon.SettingsDaemon was not provided by any .service files
因为pacman检测到非原来用户执行,则可以执行下面命令1
mkinitcpio -p linux
重新加载内核模块,生成文件
再执行1
2grub-mkconfig -o /boot/grub/grub.cfg
ls /boot可以看到有了三个文件
退出/mnt根分区,回到启动盘1
2
3
4initramfs-linux.img
intel-ucode.img
vmlinuz-linux
exit- 重新生成分区挂载配置文件
先删除原来的分区挂载配置文件,不然无法挂载分区,系统无法启动,再生成fstab文件查看生成的硬盘UUID和分区命名,一致即可1
2rm -rf /mnt/etc/fstab
genfstab -U /mnt >> /mnt/etc/fstab1
2
3
4ls -l /dev/disk/by-uuid
cat /mnt/etc/fstab
exit
poweroff - 设置UEFI
本人电脑为DELL