中秋干貨之系統啟動修復

在使用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 13:19
下一篇 2016-09-15 15:38

相關推薦

  • 第六周練習

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; 1.[root – www ~]#>cp /etc/rc.d/rc.sysinit /tmp/2.[root – www ~]#>vi /tmp…

    Linux干貨 2016-12-11
  • Linux磁盤管理

    一、磁盤簡介 機械硬盤的組成部件主要有:盤片、機械手臂、磁頭與主軸馬達;盤片又可以細分為扇區(Sector)和磁道(Track),所有盤片的同一個磁道稱之為柱面(Cylinder) 目前主流的磁盤接口有SCSI、SATA、SAS、USB等 Linux一切皆文件,硬件設備也有對應的文件,linux訪問設備,其實就是訪問與其對應的文件系統接口 設備文件: &nb…

    Linux干貨 2016-06-01
  • DNS快速入門、正反向解析……

    DNS服務原理詳解 因特網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析。 我們在訪問一個網站的時候,只要輸入該網站的網址就會跳轉到該網站頁面,而實現這一過程就需要DNS服務器將域名解析為IP地址,進而實現數據通信。 DNS:…

    2017-06-03
  • 模擬centos6.8系統下initramfs文件和vmlinuz文件損壞恢復

    實驗一:關于刪除initramfs-2.6.32-642.el6.x86_64.img 文件恢復實驗,實驗環境centos6.8系統 1.安全起見,請先安排做快照及備份 把initramfs-2.6.32-642.el6.x86_64.img 文件復制一份/root目錄下。 [root@centos6: boot]# cp -a initramfs-2.6.…

    2017-05-15
  • IPTABLES

    IPTABLES 軟防火墻 防火墻是做什么的: 在生活中顧名思義防火墻即是為了防止火勢、火情蔓延而設立的一道屏障,那么這道屏障在設置在那里后就可以保障內外兩地將無情火分隔,保證我的內地不受外地的火情影響,從而安全的生活下去;查看下圖幫助理解防火墻; 圖1-1     圖1-1可以看出當數據流量從外網主機訪問內網主機時,…

    Linux干貨 2017-03-15
  • M22 Centos6上編譯安裝httpd2.4并實現HTTPS瀏覽

    隨著網絡技術的發展,人們對信息安全越來越重視,傳統的http瀏覽互聯網的方式由于未經加密,其安全性廣為人們詬病,https協議作為加密的互聯網解決方案解決了這一問題。下面我就簡要說明下如何實現通過https發布web頁面的。   實驗目的: 模擬Centos6上安裝httpd2.4,并實現https加密訪問主頁 實驗器材: Centos6.8虛擬機…

    Linux干貨 2017-04-20

評論列表(1條)

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

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

欧美性久久久久