grub應用

GRUB(Boot Loader)

一、 grub legacy:
    1. stage1: mbr
    2. stage1_5: mbr之後的扇區,讓stage1中的bootloader能識別stage2所在的分區上的文件系統;
    3. stage2:磁盤分區(/boot/grub/)

 二、 配置文件:/boot/grub/grub.conf <-- /etc/grub.conf

 (一) stage2及內核等通常放置於一個基本磁盤分區;
        1. 功用:
            (1) 提供菜單、並提供交互式接口                               wKiom1aHipvwMLAFAAAUKR-wWDs721.png

e: 編輯模式,用於編輯菜單;

wKioL1aHis2RKIbTAAAcWAJo9ZM119.png

 c: 命令模式,交互式接口;

wKioL1aHiu-gPPdjAAAPlk_6ncA772.png

            (2) 加載用戶選擇的內核或操作系統
                允許傳遞參數給內核
                可隱藏此菜單
            (3) 爲菜單提供了保護機制
                 爲編輯菜單進行認證
                 爲啓用內核或操作系統進行認證

 (二) 如何識別設備:
             格式: (hd#,#)
              hd#: 磁盤編號,用數字表示;從0開始編號
              #: 分區編號,用數字表示; 從0開始編號

 (三)grub的命令行接口
             help: 獲取幫助列表

wKioL1aHi0PhC_g9AAAuTqK5Lg4152.png                     help KEYWORD: 詳細幫助信息

wKiom1aHi0Ly25EAAAAvu7jePHw300.png            

             find  (hd#,#)/PATH/TO/SOMEFILE:

wKioL1aHi4-ya6Z_AAATgP7F62M663.png                        root (hd#,#)
             kernel /PATH/TO/KERNEL_FILE: 設定本次啓動時用到的內核文件;額外還可以添加許多內核支持使用的cmdline參數;
            initrd /PATH/TO/INITRAMFS_FILE: 設定爲選定的內核提供額外文件的ramdisk;
            boot: 引導啓動選定的內核;

 (四)手動在grub命令行接口啓動系統: 

           grub> root (hd#,#)
           grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
           grub> initrd /initramfs-VERSION-RELEASE.img
           grub> boot

wKiom1aHi7rgaKU3AAAaPuJgofw505.png

 (五) 配置文件:/boot/grub/grub.conf   

wKioL1aHjDiDfG6EAABpZTqQUuU281.png        1.  配置項:
            default=#: 設定默認啓動的菜單項;落單項(title)編號從0開始;
            timeout=#:指定菜單項等待選項選擇的時長;
            splashp_w_picpath=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜單背景圖片文件路徑;
            hiddenmenu:隱藏菜單;
           password [--md5] STRING: 菜單編輯認證;
           title TITLE:定義菜單項“標題”, 可出現多次;
           root (hd#,#):grub查找stage2及kernel文件所在設備分區;爲grub的“根”;
           kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:啓動的內核
           initrd /PATH/TO/INITRAMFS_FILE: 內核匹配的ramfs文件;
           password [--md5] STRING: 啓動選定的內核或操作系統時進行認證;

wKiom1aHjF2BQbEOAABwbRghDdE995.png 

wKioL1aHjJ3D12W8AAATVbZ-_Eo831.png

 

wKioL1aHjLqglO4XAAAUlfGi-0g361.png

(六) grub-md5-crypt命令

wKioL1aHjF-jV6Q2AAAQX3hug6I642.png

 (七)進入單用戶模式:
     1. 編輯grub菜單(選定要編輯的title,而後使用e命令); 
     2. 在選定的kernel後附加
        1, s, S或single都可以;
     3. 在kernel所在行,鍵入“b”命令;

三、如何在新硬盤安裝grub

      1. 添加一塊新硬盤

      2. 在新磁盤上新建分區,第二個分區爲swap分區

wKiom1aHjxPRfxiwAAAzKWJHwiU178.png

      3. 格式化三個分區

wKioL1aHj3TDJfSWAABJtu1mad8818.png

wKiom1aHj1PiJQjxAABQaWq-5U8811.png

wKiom1aHj1STctIYAAAWRlHTM9c941.png

       5.在mnt下創建boot目錄,將/dev/sdb1掛在到其上

wKiom1aHj9aAKLxQAAATycoLV7Q218.png

        6.在sdb上安裝grub

wKioL1aHkETTj_cCAAAwEy5cIsQ818.png

wKiom1aHkFmjkoBHAAAfIOxM9Nc598.png      7.複製kernrl以及initrd到/mnt/boot下

wKiom1aHkTWRiBvVAAASKOGTCM0477.png

      8.編寫grub的配置文件/mnt/boot/grub.grub.conf

wKiom1aHkcbxUSXZAAAWcqh-8v0041.png

       9.創建根文件系統以及在其下面創建所必須的目錄

wKiom1aHkm6htjjkAABjtBSaVGA206.png

        10.查看/bin/bash以來的庫,以及將這些庫文件複製到其相對應的目錄中

wKiom1aHkxDT8YikAABV1evgMrQ950.png

        11.切換至新建的根,驗證其是否可用,只不過bash中沒有其他可用的命令,只有內建命令可用

wKioL1aHk4fxIo_EAAARyckXV2s838.png

         12.重新編譯配置文件,因爲init不再是sbin下的而是bin下的bash

wKiom1aHlEfzhVfeAAAaoj9VgD8702.png

         13.在此係統上新建磁盤,在選擇磁盤的時候要選擇自己剛纔新建的磁盤而不是以前的磁盤

wKioL1aHlKXTAaonAAA1rhJicvw918.png

          14.然後選擇啓動就可以看到自己編譯的配置文件的信息

wKiom1aHla7RYJHuAAAVBEdKPrM883.png

 

wKioL1aHle3ilcq4AAAbWLNW2GI209.png

            15.在啓動之前進入kernel中添加selinux=0,一定的是在init之前

wKiom1aHllDhyhf4AAASyWtBRG8801.png

          16.其中系統就可以看到自己安裝的簡易的系統了

wKioL1aHlq_TLlAaAAATeDf8Otk264.png

四、安裝grub:

   1.備份一下grub文件

wKiom1aHlvvCxcWdAAAamkU5FQQ418.png

   2.破壞grub文件

wKioL1aHlzzyBG8vAAAZp5Mor6Y540.png

    (1) grub-install
    grub-install --root-directory=ROOT /dev/DISK
  wKioL1aHl2uAo0EQAAApDY9NJyU313.png   (2) grub,在root設備上必須事先存在grub目錄,而且其下的問價都必須得存在
    grub> root (hd#,#)
    grub> setup (hd#)

wKioL1aHl4fw4JyLAABReMtOoF4666.png

五、緊急救援模式

        1. 再次破環grub

wKiom1aHmKvzcjTRAAAiyWX0arM563.png

        2.連接光盤鏡像,重新啓動,第三個選項就是救援模式,也可以敲Esc鍵,在命令行接口輸入linux rescue,也可以進入緊急救援模式:

wKioL1aHmRmTfG3EAAR8fekecWw718.png

         3.設置語言

wKioL1aHmZnS73L6AAAgWjaYcY8099.png

         4.設置鍵盤類型

wKiom1aHmZnzZW_LAAAfNc4MpI4090.png

           5.是否連接網絡,如果要從網絡中下載的話就要選擇啓動,如果自己明確知道本地有的話可以不用選擇。

wKioL1aHml6zyTNTAAAWY9Kx0rw767.png

           6.緊急救援模式會嘗試在本地磁盤尋找是否有操作系統,如果找到的話,就會把根掛載至當前啓動的這個小的救援模式的/mnt/sysimsge目錄下,就可以到sysp_w_picpath目錄下找到這些文件了。

wKiom1aHmzGBXkPaAAAvopjN_5k800.png

            7.顯示找到系統,而且根掛載至當前啓動的這個小的救援模式的/mnt/sysimsge目錄下,用的時候直接切換至sysp_w_picpath目錄下即可

wKioL1aHm8XyTf39AAAfwQPMvLw116.png

 

wKioL1aHm_CBZvvNAAAT7q-51Mg219.png

            8.啓動shell,就會出現提示符

wKiom1aHnAPBR4OkAAAUBGC84Rw500.png

 

wKiom1aHnDvzMDM0AAAV7WcyTTY508.png

            9.切換根至/mnt/sysimsge目錄

wKioL1aHnJmAgKN0AAAJxbm0FbI959.png

            10.安裝grub

wKioL1aHnMSRqspHAAARO9hmMSw751.png

            11.然後就可以重新啓動系統

wKiom1aHnMvyWgxfAAAFTUPrTTI965.png

 

 

 

 

 

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