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

相關文章
相關標籤/搜索