以centos6為例,/boot目錄下有最為關鍵的開機啟動所必須的內核文件、根文件系統驅動文件已經引導加載程序(bootloader)grub。當我們清空此文件夾之后關機,機器就不能正常啟動了,這種情況下,可以借助光盤啟動進入救援模式解決。具體步驟如下:
1. 開機進入救援模式
這里不像正常情況下,顯示根文件系統掛載在/mnt/sysimage目錄,而是提示找不到分區。這是因為我把/etc/fstab文件刪除了,即使救援模式下,系統啟動也不會搜索掛載根目錄了,此時我們只能查看本主機各個分區情況,嘗試找到根目錄并手動掛載。
2.手動掛載根目錄,恢復/etc/fstab文件
進入shell模式下,根據分區情況可以看出,為了是系統容量具有拓展性,根系統基于邏輯卷的。但是通過#lvdisplay命令可以看出,邏輯卷的狀態是not available,這是因為LVM及software Raid設備是在運行系統初始化腳本/etc/rc.d/rc.sysinit時才被激活。很顯然,在本例中bootLoader都已經被損壞,lvm無法被自動激活,使用命令#vgchange -ay 手動激活
激活lvm之后,通過邏輯卷名字看出根文件系統應該在/dev/vg_www/lv_root邏輯卷設備上,掛載該設備到/mnt/tmp目錄。參考下圖ls結果可知,此設備確實是根文件系統,創建fstab文件并重啟
3.重啟,進入救援模式,修復/boot
1)如下圖所示,救援模式下已顯示找到根文件系統,并掛載在/mnt/sysimage目錄。進入shell模式,在/boot目錄下安裝kernel和grub
2)grub.conf文件可以在上述shell下直接編輯修復也可以在進入開機菜單時使用grub交互程序輸入
重啟機器,系統直接進入grub交互界面,如下圖所示
分別輸入kernel參數和偽根文件系統路徑,并啟動
a:指定kernel和initrd的文件路徑根為/boot所在的設備及分區;(hd0,0)代表著第一個硬盤中第一個分區
4.重啟之后,可以正常登陸了
登陸之后再去完善/etc/fstab文件及grub.conf文件,機器就恢復成功了。
原創文章,作者:ffu,如若轉載,請注明出處:http://www.www58058.com/79526