boot分區 和fstab文件被損壞後的解決方案
本節索引
故障描述
解決思路
故障判定
故障解決流程
故障描述
/boot分區被損壞。
/etc/fstab文件被誤刪除。
由於/boot分區被損壞,所以導致grub無法引導操作系統。/etc/fstab文件被誤刪導致在進入Rescue模式原操作系統不會被自動掛載至/mnt/sysimg下。
解決思路
首先恢復fstab文件,使救援模式能夠識別原操作系統。
恢復系統引導所需的grub文件。
恢復系統啟動所需的內核文件和虛擬磁盤文件
故障判定
磁盤主引導記錄被損壞現象:
直接跳過磁盤啟動,從其他啟動項啟動(光盤或者網絡)
系統從磁盤啟動,但停滯在如下階段。
Grub引導1_5階段出錯,導致無法進入grub的2階段的啟動菜單界面
解決思路,修復
故障解決流程
準備工作:
與操作系統版本相同的光盤
開機後選擇從光驅引導
選擇救援模式
選擇語言
默認選擇English
選擇鍵盤類型
一般默認選擇,特殊鍵盤選擇指定類型即可
配置網絡
此故障無需配置網絡,選擇NO
選擇開啟救援模式
開啟救援後,會試圖把原來的Linux系統掛載在/mnt/sysimage目錄下由於原來系統下沒有/etc/fstab文件,所以救援模式無法掛載分區至/mnt/sysimg下。回車,開啟一個shell命令行
查看原來系統所在磁盤
分區使用fdisk 命令查看原來系統所在磁盤的分區詳細信息。
從結果可以看出,/dev/sda1的boot字段有*標識,表示該分區為boot分區;
/dev/sda5的分區類型為swap,表示該分區為swap分區;
其他分區從fdisk的返回結果暫時無法確定其掛載點是什麽。
創建一個臨時目錄,掛載無法判斷的分區,通過內容判斷其掛載點。
掛載/dev/sda2,查看其目錄結構符合根分區的目錄結構,所以判斷該分區為根分區。
編輯一個fstab文件
在原系統的根分區下編輯一個fstab文件,路徑為/mnt/tmp/etc/fstab
*註意 救援模式不支持使用vim,請使用vi編輯器添加下圖內容
重啟系統,重新進入救援模式
選擇語言,鍵盤類型,配置網絡在Rescue界面選擇Continue後,顯示原來系統已掛載至/mnt/sysimg下
恢復boot目錄內容
切換根分區
sh-4.1# chroot /mnt/sysimage
掛載光盤重
sh-4.1# mount /dev/cdrom /mnt
新安裝內核
sh-4.1# rpm –ivh /mnt/Packages/kernel-2.6.32-696.el6.x86_64.rpm --force
修復grub
sh-4.1# grub-install /dev/sda
具體過程可見下圖
創建grub.conf文件
在/boot/grub下創建一個grub.conf文件,內容至少包括下圖幾項
default :若啟動菜單為多個,默認從哪個啟動
timeout:在達到時間無指令打斷後默認啟動
title:菜單內容,用戶可自定義
kernel: 內核文件路徑
initrd: 虛擬文件系統路徑
*註意 kernel 和initrd的路徑都是以/boot為根
即:/boot=/
eq: /boot/vmlinuz-2.6.32-696.el6.x86_64 = /vmlinuz-2.6.32-696.el6.x86_64
退出當前根環境,重啟系統系統
引導之後會出現Selinux的檢查階段,耗時會很久,請耐心等待
本文出自 “Keep simple keep stupid” 博客,請務必保留此出處http://yangzhiheng.blog.51cto.com/11586378/1968182
boot分區 和fstab文件被損壞後的解決方案