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

用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
  • 最后,拔掉启动盘,重新启动系统,你就能看到你可爱的内核又回来了

教训

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

结语

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

微信公众号:进击的程序狗 邮箱:roobtyan@outlook.com 个人博客:http://roobtyan.cn

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏静默虚空的博客

DNS 协议入门

域名系统 (DNS) 的作用是将人类可读的域名 (如,www.example.com) 转换为机器可读的 IP 地址 (如,192.0.2.44)。

55120
来自专栏奔跑的蛙牛技术博客

数据库编程

某些jdbc的jar文件自动注册为jar文件,不支持的话需要手动注册,可以在java程序注册,可以通过命令行注入

12430
来自专栏xiaoxi666的专栏

Git中的"pull request"真正比较的是什么?

利用git版本控制工具时,我们通常会从主分支拉出新分支进行开发,开发完成后创建pr(也就是pull request),让其他小伙伴帮忙review,确定代码没有...

15610
来自专栏木子昭的博客

一行命令, 静态json变身api

20230
来自专栏猿份到

maven私服快速入门

android 开发时,类库依赖管理一般是拷贝到相应 libs 目录然后配置文件中引用该类库,或者引用 jceneter 中第三方类库等。 前者...

31280
来自专栏IT可乐

Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令

  通过前面两篇博客,我们介绍了Linux系统的权限管理。Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这...

220100
来自专栏Java技术分享

关于RBAC(Role-Base Access Control)的理解

基于角色的访问控制(Role-Base Access Control) 有两种正在实践中使用的RBAC访问控制方式:隐式(模糊)的方式和显示(明确)的方式。 今...

21950
来自专栏北京马哥教育

Python之包管理工具快速入门

学Python最简单的方法是什么?推荐阅读:30万年薪Python开发工程师成长魔法 在Python环境中已经有很多成熟的包,可以通过安装这些包来扩展我们的程序...

30350
来自专栏GreenLeaves

Oracle 基础系列之1.1 oracle的安装

一、 1、以下是安装Oracle的一些硬件上的条件: (1)、操作系统最后是windows2000(也就是服务器版的操作系统) (2)、内存最好在1G以上,当然...

257100
来自专栏应用案例

Hexo博客的安装部署及多电脑同步

Hexo安装教程很多,我这里尽可能的讲的细一些,把容易踩坑的地方以及后期多电脑同步所遇到的问题列出来,以便给自己及大家参考。本文主要讲解安装部署后源文件同步问题...

1.4K70

扫码关注云+社区

领取腾讯云代金券