新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 教你如何學習GRUB

        教你如何學習GRUB

        作者: 時間:2016-09-12 來源:網絡 收藏

        timeout=3 (注:timeout表示默認等待的時間,這兒是3秒鐘。超過3秒,用戶還沒有作出選 擇的話,系統將自動選擇默認的操作系統;當然你可以改成任何你樂意的時間)

        splashimage=(hd0,0)/boot/grub/splash.xpm.gz (注:指定開機畫面文件splash.xpm.gz的位置)

        title Red Hat Linux (2.4.18-14) (注:表示Red Hat Linux的菜單項)

        root (hd0,0) (注:表示第一個硬盤第一個分區,這里的root和系 統內的root不是一碼事!詳細如下說明)

        kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/ (注:指定內核的位置,詳細說明如下 文)

        initrd /boot/initrd-2.4.18-14.img (注:初始化)

        title Microsoft Windows XP (注:表示Microsoft Windows XP的菜單項)

        map (hd0) (hd1) (注:map是命令,詳細如下)

        map (hd1) (hd0)

        root (hd1,0) (注:這是指第二個硬盤(從硬盤)上第一個分區)

        chainloader (hd1,0)+1 (注:鏈式裝入器,裝入一個扇區的數據然后把引導 權交給它。詳細說明如下)

        makeactive

        boot

        (注:在 Linux 中,當談到 root 文件系統時,通常是指主 Linux 分區。但是, 有它自己的 root 分區定義。 的 root 分區是保存 Linux 內核的分區。這可能是您的正式 root 文件系統,也可能不是。我們討論的是 ,需要指定 GRUB 的 root 分區。進入 root 分區時,GRUB 將把這個分區安裝成只讀型,這樣就可以從該分區中裝入 Linux 內核。GRUB 的一個很“酷”的功能是它可以讀取本機的 FAT、FFS、minix、ext2 和 ReiserFS 分區.到目前為止,您可能會感到一點疑惑,因為 GRUB 所使用的硬盤/分區命名約定與 Linux 使用的命名約定不同。在Linux 中,第一個硬盤的第五個分區稱作 hda5。而 GRUB 把這個分區稱作 (hd0,4)。GRUB 對硬盤和分區的編號都是從 0 開始計算。另外,硬盤和分區都用逗號分隔,整個表達式用括號括起。現在,可以發現如果要引導 Linux 硬盤 hda5,應輸入 root (hd0,4)。

        知道了內核在哪兒,還要具體指出哪個文件是內核文件,這就是kernel的工作。

        kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/說明/boot/vmlinuz-2.4.18-14就是要載入的內核。后面的都是傳遞給內核的參數。root=LABEL=/就是的硬盤分區表示法,ro是readonly的意思。initrd用來初始的 image,并設置相應的參數。

        命令map:當你有兩塊硬盤,一個無法從第二塊硬盤啟動的操作系統,例如Windowsxp,就可以使用map命令.你能夠將hd0映射為hd1,將hd1映射為hd0。換句話說,你可以虛擬的交換兩個硬盤而啟動所需要的操作系統 。命令形式如下:

        grub> map (hd0) (hd1)

        grub> map (hd1) (hd0)

        GRUB 使用了“鏈式裝入器”(chainloader)。鏈式裝入器從分區 (hd1,0) 的引導記錄中裝入winxp自己的引導裝入器,然后引導它。這就是這種技術叫做鏈式裝入的原因 -- 它創建了一個從引導裝入器到另一個的鏈。這種鏈式裝入技術可以用于引導任何版本的 DOS 或 Windows。

        GRUB的配置文件要簡單就這么簡單,如果你要更個性化一點,試一試把“color light-gray/blue ”加在default語句的下面,下一次啟動GRUB時,看看有什么變化,再試一試“color light-blue/red,驚喜嗎? 有趣吧! )

        3 如何使用grub?

        3.1 安裝

        你可以從ftp://alpha.gnu.org/pub/gnu/grub 下載GRUB的源代碼。

        得到文件grub-0.5.96.1.tar.gz,所以這樣做:

        # tar -xvzf grub-0.5.96.1.tar.gz

        這個命令將解開的文件和目錄放在一個名為grub-0.5.96.1的目錄中。現在運行如

        下命令:

        #cd grub-0.5.96.1

        # ./configure

        如果你想定制GRUB,使之包含流行的文件系統和對網卡的支持,或者刪除你不需要的網卡,可以運行如下命令:

        # ./configure --help

        這個命令將輸出所有的命令選項。現在可以使用—enable和—disable選項增加或

        刪除對特定網卡的支持。(注意:GRUB支持網絡啟動)

        為了開始編譯過程,鍵入如下命令:

        # make

        # make install

        至此你已經為安裝GRUB真正做好了準備。

        將GRUB的相關文件保存在諸如/boot/grub的目錄中是一個好主意。為此,按如下步驟:

        1.默認狀態下,GRUB所有文件將安裝在/usr/share/grub/i386-pc(或者在

        /usr/local/share/grub/i386-pc目錄下,這只取決于你的shell變量的設置。)

        2.建立一個叫做/boot/grub的目錄,然后拷貝下列文件到這個目錄:

        stage1 stage2 * stage1 5

        稍候將解釋這些文件。同時也要把GRUB(可能在/usr/sbin或者/usr/local/sbin

        目錄下)拷貝到/boot/grub目錄下。

        安裝GRUB可以分為三個單獨的步驟:

        1.將“stage1”安裝到MBR中。

        2.設置“stage2”的地址或者位置。

        3.設置一個菜單或選項,用來決定啟動哪一個操作系統。

        使用下面的命令開始安裝GRUB。

        #cd /boot/grub

        # ./grub

        這個命令根據BIOS的設置檢測硬件設備,同時產生一些輸出信息。這會花較長的時間。

        end_request: I/O error, dev 02:00 (floppy), sector 0

        GRUB version 0.5.96.1 (640K lower / 3072K upper memory)

        TAB鍵可列出可能的命令列表。其它情況下TAB會列出設備或文件名。類似下面的提示會出現:

        grub>

        現在,假設你將Linux安裝在了第一塊硬盤的第一個分區中或者/dev/hda1中。記住GRUB的命名規則,將上面的名字改為(hd0,0)。鍵入下面的命令:

        grub> install (hd0,0)/boot/grub/stage1 (hd0) (hd0,0)/boot/grub/stage2

        p (hd0,0)/boot/grub/menu.conf

        現在分析一下這個命令的細節。

        install

        一個內置的命令,它告訴GRUB將(hd0,0)/boot/grub/stage1安裝到hd0的主引導紀錄中。

        (hd0,0)/boot/grub/stage2



        關鍵詞: GRUB linux

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 皮山县| 萝北县| 洪雅县| 双牌县| 威远县| 鄂尔多斯市| 沙河市| 莎车县| 福海县| 辽宁省| 唐海县| 鹤山市| 汶川县| 西盟| 安康市| 崇礼县| 民丰县| 仪陇县| 上饶市| 滨州市| 扶余县| 大港区| 永登县| 石阡县| 吉水县| 胶南市| 稻城县| 铅山县| 高尔夫| 牟定县| 锡林郭勒盟| 常德市| 来凤县| 巴林右旗| 云梦县| 双辽市| 安吉县| 英超| 焦作市| 灵宝市| 丰城市|