中秋干貨之系統啟動修復

在使用CentOS系統時,難免會有誤操作而導致機器不能正常啟動,這里介紹了多種啟動失敗的原因和修復的方法。

grub損壞類

  • grub 1stage 被破壞
    使用dd擦寫MBR前446字節,即抹去stage1階段
    中秋干貨之系統啟動修復

    [root@_2_ ~]# reboot #重啟
    中秋干貨之系統啟動修復

    啟動失敗,找不到系統,這時只能借助光盤進入修復模式,重新安裝grub
    中秋干貨之系統啟動修復

    插入光盤,啟動系統,選擇修復模式
    中秋干貨之系統啟動修復

    語言和鍵盤都選擇默認就好
    中秋干貨之系統啟動修復

    是否啟用網絡功能,我這里不需要,選擇否
    中秋干貨之系統啟動修復

    選擇continue
    中秋干貨之系統啟動修復

    這里提示根文件系統在/mnt/sysimage下
    中秋干貨之系統啟動修復
    中秋干貨之系統啟動修復

    選擇啟動一個shell
    中秋干貨之系統啟動修復

    使用df查看分區信息,這時,原系統根被掛載至/mnt/sysimage/目錄下
    中秋干貨之系統啟動修復

    這時我們先把根切換到原系統,再執行grub-install修復操作
    中秋干貨之系統啟動修復

    使用grub-install /dev/sda重裝grub,,若不做根切換,則需指定--root-directory=/mnt/sysimage/
    中秋干貨之系統啟動修復

    使用兩次exit退出根,選擇reboot Reboot重啟系統,
    中秋干貨之系統啟動修復
    中秋干貨之系統啟動修復

    系統已經起來了
    中秋干貨之系統啟動修復

  • grub 1.5 stage被破壞
    使用dd破壞磁盤512字節之后的扇區,然后重啟,發現系統依然不能啟動,
    中秋干貨之系統啟動修復

    解決思路還是重裝grub,這次我使用grub命令行來重裝grub,修復完成后重啟
    中秋干貨之系統啟動修復
    中秋干貨之系統啟動修復

  • grub.conf丟失
    把/boot/grub/grub.conf文件移動至其他目錄,然后重啟系統,會出現grub命令行:
    中秋干貨之系統啟動修復

    這時我們可以手動編輯grub參數
       指明grub目錄的根: root (hd0,0)
       指定內核路徑及參數和真正根文件系統: kernel /vmlinuz-2.6.32-642.e16.x86_64 ro root=/dev/sda3
       指明initrd,內核系統驅動initramfs: initrd /initramfs-2.6.32-642.e16.x86_64.img
       重新引導操作系統: boot
    如果忘記根文件系統路徑,可以進入修復模式查看
    中秋干貨之系統啟動修復

    可以看到系統已經啟動,雖然能夠進入系統,但是grub.conf配置文件還是缺失,需要我們手動創建
    中秋干貨之系統啟動修復

    中秋干貨之系統啟動修復

    重啟,啟動成功
    中秋干貨之系統啟動修復

  • vmlinuz文件丟失
    中秋干貨之系統啟動修復
    1、使用rpm重裝kernel包

      掛載光盤        mount /dev/sr0 /media
      安裝kernel包    rp -ivh kernel-2.6.32-642.el6.x86_64.rpm --replacepkgs

    中秋干貨之系統啟動修復

    中秋干貨之系統啟動修復
    2、使用rpm2cpio解壓出vmlinuz包,再把vmlinuz復制到/boot下
    中秋干貨之系統啟動修復
       若系統已經不能啟動,則在救援模式下先切換根目錄,再使用以上兩種方法

  • initramfs文件丟失
    使用mkinitrd命令

      mkinitrd /boot/initramfs-`uname -r`.img `uname -r`

    中秋干貨之系統啟動修復
       若系統已經不能啟動,則在救援模式下先切換根目錄,再使用以此種方法

  • /boot目錄被刪除,系統無法啟動
    中秋干貨之系統啟動修復
       ~]# reboot
    重啟會進入grub命令行
    中秋干貨之系統啟動修復

    此時/boot文件全部丟失,即使手動也無法指定引導grub,需要進入救援模式

    1.切換根目錄,使用grub-install安裝grub
    中秋干貨之系統啟動修復

    2.安裝kernel包生成vmlinuz和initramfs等文件
    中秋干貨之系統啟動修復

    3.編輯grub.conf配置文件
    中秋干貨之系統啟動修復
    啟動成功
    中秋干貨之系統啟動修復

  • 若/etc/fstab和/boot/丟失
    中秋干貨之系統啟動修復

    重啟會進入grub命令行,這時根文件系統不能掛載,我們要進入修復模式修復
    到這里會提示沒有發現根文件系統,因為系統找不到/etc/fstab文件無法掛載,還是選擇打開一個shell
    若根分區為普通分區
    使用blkid和fdisk -l查看分區信息,這里很容易發現/dev/sda1是是boot分區,sda2時swap分區,若我們此時不能分辨根分區,則把所有類似分區掛載起來,從分區信息中分辨根分區,這里我知道sda3是根,然后新建目錄,把sda3掛載至此目錄
    到這一步我們先增加根分區里的/etc/fstab文件,編輯完成后重啟繼續進入修復模式
    中秋干貨之系統啟動修復

    若根分區為邏輯卷
    如下圖,只有boot是獨立普通分區
    中秋干貨之系統啟動修復

    在修復模式下,看不到具體的邏輯分區
    中秋干貨之系統啟動修復

    使用lvscan能看到邏輯分區處于非活動狀態,使用vgchange -ay激活邏輯分區,再次查看分區信息,看到了邏輯設備
    中秋干貨之系統啟動修復
    接下來還是需要掛載邏輯卷,創建/etc/fstab文件,我們先掛載根文件系統,再創建fstab文件呢
    中秋干貨之系統啟動修復
    中秋干貨之系統啟動修復
    然后重啟進入修復模式,讓系統能識別并掛載根
    中秋干貨之系統啟動修復
    已經識別到了



到這一步說明已經識別掛載了根分區,至此我們使用前述方法再修復/boot/分區,就能正常啟動系統了
中秋干貨之系統啟動修復

了解原理之后,修復系統啟動失敗其實就是這么簡單!

原創文章,作者:M20-1--孔祥文,如若轉載,請注明出處:http://www.www58058.com/46658

(0)
M20-1--孔祥文M20-1--孔祥文
上一篇 2016-09-15
下一篇 2016-09-15

相關推薦

  • 安裝CentOS6.8操作系統

        工具:     VMware Workstation 12     http://www.vmware.com/cn/products/workstation/workstation-evaluation.html  &n…

    Linux干貨 2016-08-04
  • Linux find命令使用詳則

    find命令 find命令用來在指定目錄下查找文件。任何位于參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄欲文件。并且將查找到的子目錄和文件全部進行顯示。 語法 find(選項)(參數) 選項 -amin<分鐘>:查找在指定時間曾被存取過的文件或者目錄,單位以分鐘計算; -ane…

    2017-08-03
  • Raspberry pi設置自動撥號,搭建無線路由環境

    Raspberry pi設置自動撥號,搭建無線路由環境 前言  raspberry pi(樹莓派), 是一款針對電腦業余愛好者、教師、小學生以及小型企業等用戶的迷你電腦,由于可以燒錄Linux操作系統,因此可以衍生出各種各樣的使用途徑,諸如控制版,爬蟲機器,個人vps,門禁系統…..本文主要介紹如何在raspberry pi上面完成pppoe撥號上…

    2017-03-28
  • Find命令以及解壓與壓縮文件的相關指令

    1,find   實時查找,通過遍歷指定路徑完成文件的查找 查找路徑:指定具體目標路徑,默認為當前目錄 查找條件:指定的查找標準,可以文件名,大小,類型,權限等標準進行,默認為找出指定路徑下的所有文件 處理動作:對符合條件的文件做操作,默認輸出至屏幕 find -maxdepth level  最大搜索目錄深度 -mindept…

    2017-08-12
  • 運維面試題, 不知是否正確的答案

    1、簡述TCP三次握手四次揮手過程及各過程中客戶端和服務器端的狀態。 握手: client 發送請求SYN到 server; 狀態:server;初始狀態為LISTEN,client 發送SYN后變為SYN_SENT server 發送ACK回應,并發送SYN請求到 client;狀態:服務器收到SYN后,變為SYN_RCVD,發送ACK+SYN后,變為ES…

    Linux干貨 2016-06-23
  • iptables

    一、機制 部隊大院、高檔私人住宅區都是在一個被保護起來的范圍內,要想進入只能從各個大門進入,在進入的時候還在門口出示證件、或者是指紋識別、或者是保安身份認證等,只有通過了這些檢查才能進入到大院、住宅區內部。 Linux系統也是這么一個大院,netfilter就是這個大院的圍墻,prerouting、input、output、forward、postrouti…

    Linux干貨 2017-01-13

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-23 09:11

    寫的很不錯,圖文并茂,很詳細,

欧美性久久久久