<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>root (hd0,0) (如果系統不止一塊硬碟,需執行grub>setup (hd0))
grub>kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/sda2 (lv系統改為root=/dev/mapper/vgqin1-lvroot或者root=LABEL=/)
grub>initrd /initramfs-2.6.32-71.e16.x86_64.img
grub>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