天天看點

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) 提供菜單、并提供互動式接口                               

grub應用

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

grub應用

 c: 指令模式,互動式接口;

grub應用

            (2) 加載使用者選擇的核心或作業系統

                允許傳遞參數給核心

                可隐藏此菜單

            (3) 為菜單提供了保護機制

                 為編輯菜單進行認證

                 為啟用核心或作業系統進行認證

 (二) 如何識别裝置:

             格式: (hd#,#)

              hd#: 磁盤編号,用數字表示;從0開始編号

              #: 分區編号,用數字表示; 從0開始編号

 (三)grub的指令行接口

             help: 擷取幫助清單

grub應用

                     help KEYWORD: 詳細幫助資訊

grub應用

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

grub應用

                        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

grub應用

 (五) 配置檔案:/boot/grub/grub.conf   

grub應用

        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: 啟動標明的核心或作業系統時進行認證;

grub應用
grub應用
grub應用

(六) grub-md5-crypt指令

grub應用

 (七)進入單使用者模式:

     1. 編輯grub菜單(標明要編輯的title,而後使用e指令); 

     2. 在標明的kernel後附加

        1, s, S或single都可以;

     3. 在kernel所在行,鍵入“b”指令;

三、如何在新硬碟安裝grub

      1. 添加一塊新硬碟

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

grub應用

      3. 格式化三個分區

grub應用
grub應用
grub應用

       5.在mnt下建立boot目錄,将/dev/sdb1挂在到其上

grub應用

        6.在sdb上安裝grub

grub應用
grub應用

      7.複制kernrl以及initrd到/mnt/boot下

grub應用

      8.編寫grub的配置檔案/mnt/boot/grub.grub.conf

grub應用

       9.建立根檔案系統以及在其下面建立所必須的目錄

grub應用

        10.檢視/bin/bash以來的庫,以及将這些庫檔案複制到其相對應的目錄中

grub應用

        11.切換至建立的根,驗證其是否可用,隻不過bash中沒有其他可用的指令,隻有内建指令可用

grub應用

         12.重新編譯配置檔案,因為init不再是sbin下的而是bin下的bash

grub應用

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

grub應用

          14.然後選擇啟動就可以看到自己編譯的配置檔案的資訊

grub應用
grub應用

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

grub應用

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

grub應用

四、安裝grub:

   1.備份一下grub檔案

grub應用

   2.破壞grub檔案

grub應用

    (1) grub-install

    grub-install --root-directory=ROOT /dev/DISK

grub應用

   (2) grub,在root裝置上必須事先存在grub目錄,而且其下的問價都必須得存在

    grub> root (hd#,#)

    grub> setup (hd#)

grub應用

五、緊急救援模式

        1. 再次破環grub

grub應用

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

grub應用

         3.設定語言

grub應用

         4.設定鍵盤類型

grub應用

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

grub應用

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

grub應用

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

grub應用
grub應用

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

grub應用
grub應用

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

grub應用

            10.安裝grub

grub應用

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

grub應用
上一篇: GRUB應用
下一篇: grub應用

繼續閱讀