『學了就忘』Linux啟動引導與修復 — 69、啟動引導程序(grub)


提示:

簡單地說,Boot Loader就是在操作系統內核運行之前運行的一段小程序,稱為啟動引導程序。是加載核心的重要工具,沒有 Boot Loader的話,那么kernel根本就沒有辦法被系統加載的。 而grub是其中的一種啟動引導程序的名稱。

1、啟動引導程序(Boot Loader)簡介

啟動引導程序我們之間可能見過,比如Windows系統,在你的電腦上安裝了兩個不同版本的Windows系統時,在開機啟動的時候,就會有界面讓你選擇,你需要進入到哪個系統中,這個就是啟動引導程序的作用。如果你的電腦上只有一個操作系統,進入到啟動引導程序中也沒有的選擇,所以就沒有顯示讓你選擇進入到哪個系統。

Linux系統的啟動引導程序分為兩種,早期的Lilo引導程序,現在已經不是很常見了。現在常用的是grub引導程序,與Lilo引導程序比來,grub引導程序有很多優勢,主要有:

  • 支持更多的文件系統。
  • grub的主程序可以直接在文件系統中查找內核文件。
  • 在系統啟動時,可以利用grub的交互界面編輯和修改啟動選項。
  • 可以動態的修改grub的配置文件,這樣在修改配置文件之后不需要重新安裝grub,而只需要重新啟動系統就可以生效了。

如果你在機器上安裝了兩個版本的Linux系統,或者使用了不同版本的Linux系統內核,在啟動系統的時候,就能進入到grub啟動引導程序中,選擇你需要進入的版本或者內核。

我們這里就學習Linux系統中的grub啟動引導程序。

2、啟動引導程序grub的作用

  • 第一是加載操作系統的內核。
  • 第二是擁有一個可以讓用戶選擇的菜單,來選擇到底啟動哪個系統。
  • 第三還可以調用其他的啟動引導程序,來實現多系統引導。

3、啟動引導程序grub的位置

grub啟動引導程序的位置在/boot/grub目錄。

1)我們先進入到boot目錄下查看里邊有什么文件。

如下圖所示:

image

說明:

symvers-2. 6.32- -642.e16.x86_ 64.gz 是系統運行真正加載的內核, 是內核源碼編譯之后的內核內容,你是不能看到其內容的。如果你想查看Linux內核源碼,需要進入到usr/src/kernel目錄中,前提你需要安裝好內核源碼包。所以系統運行加載的內核和系統源碼內核的位置是不同的。

2)進入到/grub目錄中查看內容。

如下圖所示:

image

/grub目錄中,我們主要關注的就三個文件,分別是grub. confmenu.lstsplash.xpm.gz,其他文件是不需要我們動的,是grub加載之后需要用到的一些相關文件。

說明:

grub. conf文件是grub的配置文件,menu.lst文件是grub.conf文件的軟鏈接,所以menu.lst文件也是grub的配置文件。其實grub.conf文件還有一個軟鏈接,/etc/grub.conf文件也是grub.conf文件的軟鏈接,

如下圖所示:

image

三個文件隨意用哪個文件都可以,看你個人習慣。

這里還要說明一下splash.xpm.gz文件。

splash.xpm.gz文件里邊標識的是grub啟動的時候界面的背景圖像,如可以自定義顏色。但是編輯格式很不令人輸入,一般也沒有人修改splash.xpm.gz文件,除非你自己要做一個Linux發行版,並且想我的發行版本和標准的Linux發行版本不太一樣,才用修改。

grub. conf配置文件中會有splash.xpm.gz文件的信息。

4、/grub目錄中其他的文件簡單介紹

  • device.map文件:grub中硬盤的設備文件名與系統的設備文件名的對應文件。
  • e2fs_stage 1_5文件:ext2/ext3文件系統的stage 1.5文件。
  • fat_stage 1_5文件:FAT文件系統的stage 1.5文件。
  • ffs_stage 1_5文件:FFS文件系統的stage 1.5文件。
  • iso9660_stage 1_5文件:iso9660文件系統的stage 1.5文件。
  • jfs_stage 1_5文件:jfs文件系統的stage 1.5文件。
  • minix_stage 1_5文件:minix文件系統的stage 1.5文件。
  • reiserfs_stage 1_5文件:reiserfs文件系統的stage 1.5文件。
  • stage1文件:安裝到引導扇區中的stage1的備份文件。
  • stage2文件:stage2的備份文件。
  • ufs2_stage 1_5文件:UFS文件系統的stage 1.5文件。
  • vstafs_stage 1_5文件:vstafs文件系統的Stage 1.5文件。
  • xfs_stage 1_5文件:xfs文件系統的Stage 1.5文件。
  • grub.conf文件:grub的配置文件。
  • menu.lst -> ./grub.conf文件:grub的配置文件。和grub.conf是軟鏈接,所以兩個文件修改哪個都可以。
  • splash.xpm.gz文件:系統啟動時,grub程序的背景圖像。

總結:

其實/grub目錄中主要就是grub的配置文件和各種文件系統的stage1.5文件。不過grub的配置文件有三個/boot/grub/grub.conf/boot/grub/menu.lst/etc/grub. conf,這三個配置文件是軟鏈接,所以修改哪一個都可以,我個人更習慣為/etc/grub.conf這個文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM