boot分區 和fstab文件被損壞後的解決方案

本節索引linux


  • 故障描述shell

  • 解決思路vim

  • 故障斷定網絡

  • 故障解決流程編輯器


故障描述ide


  1. /boot分區被損壞。spa

  2. /etc/fstab文件被誤刪除。操作系統

因爲/boot分區被損壞,因此致使grub沒法引導操做系統。/etc/fstab文件被誤刪致使在進入Rescue模式原操做系統不會被自動掛載至/mnt/sysimg下。命令行

解決思路3d


  1. 首先恢復fstab文件,使救援模式可以識別原操做系統。

  2. 恢復系統引導所需的grub文件。

  3. 恢復系統啓動所需的內核文件和虛擬磁盤文件

故障斷定


  1. 磁盤主引導記錄被損壞現象:

    直接跳過磁盤啓動,從其餘啓動項啓動(光盤或者網絡)

  2. 系統從磁盤啓動,但停滯在以下階段。

    Grub引導1_5階段出錯,致使沒法進入grub2階段的啓動菜單界面

       解決思路,修復grub

       wKioL1nGZ9zA-iTGAAANlZLALyY298.png


故障解決流程


準備工做

與操做系統版本相同的光盤

  1. 開機後選擇從光驅引導

    wKiom1nGaCmx9AkkAAArm-2NYUQ760.png

  2. 選擇救援模式wKiom1nGaEbDJs69AAYUe9rNun4207.png

  3. 選擇語言

    默認選擇EnglishwKioL1nGaB_y2offAAAvf3VJqco562.png

  4. 選擇鍵盤類型

    通常默認選擇,特殊鍵盤選擇指定類型便可wKioL1nGaFyB6bcsAAA14Aa6iUU579.png

  5. 配置網絡

    此故障無需配置網絡,選擇NOwKioL1nGaHmznjCSAAAd3VHLUs8093.png

  6. 選擇開啓救援模式

    開啓救援後,會試圖把原來的Linux系統掛載在/mnt/sysp_w_picpath目錄下wKiom1nGaN_Dqa4FAABZM4QC38k721.pngwKiom1nGaPyQpZFfAAAmL4WxTL8255.png因爲原來系統下沒有/etc/fstab文件,因此救援模式沒法掛載分區至/mnt/sysimg下。回車,開啓一個shell命令行wKiom1nGaSjyWP3qAAAhEkpfpns473.png

  7. 查看原來系統所在磁盤

    分區使用fdisk 命令查看原來系統所在磁盤的分區詳細信息。wKiom1nGaXqjDYURAAA4KPDiYVc577.png

    從結果能夠看出,/dev/sda1boot字段有*標識,表示該分區爲boot分區;

    /dev/sda5的分區類型爲swap,表示該分區爲swap分區;

    其餘分區從fdisk的返回結果暫時沒法肯定其掛載點是什麼。

    建立一個臨時目錄,掛載沒法判斷的分區,經過內容判斷其掛載點。wKioL1nGaYagqpLiAAAPPH9CIZI480.png

    掛載/dev/sda2,查看其目錄結構符合根分區的目錄結構,因此判斷該分區爲根分區。wKiom1nGac7zG2tGAAARMRKRV1E867.png

  8. 編輯一個fstab文件

    在原系統的根分區下編輯一個fstab文件,路徑爲/mnt/tmp/etc/fstab

    *注意  救援模式不支持使用vim,請使用vi編輯器添加下圖內容wKiom1nGahbRF1QMAAAZW93Wr_I158.png

  9. 重啓系統,從新進入救援模式wKioL1nGaf_hZlLTAAAiCVCv9G4289.png

    選擇語言,鍵盤類型,配置網絡Rescue界面選擇Continue後,顯示原來系統已掛載至/mnt/sysimgwKioL1nGahaiQrrEAAA4HynW24U270.png

  10. 恢復boot目錄內容

    切換根分區

    sh-4.1# chroot /mnt/sysp_w_picpath

    掛載光盤重

    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

    具體過程可見下圖wKioL1nGarLgF0q0AAAxMi9Dajo737.png

  11. 建立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_64wKiom1nGa2viXi8CAAAT-2eatn4480.png

  12. 退出當前根環境,重啓系統系統wKioL1nGa1PxiFLIAAAhwCaaG8c410.png

    引導以後會出現Selinux的檢查階段,耗時會好久,請耐心等待

    wKioL1nGa5qBLFrSAABlarD8Is8944.png

    wKioL1nGa7LTQBREAAAVfeCC42Y758.png

相關文章
相關標籤/搜索