前言

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

修复方法

  • 使用u盘做一个ubuntu(你当前的系统发行版本)启动盘

    参照:https://www.linuxidc.com/Linux/2016-04/130520.htm

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

查看你原来Linux系统根目录所在的位置,如果你实在是不知道究竟哪个

是你的根目录所在的位置,你那么你可以挨个挂载一下,至于挂载是什么,我很快就会介绍到.如果你知道,那么请你记录下这个根目录所在的位置,如/dev/sda7

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

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

用命令

  1. ls /mnt

如果出现的是你熟悉的根目录的样子,那么就挂载对了,如果不是,那么请按照如上步骤重新挂载

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

  • 使用命令进行挂载

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

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

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

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

  • 进入挂载的系统
  1. chroot /mnt
  • 更新系统内核

    这步算是最为核心的内容了,修复靠的就是这个
  1. apt-get install linux-image-generic
  • 安装完成后,更新一下grub文件
  1. update-grub

安装完成

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

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

教训

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

结语

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

微信公众号:进击的程序狗

邮箱:roobtyan@outlook.com

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

扫描下面的二维码关注我吧,你将收获到意想不到的东西哟……

Linux误删所有内核,恢复内核的解决办法的更多相关文章

  1. Linux提示no crontab for root的解决办法

    Linux提示no crontab for root的解决办法 安装crontab:yum install crontabs 说明:/sbin/service crond start //启动服务/s ...

  2. Hyper-V下的Linux虚拟机网卡丢失问题原因及解决办法

    Hyper-V下的Linux虚拟机网卡丢失问题原因及解决办法   虚拟化大势所趋 公司推行了虚拟化,全部用的是Microsoft Windows 2008 R2 Enterprise with Hyp ...

  3. 分享:Windows2008重启后提示系统恢复选项的解决办法

    如题:WINdows2008服务器. 重启后提示系统恢复选项的解决办法 使用windows 2008后,不能启动的问题,重启后出现 修复系统选项 采用下面帖子中的部分命令搞定之. 我自己是直接使用:选 ...

  4. linux和windows下TIME_WAIT过多的解决办法

    http://www.51testing.com/html/48/202848-249774.html linux和windows下TIME_WAIT过多的解决办法 http://m.sohu.com ...

  5. ubuntu网络重启后或主机重启后,/etc/resolv.conf恢复原样的解决办法

    ubuntu网络重启后或主机重启后,/etc/resolv.conf恢复原样的解决办法 /etc/resolv.conf中设置dns之后每次重启该文件会被覆盖,针对这种情况找了一些个解决方法 防止/e ...

  6. linux No module named yum错误的解决办法

    linux No module named yum错误的解决办法 肯定是yum的版本与当前python的版本不一致造成的 <pre>所以修改yum的配置,修改文件: vim /usr/bi ...

  7. Linux配置Tomcat8080端口 远程无法访问解决办法

    是因为Linux的防火墙没有开放8080端口 解决办法: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT #开启8080端口  /sbin/ ...

  8. Centos7升级内核后无法启动解决办法

    前言 这个问题存在有一段时间了,之前做的centos7的ISO,在进行内核的升级以后就存在这个问题: 系统盘在板载sata口上是可以正常启动新内核并且能识别面板硬盘 系统盘插在面板口上新内核无法启动, ...

  9. Linux误删文件后恢复数据

    在Linux下,基于开源的数据恢复工具有很多,常见的有debugfs.R-Linux.ext3grep.extundelete等,比较常用的有ext3grep和extundelete,这两个工具的恢复 ...

  10. Linux服务器 大量的CLOSE_WAIT、TIME_WAIT解决办法

    http://itindex.net/detail/50213-%E6%9C%8D%E5%8A%A1%E5%99%A8-time_wait-close_wait http://itindex.net/ ...

随机推荐

  1. 关于ESP8266和ESP8285的对比

    ESP8285=ESP8266+1M Flash. 与ESP8266相比,其能耐高温达125摄氏度!且原有ESP8266源码程序可以原封不动移植使用.ESP-M1/M2 模块核心处理器采用高性价比芯片 ...

  2. Arch-base-vs-iso

    Arch-base-vs-iso 通常绝大多数的Linux分发版的iso镜像本身(*.iso文件都有约2Gb上下)都可以直接启动电脑并运行完整的Linux桌面系统. 极少数的Linux发行版仅提供命令 ...

  3. GoJS API学习

    var node = {}; node["key"] = "节点Key"; node["loc"] = "0 0";// ...

  4. Java之反射 — 用法及原理

    Java之反射 - 用法及原理 定义 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象 ...

  5. HDU 5495:LCS

    LCS  Accepts: 127  Submissions: 397  Time Limit: 6000/3000 MS (Java/Others)  Memory Limit: 65536/655 ...

  6. 利用vim查看日志,快速定位问题《转载》

    利用vim查看日志,快速定位问题 链接:https://www.cnblogs.com/abcwt112/p/5192944.html

  7. require(): open_basedir restriction in effect. File(/www/wwwroot/xcx/zerg/thinkphp/start.php) is not within the allowed path(s): (/www/wwwroot/xcx/zerg/public/:/tmp/:/proc/) in /www/wwwroot/xcx/zerg/p

    解决方法: 在如下文件增加一项(如图所示) 在如下文件增加一项(如图所示): #php文件采用fastcgi解析并设置参数    location ~ \.php {        try_files ...

  8. 109-PHP类成员初始化值

    <?php class mao{ //定义猫类 public $age=0; //定义多个属性并初始化 public $weight=50; public $color='white'; } $ ...

  9. Promise 练习

    import { ModelClass } from "engine/injector/Injector"; import { Inject } from "core/i ...

  10. Java工程师面试题

    1. J2EE 是什么?它包括哪些技术?解答:从整体上讲,J2EE 是使用 Java 技术开发企业级应用的工业标准,它是 Java 技术不断适应和促进企业级应用过程中的产物.适用于企业级应用的 J2E ...