使用Manjaro内置更新出现了不能重起的问题。
出错现像如下图
综合找了网上很多文章,终于解决,操作如下。
一、使用安装盘启动
二、打开一个终端
三、Mount系统相关目录到/mnt,并切换系统
我的分区状况是这样的
/dev/sda1 Manjaro系统分区
/dev/sda2 Swap交换分区
/dev/sda3 boot分区(这个分区是安装时单独使用了boot分区,如果单独创建可不加载)
/dev/sda4 workspace分区(这个分区是用户自有数据分区,可根据情况是否加载)
因此,mount操作如下:
sudo su
mount /dev/sda1 /mnt
mount /dev/sda3 /mnt/boot
mount /dev/sda4 /mnt/workspace
cd /mnt
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev
mount -t devpts pts /mnt/dev/pts/
chroot /mnt
至此,已经切换到原系统目录。
四、更新系统,该过程如果出现冲突,删除本地文件后重新执行命令。
pacman -Syu
五、使用lsblk -f 或 blkid 命令显示各设备的UUID与/etc/fstab里的对比看是否一致
六、更新GRUB,我的系统是装在sda1的。
grub-install /dev/sda1
update-grub
七、重启系统OK。
修复过程中有个小坑耽误了很久,
1、启动和更新GRUB过程中都出现libjson-c.so.4无法找到,所以作了个软链接到libjson-c.so,GRUB更新是没问题了,但是还是无法启动,启动还是显示libjson-c.so.4无法找到。
2、UUID检查正常,仍然无法启动。
上面两次尝试都是没有使用pacman -Syu更新系统的,均失败。所以说看到的问题不一定是问题所在,弄了一天,很幸运在下班前解决了问题。
参考文章