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. thinkPHP5 tablib标签库自定义方法

    具体可以参照thinkphp\library\think\template\taglib\Cx.php这里面的写法我在common模块下新建了一个文件夹taglib,新建了一个Test.php文件 n ...

  2. 启动Eclipse时,出现 “Failed to load the JNI shared library "C:\Program Files\java\jdk1.7.....\jvm.dll"

    原因1:给定目录下jvm.dll不存在. 解决方法:(1)重新安装jre或者jdk并配置好环境变量. (2)copy一个jvm.dll放在该目录下. 原因2:eclipse的版本与jre或者jdk版本 ...

  3. C# string.Empty

    在C#中,如果赋值一个字符串为空白字符串,我们一般会用“”的形式对字符串进行赋值操作,其实在C#的字符串类String类中,有个专门的常量string.Empty来代表空字符串,可直接在赋值的时候使用 ...

  4. ORACLE索引的作用及用法

    https://blog.csdn.net/qq_34895697/article/details/52425289

  5. windows 2008 r2或win7安装SP1补丁,安装sqlserver 2012

    说明:安装sql server 2012时,win7和win2008r2系统都需要打sp1补丁. 1.SP1补丁下载地址(建议用迅雷下载): http://download.microsoft.com ...

  6. c#基础值类和引用类型_字符串

    值类型和引用类型区别:1.值类型和引用类型在内存上存储的地方不一样.2.在传递值类型和传递引用类型的时候,传递的方式不一样.值类型我们称之为值传递,引用类型我们称之为引用传递.我们学的值类型和引用类型 ...

  7. 字符串和byte数组的相互转化

    关于byte[]数组转十六进制字符串: public static String getHexString(byte[] b) throws Exception { String result = & ...

  8. Servlet--HttpServlet

    一.Servlet 接口(javax.servlet) 定义:     public interface Servlet      Implemented by: FacesServlet, Gene ...

  9. Android自定义可拖动的悬浮按钮

    在页面上随意拖动的按钮 public class MoveScaleRotateView extends RelativeLayout { private Context mContext; //默认 ...

  10. reactnative资源

    http://facebook.github.io/react-native/docs/getting-started.html