Linux resuce救援模式下修復系統
不小心在RHEL5.8伺服器上使用了fsck命令,導致/目錄都不存在了,磁碟也無法掛載,重啟伺服器,無法開機;提示如下:
VFS: Can't find ext3 system on dev dm-4.
mount: error mount /dev/root on /sysroot as ext3: Invalid argument
setuproot: moving /dev failed: No such file or directory
setuproot: error mount /proc: No such file or directory
setuproot: error mount /sys: No such file or directory
Kernel panic - not syncing:Attempted to kill init!
Linux啟動流程是這樣的:bios->grub->kernel->inittab->fstab->rc.sysinit->rc.local->login
我使用的是LVM邏輯卷組管理,出現這個問題應該是lv邏輯卷掛載失敗,導致grub引導kernel時,缺少核心檔案而失敗。使用RHEL5.8安裝盤進入救援模式,發現裡面很多命令不能夠使用,就使用了RHEL6.5的安裝光碟,進入救援模式,步驟如下:
載入光碟,進入救援模式,不需要進行網路配置
選在第三個,Rescue install system
這個地方選在NO,不需要網絡卡配置,其他步驟一路回車
這個地方選在continue,系統預設會找到你的根系統並掛載到/mnt/sysp_w_picpath目錄下
啟動shell
OK,現在就進入了救援模式的命令列介面
具體操作如下:
# vgchange -ay 啟用卷組
# swapon -a開啟交換分割槽
# fsck -y /dev/VolGroup00/LogVol00 修復邏輯卷(具體卷根據實際情況)
# mkdir /mnt/lvm
# dmesg
# mount -t ext3 /dev/VolGroup00/LogVol00 /mnt/lvm 掛載系統分割槽(確保這個是系統分割槽)
# mount --bind /proc /mnt/lvm/proc 掛載核心檔案
# mount --bind /sys /mnt/lvm/sys
# mount --bind /dev /mnt/lvm/dev
# chroot /mnt/lvm 改變系統執行命令目錄
現在就可以正常使用Linux系統原本的命令了,同時可以通過cd /mnt/lvm,進入系統分割槽,檢視有沒有系統檔案缺失或是配置錯誤,進行修復(例如/etc/fstab檔案丟失)
mount --bind說明:
mount 命令可以掛載目錄,如果要把某個目錄 mount 到另外的目錄就使用 --bind
lvm無法 掛載,進入救援模式操作命令詳解:
進入救援模式後,
lvm vgscan 檢視系統中的邏輯卷組
lvm vgchange -ay 啟用邏輯卷
邏輯卷啟用後,就可以使用 mount命令進行正常掛載了,如下圖:
此文件根據以下編寫:
http://www.dslreports.com/forum/r20758405-Ran-fsck-on-a-mounted-LVM-on-Fedora-8-now-what
如果缺失了某些檔案,可以從lost+found裡找回,找回方法可以根據:
http://blog.windfluechter.net/comment/3059
Linux系統災難恢復技術和方法:系統 /boot 分割槽損壞,系統 GRUB 損壞,系統核心檔案丟失,分割槽丟失(有備份的情況下)詳見文件(真的很好的文件):http://os.51cto.com/art/201209/357524.htm
轉載於:https://blog.51cto.com/afterdawn/1730095