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

/boot文件里关于启动的核心文件有三个,vmlinuz,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指根目录,路径为根所在分区      quiet静默启动 rhgb图形不显示 selinux=0文件不打标

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

  退出

  重启

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

在实验中,因为root和boot路径的错误,尝试无数遍,最后对比快照的grub.conf文件,找到问题,更改路径后解决

原文地址:https://www.cnblogs.com/tony3154/p/10082269.html

时间: 2024-08-03 02:52:19

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

电脑硬盘中的文件被彻底删除掉之后要怎么恢复?

最近在和公司来的新公司做交接的工作,等了一个多月了,终于有新同事来接手这块的工作了,说实话,虽然老板给我多加了一点薪水,但是一个人来做两个人的事情,还是很累的,我已经记不得这个月我加了多少个晚上的班了,只是觉得每天晚上都很累,每天躺在床上都可以在分分钟的时间内睡着,但是没办法,毕竟老板交代下来的事情,我们还是必须要做好的. 而这段时间,我电脑中的文件也是极具的增加,因为另一份工作是一个管理数据的工作,所以经常都需要保存文件什么的,然后还需要上传下达的,十分的麻烦.这不,昨天我一下子全部打包给了新

Linux中的文件被异常删除的排查思路

检查日志 审计日志,看登录的异常用户和异常行为系统日志 如 /var/log/messge /var/log/secure等. 检查谁登陆了 last 查看机器创建以来登陆过的用户 lastlog 列出用户最后登录的时间和登录终端的地址查看机器所有用户的连接时间 ac -dp 检查异常进程查询异常进程所对应的执行脚本文件a.top命令查看异常进程对应的PIDb.在虚拟文件系统目录查找该进程的可执行文件ps -ef|grep pid 或者 ll /proc/(pid)1850/ | grep -i

关于SQL Server中分区表的文件与文件组的删除(转)

在SQL Server中对表进行分区管理时,必定涉及到文件与文件组,关于文件与文件组如何创建在网上资料很多,我博客里也有两篇相关转载文件,可以看看,我这就不再细述,这里主要讲几个一般网上很少讲到的东西,但有时候却很重要. 前面内容主要摘自SQL的联机帮助: 1.一个文件或文件组不能由多个数据库使用.例如,任何其他数据库都不能使用包含 sales 数据库中的数据和对象的文件 sales.mdf 和 sales.ndf. 2.一个文件只能是一个文件组的成员. 3.一个文件组可以包含多个文件,一个数据

JavaSE 文件递归之删除&获取文件夹文件夹中全部的以.jpg的文件的绝对路径

1.递归删除文件 假设一个文件夹以下还有子文件夹,进行删除的话会 报错,这个时候要使用递归的方式来删除这个文件文件夹中的全部文件以及文件夹 package cn.itcast.digui; import java.io.File; /** * 递归删除demo目录中全部文件包含目录 * 分析: * A:封装目录 * B:获取改目录下的全部文件或者目录 * C:遍历改file数组,得到每个File对象 * D:推断该file对象是都是目录 * 是:回到B * 否:删除 * @author Admi

Win10正式版删除此电脑中的文件夹

Win10正式版如何删除"此电脑"中冗余的6个文件夹 将以下代码保存为123.bat文件,用管理员权限运行,选择显示或隐藏 _____________________________________________________________ @echo off set /P aa="隐藏此电脑中的文件夹请按1,按其它任意键则显示." if /i %aa%==1 ( set sss=Hide ) else ( set sss=show ) echo y | re

git删除远程分支中的文件

一开始没有把git项目中的.classpath加入到.gitignore中,导致远程分支中一直存在这个文件,这样在其他机器上执行git pull时,会导致本地的.classpath被破坏,而使得这个项目的引用出现问题.由此,我们需要把远程分支中的.classpath文件删除. 1. 一种想法是把.classpath文件加入到gitignore中,这样在下次提交的时候就不会提交.classpath文件,但是这种做法并不会使得远程分支中的.classpath文件被删除. 2. 下面有比较挫的方法来解

如何删除文件夹中的文件?--【SVN系列集锦】

背景: 某年某月某日,菜鸟小美,向服务器SVN里面上传文件,上传了之后发现没有命名好,于是改名了重新上传,结果就重复了.为了删除,她开始了不懈的努力~ 请问: SVN服务端的文件夹是可以删除的,那么文件夹中的文件如何删除呢? 经过的度娘的帮助,很容易找到了解决方案,菜鸟小美总结如下: 1)右键SVN客户端文件 .Net新生入学——选择TortoiseSVN——选择Delete,即可删除.不过仅仅这样是不足够的. 2)提交改动过后的整个文件夹,这样就ok啦! 感受: 如果不去尝试,永远都停留在半山

Android MediaProvider--文件管理:必现,文件管理器中新建几个文件夹,批量删除后,连接电脑查看仍有部分文件夹未删除

问题描述: [测试步骤]:1.进入文件管理器中,新建几个文件夹,然后批量全选这些文件夹--删除: 2.手机连接电脑,在电脑端查看文件显示. [测试结果]:电脑端查看仍有部分文件夹未删除.插拔USB线几次,在电脑端重新查看,仍显示. [预期结果]:电脑端不应显示已删除的文件夹. [复现概率]:100%(若第一次未复现,步骤1.2重新操作即可复现) [备注]:在文件管理中点击"搜索",也能搜索出这些文件夹. 按以下步骤更容易复现 1.添加一个本地文件夹,删除新添加的文件夹 2.再新建另一文

整理删除Git仓库中的文件

第一步 : 首先切换到master分支下     $  git checkout master 第二步 : 将远程仓库中的文件拉取下来     $ git pull origin master 第三步 : 查看master分之下的文件        $ dir 第四步 : 删除文件            $ git rm -r --cached 文件名 第五步 : 提交操作          $ git commit -m '描述' 第六步: 更新master分支      $ git push