CentOS 6 各类启动文件损坏及修复

stage1 mbr的破坏和恢复

清空mbr 前446字节shell

dd if=/dev/zero of=/dev/sda bs=1 count=446centos

若是没有挂载启动光盘,会显示这样bash

clip_image001

若是启动前挂载了光盘,则重启以后自动从光驱启动了网络

clip_image002

此时选择救援模式,Rescue installed systemapp

按照提示操做最后进入到shell3d

修复mbr须要用到grub去修复磁盘,因此要先把根切到硬盘上blog

chroot /mnt/sysimageip

运行grub-install进行修复内存

grub-install /dev/sdarem

查看一下

hexdump -C -n 512 /dev/sda

exit

reboot


stage1.5 数据破坏与修复

1.5阶段的数据存放在mbr以后的27个扇区内,也就是13824个字节

破坏掉1.5阶段的数据,无需所有破坏,咱们用5120个字节试试.

dd if=/dev/zero of=/dev/sda bs=1 count=5120 skip=512 seek=512

修复方法一样能够用grub-install


重启进入救援模式

chroot /mnt/sysimage

grub-install /dev/sda

reboot


stage2  grub目录的破坏与修复

删除文件但保留grub.conf

重启,提示error 15 ,

由于以前用grub-install修复过.因此以后启动系统都须要读取这些文件.


除了grub.conf文件,其余文件依然使用grub-install来修复.


进入救援模式

chroot /mnt/sysimage/

grub-install /dev/sda

sync


恢复grub.conf文件

cd /boot/grub/

可使用scp命令经过网络其余主机copy一个过来

也能够手动编辑一个grub.conf,内容格式以下

clip_image003



若是 /boot文件夹丢失

进入救援模式

切换根,挂载光驱

chroot /mnt/sysimage/

mount /dev/cdrom /mnt


安装内核

rpm -ivh /mnt/Packages/kernerl.... --force

若是没切根 要加 --root=/mnt/sysimage/


修复grub

grub-install /dev/sda

编辑恢复 grub.conf



丢失/boot/ 和 /etc/fstab

先修复 fstab

执行mount 按照内容来猜想每个设备分区对应的挂载点

也能够 fdisk -l 按照分区大小来区分

或者建立临时文件夹,挂载分区,查看其内容来肯定

mkdir /mnt /tmp

mount /dev/sda1 /mnt/tmp;ls /mnt/tmp

mount /dev/sda2 /mnt/tmp;ls /mnt/tmp

...


按照上面获得的信息编辑fstab文件.

vi /mnt/tmp/etc/fstab

reboot


此时已能够加载分区,但还须要恢复/boot文件夹.

进入救援模式

挂载光盘/mnt/cdrom

安装内核

rpm -ivh /mnt/cdrom/.... kernel.....rpm --root=/mnt/sysimage/ --force

修复grub

grub-install /dev/sda

sync

编写grub.conf

vi /boot/grub/grub.conf

reboot


丢失/sbin/init

用bash代替init


救援模式

读写方式从新挂载根

mount -o remount.rw /

若是以前在/dev/sda3有init的备份,则挂载/dev/sda3.并恢复备份

mount /dev/sda3 /app

mv /app/init /sbin


若是没有备份,能够直接重装upstart.

挂载光盘/mnt/cdrom

安装

rpm ivh /mnt/cdrom/CentOS_6.9_Final/Packages/upstart.xxxxxxxx.rpm –force


逻辑卷被破坏

一般centos默认安装分区是会使用逻辑卷的,但/boot必定会使用普通分区.

clip_image004

假设破坏致使/etc/fstab和/boot丢失

删除 /etc/fstab和/boot

reboot


修复:

1) 恢复逻辑卷

进入救援模式

使用命令查看磁盘和逻辑卷信息

blkid

lvs

pvs


挂载lv

mkdir /mnt/root

vgchange -ay 激活卷组

mount /dev/VolGroup/Lv_root /mnt/root

挂载boot分区

mkdir /mnt/boot

mount /dev/sda1 /mnt/boot

编辑fstab内容,把主要磁盘挂载记录添加便可

vi /mnt/root/etc/fstab

其中UUID能够经过blkid得到

reboot


2)恢复/boot

进入救援模式

切换根

chroot /mnt/sysimage/


挂载光盘

mkdir /mnt/cdrom


安装内核

rpm -ivh /mnt/cdrom/....kernel.....rpm –force


修复grub

grub-install


启用swap

blkid | tail -n1 >> /etc/fstab

swapon -a

swapon –s


查看内存状态

free

reboot

相关文章
相关标签/搜索