Linux误删所有内核,恢复内核的解决办法

2,850 阅读3分钟

前言

我用df -h命令查看磁盘使用情况的时候发现,系统根目录空间已经比较小了,于是我就使用clean命令对系统内核进行清理,一不小心,就把所有的内核删除了,你很有可能也是我的这种经历,非常的崩溃.好了,我就不再废话了,让我们来看一下究竟如何修复.

修复方法

  • 使用u盘做一个ubuntu(你当前的系统发行版本)启动盘 参照:https://www.linuxidc.com/Linux/2016-04/130520.htm 意思就是使用制作工具,用u盘做一个系统,经常折腾系统的肯定知道怎么做,可以使用文章中的软件,也可以使用软碟通(我一般都是用这个).注意,只需要做成这个启动盘就可以了,不需要安装.
  • 做好后,使用u盘启动系统,选择try ubuntu ,试用ubuntu
  • 同时按下ctrl+alt+t,启动终端,我们所有的操作都是在终端中完成的.
  • 使用命令:
sudo fdisk -l

查看你原来Linux系统根目录所在的位置,如果你实在是不知道究竟哪个 是你的根目录所在的位置,你那么你可以挨个挂载一下,至于挂载是什么,我很快就会介绍到.如果你知道,那么请你记录下这个根目录所在的位置,如/dev/sda7

  • 如果你并不知道你根目录的位置,那么可以这样做,如果你知道,也可以试试,肯定用得上
mount /dev/sda7 /mnt

也就是把这个磁盘分区/dev/sda7挂载到/mnt目录下面 用命令

ls /mnt

如果出现的是你熟悉的根目录的样子,那么就挂载对了,如果不是,那么请按照如上步骤重新挂载 这里还需要说明一点,如果你的/boot目录或者其他的目录,比如/var(非常重要),原来都是安装在其他分区,而不是根目录所在的分区,那么你也需要记录下这些目录所在的分区,也要用的上.使用同样的挂载方法测试,好了,当你知道你原来系统所有文件分区的位置后,那么我们就能继续了.

  • 使用命令进行挂载 说明:我的/boot目录在/dev/sda3,/var目录在/dev/sda9 , /目录在/dev/sda7,好了,有了这些内容,就能继续了,分别输入如下的命令,基本上就能完成了,需要注意的是,下面这些命令都是需要使用管理员权限的,也就是在每条命令前面加上sudo
mount /dev/sda7 /mnt
mount /dev/sda3 /mnt/boot
mount /dev/sda7 /mnt/var
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc

上面的命令都是挂载或者链接命令,简单的讲,上述命令的作用就是后面的路径可以使用前面路径的内容了.

  • 拷贝dns解析(网络配置文件)
cp /etc/resolv.conf /mnt/etc/resolv.conf

这十分重要,否则你是无法链接网络的

  • 进入挂载的系统
chroot /mnt
  • 更新系统内核 这步算是最为核心的内容了,修复靠的就是这个
apt-get install linux-image-generic
  • 安装完成后,更新一下grub文件
update-grub

安装完成 为了安全着想,我们需要卸载掉刚刚挂载上去的分区

exit
umount /boot
umount /dev
umount /sys
umount /var
umount /proc
umount /mnt
  • 最后,拔掉启动盘,重新启动系统,你就能看到你可爱的内核又回来了

教训

以后在不了解命令的功能的情况下,就不要混乱使用sudo命令了,非常危险,数据丢失什么额都是家常便饭.....

结语

感谢您的阅读,欢迎指正博客中存在的问题,也可以跟我联系,一起进步,一起交流!

微信公众号:进击的程序狗 邮箱:roobtyan@outlook.com

个人博客:http://roobtyan.cn

如果喜欢我的文章,那就用关注来支持一下我吧! 微信公众号:

这里写图片描述