一分鐘掌握Linux系統grub.conf配置核心知識
引導加載程序(Boot loader)是在計算機在加載操作系統內核之前運行的一段小程序。通過這段小程序,可以初始化硬件設備、建立內存空間的映射圖,從而將系統的軟硬件環境加載到一個適合的狀態,以便為最終調用操作系統內核做好準備。通常,引導加載的程序依賴於硬件實現,早期的Linux系統常見的引導加載程序有2種,即Grub和Lilo,現如今Grub已經成為了主流(類似Windows下的boot.ini引導文件)。
引導加載程序讀取grub.conf文件的配置信息,然後根據對應配置信息來啟動不同的操作系統, 管理員可以從三個路徑查看grub.conf的配置信息,具體如下所示:
[root@oldboy boot]# cat /etc/grub.conf
#<==也可讀取/boot/grub/menu.lst(軟鏈接)或/boot/grub/grub.conf(真實文件)。
...省略多行註釋信息,其實這裏的註釋已經解釋的蠻清楚了,只是90%的初學者看不見這裏...
default=0
#<==默認情況下如何加載系統,0表示加載菜單中對應的第一個名字,多系統時可以調節默認加載項。
timeout=5
#<==表示多少秒之後開始加載默認的系統,給管理員提前選擇的時間。
splashimage=(hd0,0)/grub/splash.xpm.gz
#<==啟動時顯示的背景圖標,在(hd0,0)代表/boot分區。
hiddenmenu
#<==系統啟動時,會隱藏啟動菜單信息,按默認設置啟動系統,除非用戶按鍵幹預。
password [–md5|–encrypted ] STRING
#<==當編輯grub菜單時需要輸入密碼認證,Linux基礎優化之一,默認沒有。
title CentOS 6 (2.6.32-696.el6.x86_64)
#<==要啟動的系統對應的項目名稱,可按需修改。
root (hd0,0)
#<==引導內核文件和內核所需驅動文件所在的分區,(hd0,0)代表/boot分區。
#<==其中hd0表示計算機的第一塊磁盤,(hd0,0)中逗號後面的0表示第一個分區,即(hd0,0)表示第一塊磁盤的第一個分區,即/dev/sda1(分區通常最先獨立分出的/boot分區,對應的設備名就是sda1)。
kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=UUID=491eabe5-e6c0-4457-9bdb-b37cc6751308 rd_NO_LUKS rd_NO_LVM.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
#<==整行表示加載內核,即讀取boot分區上的內核文件及一堆可選內核參數。
#<==/vmlinuz-2.6.32-696.el6.x86_64為內核文件。root=UUID=後面一串數字表示根對應的設備信息(/dev/sda3),其他介紹的作用不大,忽略即可。
initrd /initramfs-2.6.32-696.el6.x86_64.img #<==內核啟動所需的驅動文件的所在地,存在於boot區。
提示:這個grub.conf的知識其實在企業Linux運維中用途不是很大,講解grub的目的是,希望讀者能了解Linux系統的整個啟動流程做鋪墊,RHCE認證課程會有修復grub.conf的考題,其實沒什麽大用,因為在IT網站運維工作中,極少在線處理問題,出問題也是直接切換服務了,之後在慢慢研究修復還是重裝都可以。
內容來源《跟老男孩學習Linux運維:核心基礎實戰》,預計於2018年7月出版,敬請期待,QQ群385168604交流。
Linux菜鳥及新手的福音,相當於是鳥哥私房菜(太老舊了)的2018最新企業級實戰升級版,以企業實用實戰角度,全面講解Linux運維核心基礎知識。
一分鐘掌握Linux系統grub.conf配置核心知識