?? (好帖)一、系統(tǒng)引導管理器 grub 為初學者指南.txt
字號:
一、什么是多重操作系統(tǒng)引導管理器,什么是GRUB;
1、什么是多重操作系統(tǒng)引導管理器及工作原理;
系統(tǒng)啟動引導管理器,是在計算機啟動后運行的第一個程序,他是用來負責加載、傳輸控制到操作系統(tǒng)的內(nèi)核,一旦把內(nèi)核掛載,系統(tǒng)引導管理器的任務就算完成退出,系統(tǒng)引導的其它部份,比如系統(tǒng)的初始化及啟動過程則完全由內(nèi)核來控制完成;
Briefly, boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Hurd or the Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).
在X86 架構(gòu)的機器中,Linux、BSD 或其它Unix類的操作系統(tǒng)中GRUB、LILO 是大家最為常用,應該說是主流;
Windows也有類似的工具NTLOADER;比如我們在機器中安裝了Windows 98后,我們再安裝一個Windows XP ,在機器啟動的會有一個菜單讓我們選擇進入是進入Windows 98 還是進入Windows XP。NTLOADER就是一個多系統(tǒng)啟動引導管理器,NTLOADER 同樣也能引導Linux,只是極為麻煩罷了;
在Powerpc 架構(gòu)的機器中,如果安裝了Linux的Powerpc 版本,大多是用yaboot 多重引導管理器,比如Apple機目前用的是IBM Powerpc處理器,所以在如果想在Apple機上,安裝Macos 和Linux Powerpc 版本,大多是用yaboot來引導多個操作系統(tǒng);
因為目前X86架構(gòu)的機器仍是主流, 所以目前GRUB和LILO 仍然是我們最常用的多重操作系統(tǒng)引導管理器;
2、什么是GRUB;為什么我要選擇GRUB;
1)什么是GRUB;
GNU GRUB 是一個多重操作系統(tǒng)啟動管理器。GNU GRUB 是由GRUB(GRand Unified Bootloader) 派生而來。GRUB 最初由Erich Stefan Boleyn 設計和應用;
GNU GRUB is a Multiboot boot loader. It was derived from GRUB, GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn.
2)“GRUB太不好用”──對GRUB的認識的誤區(qū);
GRUB真的不好用嗎?不是的,通過LinuxSir.Org 社區(qū)近四年來的運行,我發(fā)現(xiàn)了大多新手弟兄還是不太了解GRUB;當然這也有中文Linux社區(qū)的責任,雖然也有GRUB的中文譯本,初學Linux的弟兄可能有點看不懂;
我們欣喜的看到LinuxSir.Org 社區(qū)的好多弟兄都曾經(jīng)或正在寫GRUB實踐文檔,也有的弟兄也總結(jié)了GRUB的一些基礎(chǔ)知識,比如 probing兄弟的 《GRUB 學習筆記》;由于每個人的寫文檔時風格不同,可能同一份文檔不同的人來寫就有不同的風格;所以今天也抖膽也一篇入門級的教程,由于北南不會寫高級教程,所以還得請高手弟兄指教,先謝過;
3)為什么要選擇GRUB;
基于在X86架構(gòu)的CPU而開發(fā)操作系統(tǒng),系統(tǒng)引導管理器不僅僅有GRUB ,而且也有LILO,但對于多重系統(tǒng)引導管理器,你只能選擇其一而用;不能兩個同時使用;
目前這兩個多重系統(tǒng)引導管理器是大家最常用的,也是主流Linux發(fā)行版而采用的;有的弟兄喜歡GRUB,比如我個人,有的弟兄喜歡LILO ,比如etony兄(誰是etony,請參見 http://debian.linuxsir.org );
主流發(fā)行版 Fedora、Redhat、Centos等基于RPM包的系統(tǒng),在最新版本中都默認GRUB引導;Slackware 目前仍采用LILO;而Debian發(fā)行版目前最新的版本也是采用GRUB;
從目前看來,GRUB有逐漸取代LILO之勢,GRUB 2.0正在開發(fā)之中;所以我們有理由用GRUB,我也有理由寫GRUB使用教程;
二、GRUB軟件包版本選擇和安裝;
1、GRUB的版本選擇,Linux版本的GRUB及Windows版本的GRUB的說明;
GRUB不但有Linux版本,也有Windows版本;現(xiàn)我們一一介紹;
如前面所說,目前在在Unix類的操作系統(tǒng)中,大多是都有GRUB;GRUB幾乎能引導所有X86架構(gòu)的操作系統(tǒng);功能之強,使用簡單是GRUB最大的賣點;由于Windows 操作系統(tǒng)的先入為主的優(yōu)勢,使得大家對Windows的NTLOADER了解的比較多,而對開源社區(qū)的GRUB顯得有點寞生,由此而帶來使用上的“心理恐懼”;究其初學者對GRUB“恐懼”的主要原因還是對GRUB沒有太多的了解和深入;無論是WINGRUB還是Linux版本的GRUB,最方便的還是對GRUB命令行的操作;一談到命令行(Command)的操作,可能初學者對此恐懼;其實沒有什么難的,象北南這樣低級的寫手,還能操作得起來,您也應該能行;
2、GRUB的Windows版本W(wǎng)INGRUB;
請參考:《以WINGRUB 引導安裝Fedora 4.0 為例,詳述用WINGRUB來引導Linux的安裝》
3、GRUB的Linux版本軟件包的安裝;
其實對于Linux的GRUB,幾乎所有的Linux主流發(fā)行版都有打包,如果您安裝了Linux,并且在開機后出現(xiàn)GRUB字樣的,證明您已經(jīng)安裝了GRUB;而無需再次安裝;Linux的GRUB軟件包安裝部份并不是本文的重點;
如果您的Linux系統(tǒng)沒有安裝GRUB,或者采用的是LILO,而您想用GRUB,可以用系統(tǒng)安裝盤自帶GRUB軟件包來安裝,或者到相關(guān)發(fā)行版本的軟件倉庫下載后安裝;
GRUB 的Linux版本目前在各大發(fā)行版中都有打包;比如Fedora/Redhat/Centos/Mandrive/Mandriva/SuSE等以RPM包管理機制的系統(tǒng),可以通過如下的命令來安裝;
請參考《Fedora / Redhat 軟件包管理指南》
[root@localhost ~]# rpm -ivh grub*.rpm
如果是Slackware 您可以用如下的辦法來安裝;
[root@localhost ~]# installpkg grub*.tgz
其它的發(fā)行版本請用其自己特色的軟件包管理工具來安裝;
當然您也可以通過源碼包,在任何Linux的發(fā)行版上安裝;至于源碼包的安裝方法;
請參考:《如何編譯安裝源碼包軟件》
[root@localhost ~]#tar zxvf grub*.tar.gz
[root@localhost ~]#cd grub-xxx
[root@localhost ~]#./configure;make;make install
確認您是否成功安裝了GRUB,您可以測試是否有如下兩個命令;
[root@localhost ~]# grub
[root@localhost ~]# grub-install
如果您不能找到這兩個命令,可能您的可執(zhí)行程序的路徑?jīng)]有設置;
請參考:《設置可執(zhí)行程序路徑》,當然您可以用絕對路徑;比如下面的;
[root@localhost ~]# /usr/sbin/grub
[root@localhost ~]# /usr/sbin/grub-install
如果您還是找不到GRUB軟件包安裝在哪了;您可以用下面的命令來解決和查找;
[root@localhost ~]# updatedb 注:這個要花很長時間;是索引slocate 的庫,然后再通過locate來查找;
[root@localhost ~]# locate grub
比如找到的是有類似如下的;
[root@localhost ~]# locate grub
/sbin/grub-md5-crypt
/sbin/grub
/sbin/grub-install
/sbin/grub-terminfo
在一般情況下,在路徑中帶有bin或sbin中字樣的,這些路徑下都是可執(zhí)行程序;sbin 是超級權(quán)限用戶才能使用的管理命令;要使用這些命令一般的情況下得切換到root用戶下才能使用;比如
[beinan@localhost ~]$ su - 注:切換到root用戶,并且切換到其家目錄;
Password:
[root@localhost ~]#/sbin/grub 注:用絕對路徑來運行g(shù)rub命令;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -