用chroot修复Linux系统

我用的操作系统是deepin
自己手残,卸载了某个软件,导致无法进入桌面环境,且没有办法进入其他tty。

既然我清晰地记得是因为卸载某个软件导致的这个问题,那么就有解决办法了。我只要把这个软件装回去就好啦!所以我需要能够使用apt工具

还好一直保留者deepin的live系统
进入live系统后我进行了如下操作:

  1. 将要修复系统的根分区挂载到/mnt目录下,如果还有其它分区都统一以/mnt为根目录进行挂载:
# 备注,sda5是我的根分区,sda6是我的home分区。请根据实际情况执行指令
sudo mount /dev/sda5 /mnt
sudo mount /dev/sda6 /mnt/home 

系统运行的时候还需要其它的一些虚拟分区【一些和设备有关的分区,这句话对不对各位看官自行斟酌】

# 这条命令依次将live系统的 /dev /dev/pts /proc /sys /run 分区挂载到要修复的
# 系统的根目录,这些分区在系统运行的时候是需要的
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
  1. chrootmnt目录下
    sudo chroot /mnt
    这步执行完了之后,就登录到了要修复的系统的root账户

  2. 安装我不小心删掉的软件
    在这一步,遇到了困难,apt没办法解析软件源的地址packages.deepin.com。ping了一下packages.deepin.com对应的ip地址,是通的,估计是dns的服务没启动吧,然后改了一下/etc/hosts,搞定

deepin是我用得最久的Linux桌面发行版。现在用的电脑已经一年多没有重装系统了

    原文作者:Daryl_Xu
    原文地址: https://www.jianshu.com/p/bbc47ac7f512
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞