簡(jiǎn)單描述Fedora啟動(dòng)系統(tǒng)
Fedora還是比較常用的,于是我研究了一下Fedora啟動(dòng)菜單。喜歡軟件的朋友可以來(lái)看看。前些天Fedora啟動(dòng)grub.conf丟失,無(wú)法進(jìn)入系統(tǒng)。不過(guò),grub啟動(dòng)管理器還好好的,只好通過(guò)grub命令行來(lái)手動(dòng)引導(dǎo)啟動(dòng)系統(tǒng)了。
在“從硬盤(pán)安裝Fedora啟動(dòng)菜單 ”中曾經(jīng)稍微提到過(guò),grub是一個(gè)多系統(tǒng)的啟動(dòng)管理器,不但有Linux版本的grub,也有windows版本的grub。上次從硬盤(pán)安裝系統(tǒng)用的就是windows版本的grub。可以說(shuō),grub是一個(gè)非常強(qiáng)大的多系統(tǒng)啟動(dòng)管理器,具有多重系統(tǒng)引導(dǎo),交互式操作,可設(shè)置grub啟動(dòng)密碼,可映射硬盤(pán),可以定制開(kāi)機(jī)畫(huà)面等等特點(diǎn)。通過(guò)命令行啟動(dòng)系統(tǒng)就是交互式操作的一個(gè)應(yīng)用,至于其它應(yīng)用,這里就不再一一列出。想要深入了解它的話,可以看一下grub的手冊(cè):http://www.Linuxsir.org/main/doc/grub/grubmanual/index.html 說(shuō)來(lái)慚愧,我還沒(méi)完全看過(guò)。
閑話少說(shuō),安裝Fedora啟動(dòng)菜單先把通過(guò)命令行啟動(dòng)系統(tǒng)的過(guò)程列出來(lái)。為了解釋方便,特標(biāo)上行號(hào):
1 root (hd0,2)
2 kernel /vmlinuz-2.6.26.5-28.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
3 initrd /initrd-2.6.26.5-28.fc8.img
4 boot
怎么樣?Linux的啟動(dòng)命令行是不是很簡(jiǎn)潔啊?下面就一一解釋這幾命令。
第1行命令:指定/boot所在的分區(qū)。
要是不知道自己的/boot分區(qū)在哪里,沒(méi)關(guān)系,先輸入root (hd0,然后按Tab鍵,它會(huì)顯示可能的分區(qū),然后根據(jù)分區(qū)類型判斷/boot分區(qū)。我就是這么做的......所以Tab鍵是Linux里很好用的一個(gè)鍵。這里指定/boot分區(qū)并不是必須的,在這里省略的話要在kernel以及initrd中指定,即:kernel (hd0,2)/vmlinuz-2.6......和initrd (hd0,2)/initrd-2.6......
關(guān)于"hd0,2”,是指第一塊硬盤(pán)的第三個(gè)分區(qū),這是一個(gè)主分區(qū)。
Linux里的分區(qū)表示方法有兩種:一是像"hd0,2"這種純數(shù)字表示法,它是以"hd0,0"開(kāi)始,意思是第一塊硬盤(pán)的第一個(gè)分區(qū);第二塊硬盤(pán)就是hd1。還有一種是hda1這一種,它也表示第一塊硬盤(pán)的第一個(gè)分區(qū);第二塊硬盤(pán)就是hdb。兩種表示法用在不同的場(chǎng)合,純數(shù)字表示法一般用在grub中指定/boot分區(qū);第二種方法是日常使用的表示法,硬盤(pán)掛載等都用這種表示法。關(guān)于主分區(qū)與擴(kuò)展分區(qū),這里稍微提一點(diǎn):擴(kuò)展分區(qū)是從hdx5或 hdx,4開(kāi)始的,其中x代表硬盤(pán)號(hào)。要更加詳細(xì)的了解Linux的分區(qū)表示法,Google一下。
第2行命令:指定內(nèi)核映像及根分區(qū)。
輸入kernel /vmlinuz,然后按Tab鍵補(bǔ)全內(nèi)核映像全名;補(bǔ)全以后可以看到我的Fedora啟動(dòng)內(nèi)核映像是vmlinuz-2.6.26.5-28.fc8。如果有一個(gè)以上的內(nèi)核,它會(huì)全部顯示出來(lái)讓你選擇(這種情況遇到過(guò),從8升級(jí)到9以后,我的啟動(dòng)菜單里就有了兩個(gè)映像)。還有就是,我的/boot分區(qū)不是在根分區(qū)中,而是一個(gè)獨(dú)立的分區(qū);如果/boot分區(qū)不是一個(gè)獨(dú)立分區(qū),而是位于根分區(qū)中,就要這樣寫(xiě): kernel /boot/vmlinuz-2.6.26.5-28.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet,下面的initrd要寫(xiě)成:initrd /boot/initrd-2.6.26.5-28.fc8.img。映像后面的部分是用來(lái)指定根分區(qū)的,要手動(dòng)輸入。ro的意思是read only,root=/dev/VolGroup00/LogVol00是根分區(qū)位置,rhgb意思是圖形化啟動(dòng)過(guò)程,quiet意思是不要顯示啟動(dòng)信息。在實(shí)際操作中,我發(fā)現(xiàn)內(nèi)核映像以后的部分其實(shí)不是必須的;也就是說(shuō),即使不輸入這部分內(nèi)容,不指定根分區(qū),不指定圖形化啟動(dòng)過(guò)程,不省略啟動(dòng)信息,也可以正確啟動(dòng)。對(duì)于不必指定根分區(qū),是否跟我的系統(tǒng)是單內(nèi)核有關(guān)系?
這行命令要多理解一下。首先,vmlinuz中,vm是指vritual memery,linuz的意思是說(shuō),這一個(gè)經(jīng)過(guò)壓縮的內(nèi)核映像。還有,這一行命令中的root跟第一行命令中的root表達(dá)的不是同一意思。第一行命令中的root指的是Fedora啟動(dòng)分區(qū),即/boot分區(qū);第二行命令中的root指的是系統(tǒng)的根分區(qū),即/分區(qū)。要詳細(xì)理解兩者的區(qū)別,就牽涉到Linux 文件系統(tǒng)及目錄結(jié)構(gòu),它是Linux中關(guān)鍵性的概念之一,我會(huì)找個(gè)時(shí)間寫(xiě)一些關(guān)于它東西,淺談一下我對(duì)它的理解。"root="后面的"/dev /VolGroup00/LogVol00"就是根分區(qū)的位置;看起來(lái)是不是怪怪的?因?yàn)槲业母謪^(qū)用的不是普通的硬盤(pán)分區(qū),而是邏輯卷,術(shù)語(yǔ)叫 LVM(logical volume manager)。這個(gè)也是Linux里一個(gè)很重要的東西。LVM要結(jié)合Linux硬盤(pán)分區(qū)及目錄結(jié)構(gòu)來(lái)理解Fedora啟動(dòng),這里就不談了,否則會(huì)越扯越遠(yuǎn),偏離正題。
【編輯推薦】