Linux操作系统启动故障排错之"/boot"目录被删除恢复案例

                                      作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.模拟删除/boot分区

1>.查看/boot分区

[root@yinzhengjie ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_node200-lv_root
50G .6G 44G % /
tmpfs .9G 72K .9G % /dev/shm
/dev/sda1 477M 41M 411M % /boot
/dev/mapper/vg_node200-lv_home
439G 71M 417G % /home
[root@yinzhengjie ~]#

2>.查看/boot分区下文件所在软件包

[root@yinzhengjie ~]# ll /boot/
total
-rw-r--r--. root root Jun config-2.6.-.el6.x86_64
drwxr-xr-x. root root Dec : efi
drwxr-xr-x. root root Dec : grub
-rw-------. root root Dec : initramfs-2.6.-.el6.x86_64.img
-rw-------. root root Dec : initrd-2.6.-.el6.x86_64kdump.img
drwx------. root root Dec : lost+found
-rw-r--r--. root root Jun symvers-2.6.-.el6.x86_64.gz
-rw-r--r--. root root Jun System.map-2.6.-.el6.x86_64
-rwxr-xr-x. root root Jun vmlinuz-2.6.-.el6.x86_64
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# rpm -qf /boot/config-2.6.-.el6.x86_64
kernel-2.6.-.el6.x86_64
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# rpm -qf /boot/initramfs-2.6.-.el6.x86_64.img
kernel-2.6.-.el6.x86_64
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# rpm -qf /boot/initrd-2.6.-.el6.x86_64kdump.img
file /boot/initrd-2.6.-.el6.x86_64kdump.img is not owned by any package
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# rpm -qf /boot/symvers-2.6.-.el6.x86_64.gz
kernel-2.6.-.el6.x86_64
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# rpm -qf /boot/System.map-2.6.-.el6.x86_64
kernel-2.6.-.el6.x86_64
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# rpm -qf /boot/vmlinuz-2.6.-.el6.x86_64
kernel-2.6.-.el6.x86_64
[root@yinzhengjie ~]#

3>.模拟删除/boot分区文件内容

[root@yinzhengjie ~]# rm -rf /boot/*
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# ll /boot/
total 0
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# reboot       #重启后发现操作系统无法正常启动,如下图所示。
Broadcast message from root@yinzhengjie
(/dev/pts/0) at 0:01 ... The system is going down for reboot NOW!
[root@yinzhengjie ~]#

二.使用光盘选择救援模式进行恢复

1>.将光盘连接到虚拟机

2>.将光盘设置为第一个boot引导

3>.按回车同意

4>.选择"Rescue installed system"(救援模式)

5>.选择语言为"English"

6>.选择键盘类型为"us"

7>.不设置网络

8>.选择"Continue"

9>.选择ok

10>.继续选择ok

11>.输入回车进入命令行

12>.按住kernel相关软件包(恢复内核)

13>.安装grub

14>.手动编写grub.conf文件后退出shell(恢复grub)

15>.选中重启菜单并选择"ok"

16>.重启机器时需要将硬盘的优先级调高(选中Hard Drive按住"+"会增加优先级)

17>.输入回车同意保存配置

18>.查看进入到菜单栏选项

19>.后来操作系统就重启成功啦

Linux操作系统启动故障排错之/boot目录被删除恢复案例的更多相关文章

  1. Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例

    Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模拟故障 [root@yinzhe ...

  2. Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例

    Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.删除"/sbin/ini ...

  3. linux初学者-系统启动故障篇

    linux初学者-系统启动故障篇 在系统的操作中,有时会不小心误删或者操作失误使得系统启动不起来,下文将列举几种常见的系统启动失败的情况及解决的办法. 1.删除或者覆盖mbr的446个字节 mbr的4 ...

  4. Linux操作系统启动流程梳理

    接触linux系统运维已经好几年了,常常被问到linux系统启动流程问题,刚好今天有空来梳理下这个过程:一般来说,所有的操作系统的启动流程基本就是: 总的来说,linux系统启动流程可以简单总结为以下 ...

  5. Linux操作系统启动流程

    一般来说,所有的操作系统的启动流程基本就是: 总的来说,linux系统启动流程可以简单总结为以下几步:1)开机BIOS自检,加载硬盘.2)读取MBR,进行MBR引导.3)grub引导菜单(Boot L ...

  6. Linux 操作系统启动流程

    1.加载bios bios中包含的硬件CPU 内存 硬盘等相关信息 2.读取MBR 读取完bios信息之后,计算机会查找bios制定的硬盘MBR引导扇区,将其内容复制到 0x7c00 地址所在的物理内 ...

  7. [转] Linux操作系统启动流程

    总启动流程 这部分转自:https://www.cnblogs.com/liang-io/p/9651656.html 一般来说,所有的操作系统的启动流程基本就是: 总的来说,linux系统启动流程可 ...

  8. Linux操作系统启动流程浅析

    启动BIOS程序 当电源键按下之后,BIOS(Basic nput Output System)就会由主板上的闪存来运行.BIOS程序会把自己解压缩到系统的内存之中,然后读取CMOS(Compleme ...

  9. 简述linux操作系统启动流程

    Linux启动流程 POST-->BootSequence(BIOS)->Bootloader(MBR,grub)-->kernnel(ramdisk,initrd)-->ro ...

随机推荐

  1. [转].gitignore文件不起作用的解决方案

    .gitignore文件不起作用的解决方案 觉得有用的话,欢迎一起讨论相互学习~Follow Me 转载地址 https://www.cnblogs.com/liugp/p/10399282.html ...

  2. 多用户同时操作一条Mysql记录问题

    场景:两个用户同时读取了数据库中的一条记录,此时用户A对其中一个字段的值进行了修改操作并进行了提交,后来用户B也对这个字段进行了修改,用户B的提交将会覆盖用户A提交的值 关于乐观锁和悲观锁 悲观锁:每 ...

  3. python中将函数赋值给变量时需要注意的一些问题

    python中将函数赋值给变量时需要注意的一些问题 变量赋值是我们在日常开发中经常会遇到的一个问题,本文主要给大家介绍的是关于python将函数赋值给变量时需要注意的一些问题,分享出来供大家参考学习, ...

  4. 【转】kettle7.1资源库无法打开,找不到connect按钮的问题处理

    转自:https://www.aboutyun.com/home.php?mod=space&uid=71645&do=blog&id=3535 kettle是一个比较好用的E ...

  5. 快速读取TXT几百万行数据, 然后插入到数据,SqlBulkCopy功能的确是有效率

    public static void Main(string[] args) { string strPath = "F:\\Download\\600.txt"; int lin ...

  6. 【jquery】【jqGrid】设置不能多选

    onSelectAll:function(rowids,statue){ layui.layer.msg("请选择单条记录"); $("#jqGrid").jq ...

  7. c++中共享内存原理及实现

    共享内存 (也叫内存映射文件) 主要是通过映射机制实现的 , Windows 下进程的地址空间在逻辑上是相互隔离的 , 但在物理上却是重叠的 ; 所谓的重叠是指同一块内存区域可能被多个进程同时使用 , ...

  8. 004 Thymeleaf学习笔记

    1.Thymeleaf概述 SpringBoot并不推荐使用jsp,但是支持一些模板引擎技术:Freemarker.Thymeleaf.Mustache. 简单说, Thymeleaf 是一个跟 Ve ...

  9. Python代码约定

    建议遵守以下约定: 使用 4 个空格来缩进 永远不要混用空格和制表符 在函数之间空一行 在类之间空两行 字典,列表,元组以及参数列表中,在 , 后添加一个空格.对于字典,: 后面也添加一个空格 在赋值 ...

  10. 池化方法总结(Pooling)

       https://blog.csdn.net/mao_kun/article/details/50507376 在卷积神经网络中,我们经常会碰到池化操作,而池化层往往在卷积层后面,通过池化来降低卷 ...