0 错误描述
使用Synaptic查找破损的包,结果libc6被命中,于是就将其标志为”标记以便彻底删除“,在删除的过程中,提示还有另外一个软件包也被删除,具体是什么名字就忘了。结果导致ls、mv,synaptic等命令都不能使用了,提示说找不到这些命令!连图形界面的文件夹都打不开了。我就纳闷了,我没有删除这些命令呀,怎么都不可用了呢?
决定重启试一下,结果发现reboot、poweroff都用不上,直接图形界面中点击”关机“也无效!。
1 探索过程
(1)硬件关机,GRUB界面中选择“Ubuntu,Linux 3.2.0-34-generic-pae”,如下图所示:
结果如下图所示:
(2)根据第一行的提示”run-init:/sbin/init:No such file or directory“,可猜测应该是缺少了/sbin/init这个文件。那么,有什么解决办法呢?试一下重启,不过这次选择”Ubuntu,Linux 3.2.0-34-generic-pae(恢复模式)“,结果如下图:
从上图的中部还是可以找到”run-init:/sbin/init:No such file or directory“这样的提示,这说明根本恢复不了!
(3)将ubuntu的安装光盘插入光驱,选择光驱启动。进入光盘的系统,如下图所示:
选择“试用”模式,如下图:
点击上图中的红色圈住的图标,可弹出下图:
点击上图中红色圈住的各个图标,即可将他们挂载到系统/media中,如下图所示:
注意:这样挂载是没有写权限的,要写权限,参考《Ubuntu使用笔记_mount》。
这时候,就可以进入的各个盘中去查看文件是否有缺失。然而,经过查找发现,/sbin/init文件是存在的!那么,在上面为什么会提示”run-init:/sbin/init:No such file or directory“呢? 通过挂载硬盘,进去查看后发现boot目录是空的!这就难怪在图1.2的第3行会提示“Pid:1,comm:run-init Not tainted 3.2.0-34-generic-pae #53-Ubuntu”了。
(4)那么可否将试用系统boot中的文件复制到原来系统的boot中呢?试用系统的boot目录如下图所示:
将上述文件复制到原来系统中的boot中,还是无济于事!
(5)在虚拟机上装了一个同样版本的ubuntu系统,然后将其boot目录复制到我的电脑上的boot目录中,结果还是不行!
备注:我的电脑系统是ubunutu 12.04.1。
经仔细观察发现,无论是图1.8还是图1.9,里面都没有"3.2.0-34-generic-pae"!因此,失败也在所难免!
下图是ubuntu12.04.1在虚拟机上安装后boot目录的截图。
将图1.10和图1.8对比可知,图1.10多出了“initrd.img-3.2.0-29-generic-pae”和“vmlinuz-3.2.0-29-generic-pae”两个文件,但还是没有“3.2.0-34-generic-pae ”。将以上boot目录的文件复制到我的电脑的boot中,结果还是无济于事!
那么,将boot中的文件改名为“3.2.0-34-generic-pae”可以不可呢?经过测试,还是无效!
2 解决方法
上述尝试均未成功,只能参考《Ubuntu使用笔记_装系统》重装系统!
上图是重装系统后boot目录的截图。上图可以发现“abi-3.2.0-34-generic-pae”、“System.map-3.2.0-34-generic-pae”和“initrd.img-3.2.0-34-generic-pae”。这就解析了“Pid:1,comm:run-init Not tainted 3.2.0-34-generic-pae #53-Ubuntu”的错误提示了!