昨天archlinux加内存条,调整兼容性的时候出现了这个报错,于是今天记录一下。
不正常开机、突然断电或者强制断电都有几率引起,这种属于掉盘,重新挂载即可,也是今天的文章主题。也有一部分是磁盘本身损坏,当然还有磁盘被偷。。。,这种无解
我尽量解释的清晰一些,操作步骤明白具体一些:
1.准备U盘,当时安装archlinux的启动盘,同样选择archlinux镜像进入:
# 更新系统时钟,将系统时间与网络时间进行同步: 如果不更新,有些软件无法使用,我是因为更新后邮箱一直弹安全提醒,最后发现是系统时间和网络时间不同引起
timedatect set-ntp true
# 查看状态
timedatectl status
然后输入命令 fdisk -l (我这里已经修复好的,所以加sudo权限,在命令行下直接fdisk -l即可),查看磁盘情况,我这里的数据和分区都在,机械硬盘是sdx,固态硬盘是nvme0n1巴拉巴拉
2.重新挂载,我的是将整个linux系统挂载在 /mnt 目录,将efi挂载在/mnt/boot/EFI目录下,注意有的人efi是/mnt/boot/efi,这个和你分区时的挂载目录命名有关系,还有别的命名,反正按自己的来就行。
mount /dev/nvme0n1p2 /mnt #将系统盘挂载在2分区,具体看你自己当时的设置,我自己一般将EFI设置为第一个分区
mount /dev/nvme0n1p1 /mnt/boot/EFI #将EFI挂载在1分区,注意自己的大小写及路径
3.挂载完毕,将环境切换到/mnt,即chroot
arhc-chroot /mnt
4.重新安装引导程序
grub-install target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=ARCH
注意:一些旧的主板可能出现问题,我在虚拟机上用过以下命令,也可以成功
grub-install --recheck /dev/
5.退出安装环境,分别输入以下命令
exit #退出
umount -R /mnt #卸载分区
reboot # 重启,注意按enter键后及时拔出U盘
注意重启及时拔掉U盘!