Linux系統修復

boot裏面我們可以根據自己的需求去設置一些啓動選項,我們今天來了解一下Linux啓動流程,以及boot下的選項。

     wKiom1fXmpOgvkf1AAFXG-vVIDs288.png


    1. 加載BIOS的硬件信息,獲取第一個啓動設備。

    2. 讀取第一個啓動設備MBR的引導加載程序(grub)的啓動信息

    3. 加載核心操作系統的核心信息,核心開始解壓縮,並嘗試驅動所有的硬件設備。

    4. 核型執行init程序並獲取運行信息。

    5. Init執行/etc/rc.d/rc.sysinit文件。

    6. 啓動核心的外掛模塊(/etc/modprobe.conf)

    7. Init執行運行的各個批處理文件(scripts).

    8. Init執行/etc/rc.d/rc.local.

    9. 執行/bin/login程序,等待用戶登錄。

    10. 登錄之後開始以Shell控制主機。


   POSTPower-On-Self-Test,加電自檢,是BIOS功能的一個主要部分。負責完成對CPU、主板、內存、硬盤子系統、顯示子系統、串並行接口、鍵盤、 CD-ROM光驅等硬件情況的檢測。

   ROM BIOS Basic Inputand Output System,保存着有關計算機系統最重要的基本輸入輸出程序,系統信息設置、開機加電自檢程序和系統啓動自舉程序等。

   RAM CMOS互補金屬氧化物半導體,保存各項參數的設定按次序查找引導設備,第一個有引導程序的設備爲本次啓動設備bootloader: 引導加載器,引導程序

    Boot Loader:主要功能識別.加載操作系統中的核心文件,並提交到內存中運行,進而啓動對應的操作系統,每一種操作系統都有自己單獨的Boot Loader,只有使用自己的Boot            Loader纔可以加載到自己的核心文件。Boot Loader另一個主要功能是提供菜單信息(可以向使用者提供不同的啓動項目,來加載不同的操作系統),並將啓動管理功能

          轉交給其他的加載程序。

   Linux:功能豐富,提供菜單,允許用戶選擇要啓動系統或不同的內核版本;把用戶選定的內核裝載到內存中的特定空間中,解壓、展開,並把系統控制權移交給內核

    stage1:運行boot Loader的程序與配置項加載分成三個階段(stage)來運行,MBR空間有限,因此在MBR中僅安裝Boot Loader的最小主程序,並沒有安裝Boot Loader的相關配置文件

    stage1_5:在MBR隨後的扇區中存放,主要用於與stage2所在分區的文件系統進行交互。

    stage2:通過Boot Loader加載所有配置文件及相關的環境參數信息,這些配置文件及相關的環境參數都存放於磁盤分區上的/boot目錄上。

    grub:最重要的一部分就是識別磁盤信息,grub對硬盤的識別是通過以下方式:

    (hd0,0)

     1.硬盤代號以小括號()括起來;

     2.硬盤以hd表示,後面會接一組數字,數字之間以逗號隔開;

     3.以搜尋到的順序來作爲磁盤的編號,而非根據磁盤的排線編號(多硬盤情況下, 搜尋的次序是根據bios中設置的啓動順序,而非插槽編號);

     4.第一個搜尋到的磁盤編號爲0,第二個爲1,一次類推。

     5.每塊磁盤上的第一個分區編號爲0,第二個分區爲1,以此類推。

      #:因此(hd0,0)就表示第一塊磁盤上的第一個分區。

     default=0

         表示默認的啓動條目,假如同時裝有多個操作系統,0表示定義的第一個title系統,1表示定義的第二個title系統,以此類推

     timeout=5

         表示可供選擇的等待時間,如果超過5秒,則使用默認的啓動條目default定義的

     splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz

          定義啓動時的背景圖片信息

     hiddenmenu

         啓動時是否要顯示菜單,默認情況下是不顯示菜單信息,如果想要顯示菜單,可以將該配置註釋即可;

   註釋菜單:

    title:定義操作系統的名稱

    root :表示內核文件存放的位置,這裏指定的是分區位置,而非根目錄。

    kernel:內核的名稱以及一些啓動時的核心參數,由於啓動過程中需要掛載根目錄,因此就需要指定根目錄所在的分區,rhgb表示色彩顯示,quiet表示靜默模式加載內核。

    initrd:指定用於輔助內核完成系統啓動的ramdisk文件路徑再次在內存緩存

     

   默認啓動級別:

     wKiom1fXu5TAfTjHAACSE2UUE-8455.png

       0:關閉所有服務;關機

       1:維護模式;單用戶模式,sigle模式,此級別可允許root用戶直接登錄而無需認證。

       2:維護模式;多用戶模式,需要用戶認證,會啓動網絡功能,但不支持使用NFS。

       3:正常級別:完全多用戶模式,文本界面。

       4:預留級別:

       5:正常級別:完全多用戶模式,圖形界面。

       6:關閉所有服務;重啓

      #:通常使用較多的默認級別爲3或者5,服務器基本上默認使用3級別,即文本界面。

      #:查看當前運行的級別可以使用runlevel或者who -r

    wKiom1fXv4SirhdrAAANLaqb-50098.png

     #:禁用Ctrl+Alt+Delete重啓;(centos 6)

       1.cp -v /etc/init/control-alt-delete.conf /etc/init/control-alt-delete.override

       2.vim /etc/init/control-alt-delete.override

       3.將exec /sbin/shutdown -r now "Control-Alt-Delete pressed"改爲exec /usr/bin/logger -p authpriv.notice -t init"ctrl-alt-del was pressed and ignored"

破壞及修復:

    stage1:破壞

        [root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=1 count=446

        [root@localhost ~]# hexdump -Cv /dev/sda -n 446

    stage1:修復

    1.重啓並進入救援模式

   wKioL1fX49awI9ZPAAaPweiQpDs109.png

    2.選擇語言

   wKiom1fX49eAO2vXAAAgZ9F8xuY564.png

    3.設置網絡選擇NO

   wKioL1fX49fAhxldAAAQtj1BbWU326.png

    4.輸入continue

   wKiom1fX49jzcJ0oAAA4dlILxeU534.png

    5.打開shell終端,並切換至根目錄,chroot /mnt/sysp_w_picpath/

   wKiom1fX49jCVy3vAAAt24xGrcM164.png

    6.錯誤輸出信息可以忽略,看到設設備信息即可。

   wKioL1fX49jiaqbPAABMH7Cz1YA450.png

   wKiom1fX49njaKodAAAeMC6y6iI013.png

    7.就此stage1已經修復完成,重啓即可完成。

 stage1_5:破壞

    dd if=/dev/zero of=/dev/sda bs=512 count=2 seek=1

 stage1_5:修復

    1.重啓系統

    2.光盤啓動,進入救援模式。

   wKiom1fX557i1Jp8AABbIdJfE8I313.png

    3.使用grub工具修復引導文件,修復完成,直接重啓即可。

 boot:破壞,直接刪除boot目錄

 boot:修復

    1.刪除boot目錄下全部文件並重啓

     [root@localhost ~]# rm -rf /boot/*

    2.重啓並進入救援模式

   wKiom1fX7V6yCnJPAAAOckqUR5A100.png

    3.進入根目錄,掛載鏡像

   wKioL1fX7V_D9MLBAAAczt0S0NI284.png

    4.重新安裝kernel

   wKiom1fX7V_iSKEWAAAS60MhvuQ563.png

    5.修復引導文件

   wKioL1fX7V-xsEYuAAAQOJECVzg863.png

    6.編輯/etc/grub.conf配置文件

   wKioL1fX7WCioHiNAAAwbP91_gk683.png

    7.修復完成,重啓即可。

 boot:破壞    

    [root@localhost ~]# rm -rf /boot/*

 fstab:破壞

    [root@localhost ~]# rm -rf /etc/fstab

 引導修復,fstab文件修復。

    1.重啓並進入救援模式。

    2.我們會發現系統檢測不到根目錄,因爲我們把/etc/fstab刪除了

   wKioL1fX9nuinS0lAAArbI9sj64838.png

    3.查看邏輯卷,並激活邏輯卷,默認關閉狀態

   wKioL1fX9nyz31ECAAAaUugGEzw071.png

    4.掛載根目錄。

   wKiom1fX9nzzonHHAAAFe9tMKps663.png

    5.新建/etc/fstab並寫入掛載信息,重啓進入救援模式,讓系統自動檢測。

   wKioL1fX9nzjvJ4bAAAqG7z5LQM133.png

    6.這裏我們發現系統已經檢測到了路徑/etc/sysp_w_picpath

   wKiom1fX9n2BUsbhAAA6zxq8hLA435.png

    7.重新進入根目錄,掛載鏡像文件。

   wKioL1fX9n7iogc1AAAWXe5cEzY544.png

    8.重新安裝kernel,並修復引導文件

   wKiom1fX9n7xihH3AAApErgQoBY624.png

    9.編輯/etc/group引導文件

   wKiom1fX9n6Rzv4tAAAvObH63oQ324.png

    10.到這一步已經修復完成了,直接重啓即可正常進入系統。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章