centos6中boot文件被全部删除的故障排除

/boot文件里关于启动的核心文件有三个,/vmlinuz-2.6.32-696.e16.x86_64,initramfs-2.6.32-696.el6.x86_64.img,grub.conf

方法一:

  开机进入救援模式

  chroot    /mnt/sysimgage/                切根

     mount   /dev/sr0 /mnt                 挂载光盘

  cp /mnt/ioslinux/vmlinuz   /boot/            拷贝vmlinuz文件到目录,恢复第一个文件

  mkinitrd   initramfs-`uname -r`.img  `uname -r`    命令生成第二个文件

  grub-install    /dev/sda                 生成grub目录,相当于恢复grub1,1.5,2三个阶段的文件,缺grub.conf

  vi  grub.conf                    手写缺失的grub.conf

  default=0

  timeout=5                   等待时间可修改

  title centos6                  菜单的名字随自己指定

  kernel  /vmlinuz-2.6.32-696.e16.x86_64  root=/dev/sda2            quiet rhgb selinux=0        这里的root指根目录,路径为根所在分区      quiet静默启动 rhgb图形不显示 selinux=0文件不打标

  initrd   /initramfs-2.6.32-696.e16.x86_64.img       

  退出

  重启

  重启时会碰到selinux给文件打标签,很慢,可以修改selinux

  vim  /etc/selinux/config

  SELINUX=disabled

方法二:  

  进入救援模式

  mkdir /mnt/cdrom                    因为现在根目录在/mnt下,所以在/mnt下面建个文件夹为挂载目录

  mount   /dev/sr0   /mnt/cdrom              挂载光盘

  rpm -ivh /mnt/cdrom/Packages/kernel-2.6.32-696.e16.x86_64.rpm  --root=/mnt/sysimage/  --force   因为根目录不是默认位置,所以要指定

  此时前面两个文件已经生成

  chroot /mnt/sysimage/

  grub-install    /dev/sda

  vi  /boot/grub.conf

  default=0

  timeout=5                   等待时间可修改

  title linux                     菜单的名字随自己指定

  kernel  /vmlinuz-2.6.32-696.e16.x86_64  root=/dev/sda2         quiet rhgb selinux=0        这里的root指根目录,路径为根所在分区,不是boot所在位置      quiet静默启动 rhgb图形不显示 selinux=0文件不打标

  initrd  /initramfs-2.6.32-696.e16.x86_64.img

  退出

  重启

在输入kernel 和initrd的路径时,可以在vi界面:r! 利用ls命令补全来输入路径,避免输错

在实验中,因为root和boot路径的错误,尝试无数遍,最后对比快照的grub.conf文件,找到问题,我的路径是逻辑卷下的

 /dev/mapper/vg_centos-lv_root,更改路径后解决
 
如果/boot不是独立的分区,是和/在一个分区下:
    kernel /boot/vmlinuzxxxxxx
    initrd  /boot/iniramfsxxxxx

   应该把/boot加上

/etc/fstab和/boot一起删除的故障

进入光盘救援模式

  fdisk -l          查看分区

  mkdir  /mnt/rootfs   创建挂载文件夹

  将分区一个一个的挂载查看,检查哪个是根分区

  找到然后创建/etc/fstab,手动写入文件

  重启,再进入救援模式

  恢复boot文件

  略

  。。。

centos6中若启动盘为逻辑卷,/etc/fstab和/boot一起删除的故障

  进入光盘救援模式

  fdisk -l            可以看到哪个盘是逻辑卷

  lvs             可以看到逻辑卷的信息

  mkdir /mnt/rootfs         创建root的挂载文件夹

  lvdisplay          可以看到逻辑卷的状态,显示为不可用

  vgchange  -ay         启用逻辑卷

  lvscan           逻辑卷的状态

  mount  /devVolGroup/lv_root  /mnt/rootfs    挂载根文件系统

  vim /etc/fstab         手工写入fstab文件

  reboot             再次进入光盘救援,恢复boot文件

/sbin/init文件被删除

方法一:

  进入救援模式配置网络

  从网络中拷贝init文件到目录下即可

方法二:

  进入救援模式

  从光盘中安装这个文件可以

  rpm2cpio /misc/cd/Packages/upstart-0.6.5-16.e16.x86_64.rpm | cpio -idv ./sbin/init

centos6启动故障排除的更多相关文章

  1. Linux系统之TroubleShooting(启动故障排除)

    尽管Linux系统非常强大,稳定,但是我们在使用过程当中,如果人为操作不当,仍然会影响系统,甚至可能使得系统无法开机,无法运行服务等等各种问题.那么这篇博文就总结一下一些常见的故障排除方法,但是不可能 ...

  2. 1-19-1 RHEL6启动原理和故障排除

    大纲: 一.RHEL6系统启动原理 BIOS--->mbr--->bootloader--->内核--->init--->/etc/rc.d/rc.sysinit---& ...

  3. Atitit.故障排除系列-----apache 不能启动的排除

    Atitit.故障排除系列-----apache 不能启动的排除 能直接使用cli启动httpd   ,,详细打印出信息.. C:\Users\ASIMO>"C:\wamp\apach ...

  4. centos6/7启动故障排错

    centos6启动流程修复: 实验一:删除initramfs-2.6.32-754.el6.x86_64.img进行恢复 该文件很重要initramfs-2.6.32-754.el6.x86_64.i ...

  5. 故障排除:无法启动、访问或连接到 Azure 虚拟机上运行的应用程序

    有多种原因可导致无法启用或连接到在 Azure 虚拟机 (VM) 上运行的应用程序.原因包括应用程序未在预期端口上运行或侦听.侦听端口受到阻止,或网络规则未将流量正确传递到应用程序.本文说明有条理地找 ...

  6. 细化如何安装LNMP + Zabbix 监控安装文档以及故障排除

    1.LNMP所需安装包: 上传如下软件包到/soft目录中 mysql- (centos6. 64位自带)也可根据版本自行挑选,前提你了解这个版本 pcre-8.36.tar.gz nginx-.ta ...

  7. 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除

    目录 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除 18.1 centos6系统启动过程及相关配置文件 18.1.1 centos6系统启动过程 18.1.2 centos6启 ...

  8. 理解 OpenStack + Ceph (7): Ceph 的基本操作和常见故障排除方法

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

  9. 第十篇 Replication:故障排除

    本篇文章是SQL Server Replication系列的第十篇,详细内容请参考原文. 复制故障排除是一项艰巨的任务.在任何复制设置中,都涉及到很多移动部件,而可用的工具并不总是很容易识别问题.Th ...

随机推荐

  1. Corn Fields(模板)

    题目链接 #include <stdio.h> #include <algorithm> #include <string.h> #include <iost ...

  2. D. Blocks 数学题

    Panda has received an assignment of painting a line of blocks. Since Panda is such an intelligent bo ...

  3. 【转载】Ubuntu16.04安装最新版nodejs

    安装最新版nodejs 更新ubuntu软件源 sudo apt-get update sudo apt-get install -y python-software-properties softw ...

  4. js页面可视区域懒加载

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. linux下指定特定用户执行命令

    虽然很简单但是百度找的大部分不能用,我是没找到,后来从google找到的 sudo -H -u www bash -c 'nohup /home/web/ke/upfileserver /home/w ...

  6. Collection-Iterator-foreach

    一.Collection(java.util) 1.概述:具有相同性质的一类事物的汇聚的整体,称为集合.任何集合都包含三块内容:对外的接口/接口的实现/对集合运算的算法.         java中使 ...

  7. 关于死循环while(true){}或for(;;){}的总结

    关于死循环while(true){}或for(;;){}的总结 1.基本用法: while(true){     语句体; } for(;;){     语句体; } 以上情况,语句体会一直执行. 2 ...

  8. virtualapk爬坑心得

    1.宿主和插件的工程build.gradle必须是 com.android.tools.build:gradle:2.1.3 gradle-wrapper 必须是 gradle-2.14.1-all ...

  9. 纪念Google Reader—Google Reader的最后一天

    从2006年到今天,几乎每天我都会打开Google Reader,但是今天不一样,因为它是最后一天.心情有些依依不舍,像是与一位多年老朋友永别.因此我非常痛恨Google,先给你送来个好朋友,再从你身 ...

  10. 代码管理_Git中获取两个标签之间的变更代码行数

    操作步骤: 1.先进入git的服务器,定位到 repositories 目录 2.再定位到具体的项目目录(登录bitbucket查看项目属性可以看到项目的存放目录),如下图: 3.浏览项目的标签,命令 ...