CentOS Grub、BASH 故障、解决方法

简介:

Grub 常见的两种故障:Grub.conf 文件丢失、MBR 损坏 ( 不管恢复怎么样,还是先备份好吧 )

一、Grub.conf 文件丢失

shell > rm -rf /boot/grub/grub.conf ## 删除文件、模拟故障
shell > reboot

## 故障现象如下:

GNU GRUB verstion 0.97 (634k lower / 1046400k upper memory )
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ]

grub>

## 就这个样子,无法登陆系统,下面是解决方法

grub> root (hd0,) # 输入 root (hd0,) 这时按 TAB 键会打印出系统上所有的分区 ( 注意在急救模式下不支持 TAB , 很伤~ )
Possible partitions are:
Partition num: 0, Filesystem type is ext2fs, partition type 0x83
Partition num: 1, Filesystem type unknown, partition type 0x82
Partition num: 2, Filesystem type is ext2fs, partition type 0x83

## 0, 1, 2 代表分区编号,上面显示有文件系统,分区类型,像 83 就是 Linux 普通分区,82 是虚拟分区 SWAP ( 硬盘分区时的知识 )
## 这里不分 IDE / SATA 什么的,都用 hd 代表,hd0 代表第一块硬盘,hd0,0 代表第一块硬盘的第一个分区,系统中是用 sda1 代表第一块硬盘的第一个分区

grub> root (hd0,0)/ # 输入 root (hd0,0)/ 这里按 TAB 键搜索内核在不在此分区上 ( boot 分区 ),如果有会输出下面信息 ( 试 83 的分区,82 是交换分区就没必要试了 )
Possible files are: lost+found grub efi .VMlinuz-2.6.32-504.e16.x86_64.hmac System.map-2.6.32-504.e16.x86_64 config-2.6.32-504.x86_64 symvers-2.6.32-504.x86_64.gz VMlinuz-2.6.32-504.e16.x86_64 initramfs-2.6.32-504.e16.x86_64.img

## 如果可以看到 vmlinuz- 跟 initramfs- 字样,说明这就是我们想要的东西

grub> root (hd0,2)/ # 下面是搜不到的显示, 仔细看看 ( 发现这是根分区哎~~ hd0,2 是根分区,我们用的是 SATA , 所以根分区是 /dev/sda3 很有用 !)
Possible files are: lost+found boot dev proc sys var tmp etc root selinux lib64 usr bin home lib media mnt opt sbin srv .autorelabel

grub> root (hd0,0) # 绑定启动分区
Filesystem type is ext2fs, partition type 0x83

grub> kernel /VMlinuz-2.6.32-504.e16.x86_64 ro root=/dev/sda3 # 指定启动内核,ro 只读模式,root= 指定根分区, 一定要指对 ( 可能如果 boot 没有单独分区不指定也是可以的 )

grub> initrd /initramfs-2.6.32-504.e16.x86_64.img # 这是内核映像吧 ( kernel 、initrd 都是上面搜出来的,输入一点点按 TAB 可以补全 )

grub> boot # 启动系统,手动编写 grub.conf 或恢复备份

shell > vim /boot/grub/grub.conf

default=0 # 启动哪个系统
timeout=5 # 等待时间
title CentOS 6.6 # 描述信息
kernel /VMlinuz-2.6.32-504.e16.x86_64 ro root=/dev/sda3 # 内核
initrd /initramfs-2.6.32-504.e16.x86_64.img # 启动映像

## 这里有个 vim 的用法,直接主机上 vim 是不可以用鼠标复制命令行内容的,那 kernel 跟 initrd 又那么长,不好记
## 方法:末行模式下输入 .! ls /boot/vmlinuz- 按 TAB 就可以补全了,这时按 Enter 键就可以将此条信息放到当前文件中

shell > reboot

## 这样就恢复成功了!还是记得备份吧

## 如果 kernel 没有指对根分区就会这样~ 还要重启系统,重新来过

dracut Warning: Signal caught!
?dracut Warning: Boot has faild. To debug this issue add "rdshell" to the kernel command line.
?Kernel panic - not syncing: Attempted to kill init!
?Pid: 1, comm: init Not tainted 2.6.32-504.e16.x86_64 #1
?Call Trace:
[<ffffffff815292bc] ? panic+0xa7/0x16f
? [<ffffffff815292bc] ? do_exit+0xa7/0x16f
? [<ffffffff815292bc] ? fput+0xa7/0x16f
? [<ffffffff815292bc] ? system_call_fastpath+0xa7/0x16f?
?

二、MBR 损坏

shell > ddif=/dev/zero of=/dev/sda count=1 bs=200 # 覆盖 MBR , 模拟故障 ( /dev/sda 前 512 个字节是 MBR )
shell > reboot

## 故障现象如下:

Operating System not found # 基本就这样,会出现本地硬盘找不到系统、从 PXE 获取,DHCP xxxxxxxxxxxxx

## 解决方法:使用紧急救援模式修复

> 插入系统光盘,进入急救模式 ( 这个都会进吧,CentOS 直接选择,RedHat boot:linux rescue )

shell > grub # 进入 grub 模式

grub> root (hd0,0) # 直接指定内核所在分区吧,没法 TAB ( 一定要想办法找到它, 例如:先 chroot /mnt/sysimage , 然后 df -HT 可以看到所有分区,假如 sda1 是启动分区,那么这里对应就是 hd0,0 了 )

grub> setup (hd0) # 重新安装 MBR 到该磁盘,实际上就是 /dev/sda

grub> quit

shell > reboot

## 现在就可以成功进入系统了,MBR 已经修复

附加:BASH 故障的解决方法

shell > rm -rf /bin/bash # 删除 bash ,模拟故障
shell > reboot

## 故障现象如为:系统无法初始化,init 命令不存在,其实什么指令都不能执行
## 进入急救模式重新安装 bash

shell > mkdir /media # 直接在光盘系统中操作,因为这时无法 chroot 到 /mnt/sysimage
shell > mount /dev/sr0 /media # 挂载光盘镜像,/dev/sr0 代表光驱,如果是 IDE 接口应该是 /dev/hdc
shell > cd /media/Packages
shell > rpm -ivh --replacepkgs --root /mnt/sysimage bash-4.1.2-29.e16.x86_64.rpm # 将 bash 安装到 --root 指定根目录中 --replacepkgs 是替换原有包
shell > reboot

## OK ,故障已经修复!

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/221359.html<

(0)
运维的头像运维
上一篇2025-04-15 00:08
下一篇 2025-04-15 00:10

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注