摘要:GRUB是目前Linux系統(tǒng)默認的啟動裝載程序,允許用戶可以在計算機內(nèi)同時擁有多個操作系統(tǒng),并在計算機啟動時選擇希望運行的操作系統(tǒng)。還可以在選擇引導(dǎo)前動態(tài)改變引導(dǎo)參數(shù)。本文旨在從GRUB的初級配置著手,使初學(xué)者能快速掌握GRUB。
關(guān)鍵詞:引導(dǎo)管理器;Linux;Grub;LILO
中圖分類號:TP316 文獻標識碼:A 文章編號:1007-9599 (2012) 15-0000-02
Linux網(wǎng)絡(luò)操作系統(tǒng)以其卓越的性能和安全性,已經(jīng)成為企業(yè)的主流的操作系統(tǒng)之一。GRUB是目前Linux系統(tǒng)默認的啟動裝載程序,在Linux的啟動過程中起著至關(guān)重要的作用。這里將對GRUB的基本情況及配置文件做個介紹。
1 什么是GRUB
現(xiàn)在,大容量硬盤的普及使用戶的計算機可以擁有多個操作系統(tǒng),為了便于選擇和管理引導(dǎo),出現(xiàn)了具有多重引導(dǎo)功能的引導(dǎo)管理器。常見的有LILO、GRUB、NTLDR。GRUB是目前Linux下的最常用的多重引導(dǎo)管理器,它可以在多個操作系統(tǒng)共存時,進行系統(tǒng)引導(dǎo)項目的選擇。GRUB既可以載入操作系統(tǒng)的內(nèi)核和初始化操作系統(tǒng),也可以把引導(dǎo)權(quán)直接交給操作系統(tǒng)。同時GRUB有一個特殊的交互式控制臺方式,在引導(dǎo)出現(xiàn)故障時使用。
2 GRUB的特點
與LILO等引導(dǎo)管理器相比,GRUB包含許多新的特性:
GRUB支持硬盤的LBA模式。LBA將用于尋找驅(qū)動器上文件的地址轉(zhuǎn)換工作置于驅(qū)動器的硬件中,LBA允許GRUB超越1024柱面的限制,能夠訪問8GB以外的全部硬盤空間。
GRUB不但可以通過配置文件進行引導(dǎo),還可以在選擇引導(dǎo)前動態(tài)改變引導(dǎo)參數(shù)。在使用GRUB中,如果說配置文件被錯誤配置并且引導(dǎo),那它也僅僅簡單地轉(zhuǎn)到一個默認的命令行,允許用戶手工輸入命令來運行操作系統(tǒng)。
GRUB支持rescue模式,可用于系統(tǒng)無法引導(dǎo)的情況。
其他優(yōu)點,GRUB通過文件系統(tǒng)直接把內(nèi)核讀取到內(nèi)存,GRUB提供了圖形和文本兩種操作接口,可以移植到不同的平臺上,跨平臺的安裝,允許從另一個平臺上安裝GRUB等。
3 GRUB的配置文件grub.conf
這里對配置文件/boot/grub/grub.conf解釋如下:
(1)default=0;默認啟動的操作系統(tǒng),系統(tǒng)菜單從0開始,此處指的是下面2.6.18-53.el5系統(tǒng),如果有多個操作系統(tǒng),可根據(jù)該項改變默認的操作系統(tǒng)。
(2)timeout=5;設(shè)置在5秒后啟動默認的操作系統(tǒng)。
(3)splashimage=(hd0,0)/grub/splash.xpm.gz;開機畫面的文件所存放的路徑和文件名,這里是指用在(hd0,0)/grub/下的splash.xpm.gz文件作為開機畫面。
(4)hiddenmenu;隱藏啟動系統(tǒng)名字的菜單,把它注釋掉后會在開機畫面中顯示機器中所有的系統(tǒng)名。
(5)title Red Hat Enterprise Linux Server (2.6.18-53.el5);系統(tǒng)名字,title就是一個引導(dǎo)標簽,可以改為title This is My Linux,再次進入GRUB引導(dǎo)界面的時候,引導(dǎo)菜單就會變?yōu)門his is My Linux。
(6)root (hd0,0);Grub的根文件系統(tǒng)即/boot所在分區(qū)
(7)kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet;ro和root是傳遞給內(nèi)核的參數(shù),root后是Linux的根文件系統(tǒng)所在分區(qū)。內(nèi)核參數(shù)ro是read only的意思。rhgb是圖形方式啟動,quiet是不輸出啟動信息。
(8)initrd /boot/initrd-2.6.18-53.el5.img;即內(nèi)存空間映像,用于初始化和啟動設(shè)備。
4 通過GRUB破解和保護root密碼
linux安裝完畢后默認的管理員賬號是root。如果我們忘了root用戶的密碼,該如何修改密碼進入系統(tǒng)呢?Linux提供了單用戶模式(類似Windows安全模式),可以在最小環(huán)境中進行系統(tǒng)維護。在單用戶模式(運行級別1)中,Linux引導(dǎo)進入根shell,只有少數(shù)進程運行。單用戶模式可以用來修改文件系統(tǒng)損壞、還原配置文件、移動用戶數(shù)據(jù)等。
方法如下:首先,在grub引導(dǎo)界面中按“e”進入grub的編輯模式。編輯模式下選擇第二項,即:“module/root/vmlinuz-2.6.18-53.el5xen ro root=LABEL=/rhgb quiet”。按“e”進行編輯。把“/rhgb quiet”改為“(空格)single”。然后回車,返回grub界面。再按“b”啟動系統(tǒng),此時進入了linux的單用戶模式。在提示符下(sh-2.05b#)輸入:“passwd”(修改管理員密碼)。然后根據(jù)提示修改密碼就可以了。重啟,root密碼即被修改了。
如果要對grub進行加密,不讓別人通過grub修改密碼。操作如下:在配置文件“timeout=5”的下面,添加“password密碼”,并在title下面一行添加“l(fā)ock”。重啟,我們可以看到,在grub的界面上已經(jīng)不能按“e”進行修改了。想修改必須按“p”輸入密碼后才能進行。
5 GRUB的修復(fù)和還原
如果用戶安裝的是Windows和Linux雙系統(tǒng),因為Windows損壞或重裝Windows后保存GRUB的MBR被NTLDR所覆蓋,使Linux系統(tǒng)無法正常引導(dǎo),此時需要修復(fù)或還原GRUB。
用戶需要使用Linux光盤,設(shè)置BIOS為光盤引導(dǎo),此時Linux系統(tǒng)由光盤引導(dǎo)進入救援模式,進而修復(fù)系統(tǒng),具體方法如下:
(1)使用linux的救援模式linux rescue進入系統(tǒng)
(2)執(zhí)行命令sh-3.1#chroot/mnt/sysimage
(3)使用cd命令切換到系統(tǒng)根目錄中,使用備份的grub.conf文件恢復(fù)grub,或者使用vi編輯器直接更改grub.conf文件。
(4)用戶也可以執(zhí)行g(shù)rub-install命令重裝GRUB:
sh-3.1#grub-install/dev/sda
(5)執(zhí)行兩次exit命令,退出chroot模式及救援模式
重啟Linux系統(tǒng)后,GRUB即已恢復(fù)正常引導(dǎo)。
參考文獻:
[1]涂巧霞.Red Hat Linux系統(tǒng)及網(wǎng)絡(luò)管理基礎(chǔ)與實踐教程[M].北京:電子工業(yè)出版社,2008
[2]楊建新.Red Hat Linux9入門與提高[M].北京:清華大學(xué)出版社,2006
[3]林慧琛.Red Hat Linux服務(wù)器配置與應(yīng)用[M].北京:人民郵電出版社,2006
[4]朱居正.Red Hat Linux Fedora Core 5系統(tǒng)管理[M].北京:清華大學(xué)出版社,2006
[作者簡介]高源(1980-),男,湖北武漢人,武漢職業(yè)技術(shù)學(xué)院計算機學(xué)院講師,研究方向為計算機網(wǎng)絡(luò)工程與智能樓宇技術(shù),數(shù)據(jù)存儲與數(shù)據(jù)挖掘技術(shù)。