本文针对grub故障及服务故障导致的开机无法启动的情况进行模拟,并给出修复详细步骤。
一、grub各配置文件问题引起的开机故障
可能出现此故障场景:
- 当前硬盘没有grub,每次启动都是通过有grub的光盘或U盘启动的当前硬盘上的操作系统
- 有两块硬盘其中有一块没有安装grub
- 主机Windows和Linux双系统共存,后来由于Windows坏了重装了Windows此时Linux的bootloader就被覆盖
1、模拟stage1阶段(操作系统所在磁盘分区的前446字节)被破坏导致的开机故障
模拟操作:
故障现象:开机停留在如果所示界面
修复方法1:
①如上图选择Rescue installed system(救援模式),或者在该界面按Esc进入boot命令行接口
键入圈红内容也可以进入紧急救援模式。之后需选择语言及键盘图略。
②是否设置网络信息
注:若要通过网络服务器上的文件修复grub可启动该项,此处要通过光盘修复选择“No”
③紧急救援模式接下来会尝试查找本机硬盘上是否有装过操作系统,如果有的话它会把找到的根挂载至当前启动的小的紧急救援模式的Linux系统的/mnt/sysimage目录下,稍后用户可以到该目录下找所需要的文件,若要这样选择“continue” 。后续确定图略
④选择shell,进入系统开始修复阶段
chroot /mnt/sysimage从救援模式的根切到已损坏操作系统,因为后续要把grub安装到该操作系统。
grub-install /dev/sda重新安装grub,以修复系统。
⑤sync将修改写入磁盘,退出已grub修复的系统进入紧急救援模式下的Linux重启系统。
重启过程中拆除光盘避免系统以光盘启动,如下图不打勾“启动时连接”即可
重启系统成功图略。
修复方法2:如方法1前面步骤至切根操作(chroot /mnt/sysimage),之后键入grub进入grub命令行界面交互操作,
grub> root (hd#,#)
grub> setup (hd#)
quit
“#”视情况而定,例如root(hd0,0)操作系统在第一块硬盘,第一个分区。setup (hd0)代表把grub装到哪块硬盘。
注意:第二种方法要求/boot/grub目录下必须有stage1、stage2和各类stage1_5。局限性较大,推荐使用第一种方法进行修复。
2、模拟stage1_5阶段(操作系统所在磁盘分区的512字节约3个扇区)被破坏导致的开机故障
模拟操作:
故障现象为卡在全黑屏(不用截图了吧)
修复方法:开机按Esc进入救模式界面,之后操作同stage1阶段。
3、模拟stage1_5阶段(操作系统所在磁盘分区的512字节约3个扇区)被破坏导致的开机故障
模拟操作:将/boot/grub/目录下除grub.conf文件其余全部删除。
故障现象:如图所示
修复方法:开机按Esc进入救模式界面,之后操作同stage1阶段。
4、将/boot/grub目录删除导致的无法开机。
故障现象:如图
开机会卡在grub命令行界面。
修复方法:如下图键入root、kernel、initrd三条主要信息(内容以实际故障计算机为准),重启后进入救援模式重复上述操作(切根、生产grub配置信息),
重写配置文件:/boot/grub/grub.conf
简单的写一下:
title jinbus
root (hd0,0)
kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=/dev/sda3
initrd /initramfs-2.6.32-642.el6.x86_64.img
重启解决问题。
5、删除/boot目录下的所有文件,导致的开机无法启动。
模拟故障:rm –rf /boot
此时删除了启动时需要的:
内核文件:vmlinuz-2.6.32-642.el6.x86_64
虚拟文件系统:initramfs-2.6.32-642.el6.x86_64.img
grub 的启动文件:stage1.5 stage2
grub的stage1.5 :如果之前发生过修复,那么启动时用到的数据存在于MBR之后,stage1.5同样存在于文件夹下,但是不会用到 。
grub的配置文件:grub.conf
修复方法:进入光盘救援模式,恢复内核文件:vmlinuz-2.6.32-642.el6.x86_64 及 虚拟文件系统:initramfs-2.6.32-642.el6.x86_64.img
方案1:安装 kernel进行修复,
chroot /mnt/sysimange
mount /dev/sr0 /mnt/sr0
rmp –ivh /mnt/sr0/Packages/kernel.****.rpm
方案2:分别修复
① chroot /mnt/sysimange
cp /mnt/isolinux/vmlinuz-2.6.32-642.el6.x86_64 /boot
cp /mnt/isolinux/initramfs-2.6.32-642.el6.x86_64.img /boot
② 创建虚拟文件系统文件
mkinitrd /boot/initramfs-`uname -r `.img `uname -r `
③ 安装 grub 使用命令:
grub-install /dev/sda
④ 重写 grub.config
⑤ sync 同步
二、服务问题引起的开机故障
模拟服务故障环境:在/etc/init.d/下新建故障服务test.sh,
新建该脚本要遵循LSB服务脚本定义的规范进行编写基本格式如上图,能接受4个基本参数即可{start|stop|status|restart}。在start函数中写入sleep 10000模拟开机无法启动的环境。
如图设置test.sh服务为开机自启动。
故障现象:卡到某一服务无法开机
修复方法1:一般服务在单用户模式下不会设为自启动,开机至grub菜单界面。
选中要启动的内核,a键编辑内核参数。如图在参数后面添加1(或者s、S、single)进入单用户模式。
chkconfig test.sh off 将故障服务off掉即可。
如果单用户模式都设为了开机启动,就需要使用第二种方法进行修复。
修复方法2:grub菜单a键编辑内核参数,后面添加如下图所示内容
回车,b键启动
此时bash作为第一个启动的程序,会跳过initrd设定的服务。
此时是只读挂载没有修改权限,需重新挂载并进行后续操作。
重启完成修复。
CentOS 6 系统无法开机故障修复
时间: 2024-12-21 03:15:03
CentOS 6 系统无法开机故障修复的相关文章
(转)CentOS 7系统详细开机启动流程和关机流程
CentOS 7系统详细开机启动流程和关机流程 原文:http://blog.csdn.net/yuesichiu/article/details/51350654 名称 bootup - 系统启动流程 描述 在系统启动过程中要涉及多个不同的组件.按下开机按钮后,首先BIOS/UEFI做最基本的硬件自检与初始化, 然后加载预设/手动选择的磁盘/网络上的引导加载器(例如GRUB2),引导加载器进一步从磁盘/网络上加载操作系统内核(例如Linux). 对于Linux来说,内核将会(可选的)解压一个i
CentOS 7系统详细开机启动流程和关机流程
名称 bootup - 系统启动流程 描述 在系统启动过程中要涉及多个不同的组件.按下开机按钮后,首先BIOS/UEFI做最基本的硬件自检与初始化, 然后加载预设/手动选择的磁盘/网络上的引导加载器(例如GRUB2),引导加载器进一步从磁盘/网络上加载操作系统内核(例如Linux). 对于Linux来说,内核将会(可选的)解压一个initrd(initial RAM disk)镜像(可以用dracut类的工具生成), 并执行由"rdinit="内核引导参数指定的init程序(例如sys
Linux系统入门---开机启动流程
目录 Linux系统入门---开机启动流程 一.centos6 二.systemd管理进程 1.查看级别 三.centos7实践案例: 1.案例1:centos7系统,单用户修改root密码 案例2: 如果修改级别 案例3:救援模式 四.修改CentOS7网卡名称为eth0和eth1 1.环境准备 2.用命令配置网卡 方法1: 方法2: 3.系统基本环境优化 五.Systemd 进程管理 1.systemctl管理服务的启动.重启.停止.重载.查看状态等常用命令 2.systemctl设置服务开
CentOS 6系统救援模式
CentOS 6系统救援模式 Linux学习笔记 王振中 M21 马克飞象 在学习了CentOS 5.6系统启动流程与启动故障排除之后,为了加深印象进行了如下破坏性尝试. 删除/boot目录与/etc/fstab文件后尝试修复系统 1. 首先是第一步删除/boot目录与/etc/fstab 删除/boot /etc/fstab 可以看到虽然boot目录无法删除但是目录中的文件已经全部删掉了. 2. 重新启动因为没有了/etc/fstab文件和boot目录系统已经无法启动,只能通过光盘引导进入系统
centos 7 系统恢复grub
centos 7 系统恢复 故障描述 1. 启动之后操作系统只能进入到单用户模式 使用U盘进入救援模式进行恢复 选择Troubleshooting 选择Rescue a Centos system 选择1 continue 但是选择这个之后就一直卡在这里不动,很奇怪不知道怎么回事 重启系统进入centos 7 单用户模式,于是修改启动项, 按e进入如下界面,原来是ro 编辑ro 为rw imit=/sysroot/bin/sh 完成后直接按ctrl+x 文件系统修复 进入单用户模式下,chroo
华为服务器通过mgmt口挂载光盘装系统及Linux系统rescue模式下修复内核
Linux系统rescue模式下修复内核和grub 故障现象 处理思路,内核报错,因此重新安装内核,通过光盘启动,进入救援模式.1.进入救援模式(1)华为服务器没有光驱,通过mgmt管理口登录,挂载iso镜像来引导.连接服务器mgmt口至数据中心网络,浏览器登录,默认IP地址192.168.2.100,默认账号root,默认密码Huawei12#$.登录如下图 单击远程控制链接,进入远程控制管理页面,选择独占模式,如下图 打开远程管理控制台,java信息提示,点击继续这里要求远控操作电脑安装好j
CentOS7.6删除/boot目录下所有内容的故障修复详细步骤
CentOS7.6删除/boot目录下所有内容的故障修复 A. 装置重启,出现Starting进度条时,按一次Esc键 B. 选择CD-ROM从光盘启动 C. 选择Troubleshooting D. 选择Rescue a CentOS system E. 输入1,选择Continue F. 按Enter键 G. 输入chroot /mnt/sysimage切根 H. 挂载光盘mount /dev/sr0 /mnt I. rpm安装内核 rpm -ivh /mnt/Packages/kernel
磁盘故障修复
1,系统引导流程: 开机自检(blos)——MBR引导——GRUB菜单——加载内核(kernel)——init进程初始化 1,开机自检(blos): blos的三个功能:加电自检,硬件初始化,引导操作系统.指计算机系统,接通电源,(BIOS程序)的行为,包括对CPU.系统主板.基本内存.扩展内存.系统ROM BIOS等器件的测试.如发现错误,给操作者提示或警告.简化或加快该过程,可使系统能够快速启动. 2,MBR引导:MBR描述了逻辑分区的信息,包含文件系统以及组织方式.此外,MBR还包含计算
详解CentOS 7系统中MBR引导扇区恢复方法
MBR引导扇区介绍 MBR位于物理硬盘的第一个扇区(512字节),该扇区又称为主引导扇区(MBR扇区),除了包含系统引导程序的部分数据外,还包含整个硬盘的分区表记录.当主引导扇区发生故障时,将可能无法进入引导菜单,或者因无法找到正确的分区位置而无法加载系统,通过该硬盘引导主机时很可能进入黑屏状态. MBR 扇区故障恢复 下面将通过示例介绍对MBR扇区进行备份.模拟破坏.修复的过程.由于 MBR 扇区中包含了整个硬盘的分区表记录,因此该扇区的备份文件必须存放到其他的存储设备中. dd命令--用指定