16.11 Linux GRUB配置文件
本節,我們就來看看 GRUB 的配置文件 /boot/gmb/grub.conf 中到底寫了什么。命令如下:
[rootdlocalhost ~]# vi /boot/grub/grub.conf default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu \#以上為GRUB的整體設置 title CentOS (2.6.32-279.el6.i686) root (hdO,0) kernel /vmlinuz-2.6.32-279.el6.i686 ro root=OOID=b9a7ala8-767f-4a87-8a2b-a535edb362c9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel= auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-279.el6.i686.img
這個文件的內容可以分成兩部分:前 4 行為 GRUB 的整體設置;title 以下 4 行為要啟動的 CentOS 系統的具體配置。這里只安裝了一個系統,如果多系統并存,那么每個系統都會有類似的 title 行存在(不一定都是 4 行)。
我們先看整體設置:
default=0:默認啟動第一個系統。也就是說,如果在等待時間結束后,用戶沒有選擇進入哪個系統,那么系統會默認進入第一個系統。如果有多系統并存,那么每個系統都會有自己的 title 字段,如果想要默認進入第二個系統,這里就可以設為 default=1。
timeout=5:等待時間,默認是 5 秒。也就是在進入系統時,如果 5 秒內用戶沒有按下任意鍵,那么系統會進入 default 字段定義的系統。當然,也可以手工修改這個等待時間,如果timeout=0,則不會等待直接進入系統;如果 timeout=-1,則會一直等待用戶輸入,而不會自動進入系統。
splashimage=(hd0,0)/gnjb/splash.xpm.gz:用來指定 GRUB 啟動時的背景圖像的保存位置。記得 CentOS 6.x 啟動時后臺的藍色圖像吧,就是這個文件的作用。不過這個文件具體在哪里呢?我們已經說過,hd(0,0) 代表第一塊硬盤的第一個分區,而筆者的系統在安裝時 /boot 分區就是第一個分區,所以這個背景圖像的實際位置就是 /boot/gmb/splash.xpm.gz。
hiddenmenu:隱藏菜單。啟動時默認只能看到讀秒,而不能看到菜單。如果想要看到菜單,則需要按任意鍵。如果注釋了這句話,那么啟動時就能直接看到菜單了。
再來介紹 CentOS 系統的具體配置:
title CentOS(2.6.32-279.d6.i686):title 就是標題的意思,也就是說,在 title 后面寫入的是什么,系統啟動時在 GRUB 的啟動菜單中看到的就是什么。
root(hd0,0):是指啟動程序的保存分區。這里要注意,這個 root 并不是管理員。在我的系統中,/boot 分區是獨立劃分的,而且設備文件名為 /dev/sda1,所以在 GRUB 中就被描述為 hd(0,0)。
kernel /vmlinuz-2.6.32-279.el6.i686 ro root=UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet。其中:
/vmlinuz-2.6.32-279.el6.i686:指定了內核文件的位置,這里的 / 是指 boot 分區。
ro:啟動時以只讀方式掛載根文件系統,這是為了不讓啟動過程影響磁盤內的文件系統。
root=UUID=b9a7a1 a8-767f-4a87-8a2b-a535edb362c9:指定根文件系統的所在位置。這里和以前的Linux版本不太一樣了,不再通過分區的設備文件名或卷標號來指定,而是通過分區的 UUID 來指定的。
那么,如何査詢分區的 UUID 呢?方法有很多種,最簡單的辦法就查詢 /ec/fstab 文件。命令如下:
[root@localhost ~]# cat /etc/fetab | grep"/ " UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9 / ext4 defaults 1 1
可以看到"/“分區的 UUID 和 kernel 行中的 UUID 是匹配的。注意一下 grep 后的”/",在"/"后是有空格的。
以下禁用都只是在啟動過程中禁用,是為了加速系統啟動的:
rd_NO_LUKS:禁用 LUKS,LUKS 用于給磁盤加密。
rd_NO_MD:禁用軟 RAID。
rd_NO_DM:禁用硬 RAID。
rd_NO_LVM:禁用 LVM。
除了以上這樣,命令輸出信息中還包含以下內容:
1. KEYBOARDTYPE=pc KEYTABLE=us:鍵盤類型。 2. crashkernel=auto:自動為crashkernel預留內存。 3. LANG=zh_CN.UTF-8:語言環境。 4. rhgb:(redhatgraphics boot)用圖片來代替啟動過程中的文字信息。啟動完成之后可以使用dmesg命令來查看這些文字信息。 5. quiet:隱藏啟動信息,只顯示重要信息。 6. initrd/initramfs-2.6.32-279.el6.i686.img:指定了initramfs虛擬文件系統鏡像文件的所在位置。
GRUB的配置文件的內容就是這樣的,主要是 kernel 行較為復雜。不過,在這個 /boot/gmb/grub.conf 配置文件中,只啟動了一個 Linux 系統。如果在 Linux 服務器中 既安裝了 Linux 系統,又安裝了 Windows 系統,那么 GRUB 的配置文件又是什么樣子的呢?
CentOS Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。