Ubuntu 的系统恢复

前几天在做软件系统升级的时候,机器断了一次电。可能是在更新Linux Kernel 的时候出的问题,后来再也启动不了了。修改Grub以后,还是连命令行都看不见,启动进程停在一半。否则从命令行还是知道大概的解决方法的。可是现在的问题是系统根本无法起来,算是system meltdown。

当时已经到下班时间,只能郁闷地回家了。晚上想了想,写了一个类似Windows的重装计划,列出需要的软件和个人设置。回想当年用M$的时候,每半年一年重装一次算是家常便饭了,也算是对臃肿的Windows系统的彻底优化。而换用Ubuntu以来,很少有机会重装,因为系统并不随装机和开机时间变慢。这几年下来,重装一次也应该是合情合理的。

第二天很早回到办公室,打算花半天时间重装系统和软件。还好在动手前,试了试LiveCD,用上面的Ubuntu系统,上网搜了一下类似的问题。发现其实是有直观的解决方案。就是利用LiveCD上的系统,然后载入原有系统的分区,用chroot换到原来系统,就可以干任何的事情了。具体步骤如下:

(一)先用LiveCD启动,不是安装系统,而是尝试Ubuntu

(二)寻找一下原先系统的位置,由于是SATA硬盘

sudo fdisk -l /dev/sda

(三)mount原来的系统分区,然后用chroot进入原来的系统

sudo mount /dev/sda1 /mnt

sudo chroot /mnt

(四)这个时候,你已经是原来系统的root权限了,可以干任何系统修理工作,例如 apt-get,dpkg reconfigure等去修理损坏的软件包。

按照这个步骤,修理和调试了一下系统,发现已经还原成为原来一模一样的系统,总共耗时半个小时,当中还包括一次泡茶的时间。

总体感受是,用Linux,别说重装,就是重启的机会都是很少的。看到Ubuntu论坛上提议,将系统还原功能更直观地放入LiveCD,也知道这个系统一直在和用户的交互中进步。可惜到了澳洲以后,发现整个环境就是在PC/MAC下面。大学的IT部门都不支持Linux,来做硬件检查和维护的,一看我用Linux,立马退避三舍。

参考链接:LiveCD Recovery

5 Comments »

  1. Terry Said,

    14 1 月, 2011 @ 14:45

    用Linux需要重装系统一般只有这几种情况:1.自己有洁癖犯贱 2.硬盘/硬件故障 3.换机器了 LOL 如果用Gentoo,Arch Linux之类的rolling release那就更没需求了...

    IT不支持你才好,他们不管你,俺从06年开始就没和公司IT部门的人接触过,都是self-service,貌似这也是现在公司的企业文化...

  2. 杨羽 Said,

    14 1 月, 2011 @ 15:09

    @Terry 关于IT支持的问题倒是,我们不是IT专业,往往解决问题靠花时间摸索。大学各个学院和部门里都有类似的人,类似的问题,大家都靠摸索,难怪工作效率不高了。

    解决新问题也就算了,摸索还有点意思;别人很容易解决的问题,自己摸索花的时间就有点多余了。

  3. 老虎 Said,

    15 1 月, 2011 @ 00:42

    澳洲人跟美国人一样懒。所以windows是不可获缺的。不过以前学unix的时候,我们老师曾经专门写过linux。

  4. 笔记:使用 chroot 修复 Deepin - Aster Wang爱折腾 Said,

    14 2 月, 2018 @ 00:20

    […] [2] Ubuntu 的系统恢复 […]

  5. 笔记:Deepin 误删除软件包的恢复- Aster Wang爱折腾 Said,

    27 10 月, 2018 @ 13:02

    […] [2] Ubuntu 的系统恢复 […]

发表评论