提示:
簡單地說,
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
目錄下檢視裡邊有什麼檔案。
如下圖所示:
說明:
symvers-2. 6.32- -642.e16.x86_ 64.gz
是系統執行真正載入的核心, 是核心原始碼編譯之後的核心內容,你是不能看到其內容的。如果你想檢視Linux核心原始碼,需要進入到usr/src/kernel
目錄中,前提你需要安裝好核心原始碼包。所以系統執行載入的核心和系統原始碼核心的位置是不同的。
2)進入到/grub
目錄中檢視內容。
如下圖所示:
在/grub
目錄中,我們主要關注的就三個檔案,分別是grub. conf
、menu.lst
、splash.xpm.gz
,其他檔案是不需要我們動的,是grub
載入之後需要用到的一些相關檔案。
說明:
grub. conf
檔案是grub
的配置檔案,menu.lst
檔案是grub.conf
檔案的軟連結,所以menu.lst
檔案也是grub
的配置檔案。其實grub.conf
檔案還有一個軟連結,/etc/grub.conf
檔案也是grub.conf
檔案的軟連結,如下圖所示:
三個檔案隨意用哪個檔案都可以,看你個人習慣。
這裡還要說明一下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
這個檔案。