本次给大家介绍的是 Linux 常见故障其中的 MBR 引导扇区.
---------------- 故障概述 --------------
基本概述
在 Linux 系统的启动过程中, 涉及 MBR 主引导记录, GRUB 启动菜单, 系统初始化配置文件等各方面, 其中任何一个环节出现故障都可能会导致系统启动的失常, 因此一定要注意做好相关文件的备份工作.
完整的开机引导流程
开机自检:
也称加电自检 (POST,Power On Self Test). 指计算机系统, 接通电源,(BIOS 程序) 的行为, 包括对 CPU, 系统主板, 基本内存, 扩展内存, 系统 ROM BIOS 等器件的测试. 如发现错误, 给操作者提示或警告. 简化或加快该过程, 可使系统能够快速启动.
MBR 引导:
其引导代码储存在第一块磁盘的第一个扇区中, 容量为 512 字节. 它负责磁盘操作系统 (DOS) 对磁盘进行读写时分区合法性的判别, 分区引导信息的定位, 它由磁盘操作系统 (DOS) 在对硬盘进行初始化时产生的.
GRUB 菜单引导:
允许用户同时拥有多个操作系统, 并在启动时选择希望加载的操作系统. 也可用于选择操作系统分区上的不同内核, 也可用于向这些内核传递启动参数.
init 进程:
该进程为加载系统的必要组件, 也是加载环境变量的必要部分. 由 Liunx 内核加载运行 / sbin/init 程序执行, 为系统的中的第一个进程, 其 PID(进程标记号)号始终为
1, 以上就是 Liunx 系统完整的启动流程, 而在启动的过程中, 很有可能会遇到各种情况导致无法进入系统, 接下来这里就将挑出几个常见的问题进行解析
MBR 扇区故障
MBR 引导扇区记录位于物理硬盘的第一个扇区(512B), 该扇区又称为主引导扇区, 除了包含系统引导程序的部分数据以外, 还包含了整个硬盘的分区记录. 主引导扇区发生故障时, 将可能无法进入引导菜单, 或者因无法找到正确的分区位置而无法加载系统, 通过该硬盘引导主机时很可能进入黑屏状态.
故障原因
病毒,*** 等造成的破坏
不正确的分区操作, 磁盘读写误操作
故障现象
找不到引导程序, 启动中断
无法加载操作系统, 开机后黑屏
解决思路
提前做好备份文件
以安装光盘引导进入急救模式
从备份文件中恢复
实际操作部分
实验步骤
(1), 备份 mbr 引导扇区到其他磁盘
(2), 模拟破坏 mbr 引导扇区
(3), 引导镜像急救模式进行 mbr 扇区恢复
1, 首先需要给虚拟机添加一块硬盘, 然后重新启动系统, 用来备份第一块硬盘的文件.
2, 磁盘创建好了之后, 创建新分区, 不需要输转换为任何格式, 这块磁盘是用来存储文件的.
输入
fdisk /dev/sdb
3, 接下来就是进行格式化, 格式化为 xfs 格式.
4, 创建一个 data 目录作为挂载点, 输入 mount /dev/sdb1 进行挂载, 输入 df -h 查看挂载详细信息.
5, 备份第一个扇区, 输入 dd if=/dev/sda of=/data/sda.mbr.bak bs=512 count=1
敲击回车, 输入 ls /data / 查看是否备份到 data 里了.
6, 接下来模拟进行破坏磁盘, 输入 dd if=/dev/zero of=/dev/sda bs=512 count=1
, 从 zero 中获取文件覆盖到第一个扇区.
7, 覆盖之后进行重启, 重期之后会发现无法开机, 现在我们重新启动虚拟机在读取进度条的时候按下 Esc 键, 只需要一下, 就可以进入到自带的命令模式.
8, 进入命令模式界面后选择 CD-ROM Drive .
9, 进入之后进入安装系统界面, 选择 Trouble shooting(疑难解答), 然后敲击回车进入命令字符界面, 选择 CentOS 修复程序.
10, 输入 "1" 进入光盘镜像自带的简易镜像模式.
11, 创建目录进行挂载, 输入 mkdir /bak , 输入 mount /dev/sdb1 /bak, 输入 ls 查看文件是否存在.
12, 最后一步就是恢复备份了, 输入
dd if=/bak/sda.mbr.bak of=/dev/sda
** 这时扇区 u 已经恢复完毕, 输入 reboot 进行重启即可.
来源: http://www.bubuko.com/infodetail-3169097.html