天天看點

Linux_系統破壞性修複實驗目錄修改系統使用者密碼grub修複系統修複最後

<a href="#%E7%9B%AE%E5%BD%95">目錄</a>

<a href="#%E4%BF%AE%E6%94%B9%E7%B3%BB%E7%BB%9F%E7%94%A8%E6%88%B7%E5%AF%86%E7%A0%81">修改系統使用者密碼</a>

<a href="#grub%E4%BF%AE%E5%A4%8D">grub修複</a>

<a href="#%E7%B3%BB%E7%BB%9F%E4%BF%AE%E5%A4%8D">系統修複</a>

<a href="#%E6%9C%80%E5%90%8E">最後</a>

随便介紹一個修改Linux系統使用者密碼的方法。

步驟:

開機讀秒時按任意鍵

進入grub清單項配置按e

選擇系統kernel版本按e

在最後添加空格1,回車後按b啟動,進入單使用者模式

setenforce 0 關閉SELinux

passwd root

init 5 切換到桌面模式

vim /boot/grub/grub.conf

rm -f /boot/grub/grub.conf

reboot

grub&gt;root (hd0,0) (如果系統不止一塊硬碟,需執行grub&gt;setup (hd0))

grub&gt;kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/sda2 (lv系統改為root=/dev/mapper/vgqin1-lvroot或者root=LABEL=/)

grub&gt;initrd /initramfs-2.6.32-71.e16.x86_64.img

grub&gt;boot

下面是一個修複的實驗:

備份重要資料:

mkdir /backup

dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1

cp /etc/fstab /backup/fstab.bak

cp /etc/inittab /backup/inittab.bak

cp /etc/rc.d/rc.sysinit /backup/rc.sysinit.bak

cp /etc/rc.d/rc.local /backup/rc.local.bak

破壞性操作:

rm -rf /boot/*

rm -f /etc/fstab

rm -f /etc/inittab

rm -f /etc/rc.d/rc.sysinit

rm -f /etc/rc.d/rc.local

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

選擇修複模式:

CD光牒啟動選擇Rescue installed system (若需網絡引導,選擇URL模式,本地CD光牒選擇Local cdrom)

continue

shell start shell

修複fstab:

fdisk -l

mkdir /jmilk

mount /dev/sda2 /jmilk (lv下需要執行lvm vgscan和lvm vgchange -ay激活vg才能挂載)

cp /bachup/fstab.bak /jmilk/etc/fstab

再次進入修複模式:

若看到chroot /mnt/sysimage,說明/etc/fstab恢複成功

恢複核心:

mount /dev/cdrom /jmilk

rpm -ivh /jmilk/Package/kernel-2.6.32-71.e16.x86_64.rpm –root=/mnt/sysimage/ –force

恢複引導程式:

chroot /mnt/sysimage/

grub-install /dev/sda

ls /boot/grub

vi /boot/grub/grub.conf

default=0

timeout=5

title linux for jmilk

root (hd0,0)

kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/sda2

#lv系統改為root=/dev/mapper/vgqin1-lvroot或者root=LABEL=/

#:r! ls /boot/vmlinuz-2.6.32-71.el6.x86_64

initrd /initramfs-2.6.32-71.e16.x86_64.img

#:r! ls /boot/initramfs-2.6.32-71.e16.x86_64.img

#可嘗試寫錯,調試grub

恢複init:

rpm -qf /etc/inittab

rpm -qf /etc/rc.d/rc.sysinit

rpm -qf /etc/rc.d/rc.local

mount /dev/cdrom /mnt/cdrom

rpm -ivh /mnt/cdrom/Packagers/initscripts-9.03.17-1.el6.x86_64.rpm –force

兩次exit退出到圖形界面選擇reboot Reboot

重新開機後系統自動執行selinux relabel,幾分鐘後自動重新開機,至此,系統修複完成。

本次額實驗主要是通過這種方式累對系統啟動流程有一個更加深入額了解。

JMilk

繼續閱讀