越來越大的硬碟讓人們有了更多的選擇,一些玩LINUX的人也開始嘗試更多的作業系統,使用UNIX的人也開始嘗試使用LINUX,而WindowsXP在做某些工作還是比較方便,本文就是基於這樣一個想法,讓三種系統共存在一個硬碟裡,並很好的工作。本文的主要探討的內容是硬碟的分區和grub配置安裝的一些要點和基礎知識的講解,並不太深入細節,希望本文對大家有協助。
1.在閱讀本文之前,我們有幾個約定:
引導程式選用GRUB--這個新的引導程式的強大和靈活不用我來說了,知道的的就知道了,不知道它的建議去找找它的資料,然後把LILO給換了。:)它的功能是我選用它的原因。
我們使用一個硬碟作例子,如果你有多個硬碟,你需要更改文中的一些硬碟名參數。
最後一個約定很重要,那就是你用本文作指導時,請先備份你的資料,儘管我已經很小心並實驗了全文中的各個部分,但是僅是在我的機上成功實現,我並不擔保在你的機上成功實現。
2.我們先來明確幾個概念:
一塊硬碟最多可以分成四個主要磁碟分割,原因是在硬碟的起始開機磁區MBR中只能記錄四個分區的資訊,其中一個比較讓從windows下轉過來人容易誤解的是擴充分區也是屬於一個MBR主記錄的分區之一。這也就是說,如果你把一個硬碟分四個主要磁碟分割,那麼就不能分擴充分區了;如果你要分一個擴充分區,那你就只能最多分三個主要磁碟分割了。
因此,我們只能分四個主要磁碟分割,並且只有一個分區是活動的,它是系統開機讀入MBR之後預設訪問的分區,從這個分區的開機磁區讀入引導該分區作業系統的資訊並引導該系統,但是像LINUX的lilo和GRUB進駐MBR後,MBR的引導方式又多了一種,那就是可以直接指定一個分區,並從中載入指定分區的開機磁區並引導這個分區的作業系統。
順帶說一下擴充分區,眾所周知,可以在擴充分區裡劃分多個邏輯分區。擴充分區的資訊由MBR記錄,而邏輯分區的資訊則是由擴充分區的開機磁區記錄的。
這一部分很重要,下面的將重點使用這部分知識:
在LINUX中,硬碟的分區是這樣命名.
如果你只有一個硬碟,並把它裝在IDE1上,那麼你的硬碟名在LINUX中稱為hda,在硬碟中的分區規則則是:從1開始劃分主要磁碟分割(注意,這裡的主要磁碟分割包括了擴充分區,下面提到的主要磁碟分割也是如此理解),比如,你在硬碟裡劃分了三個主要磁碟分割,第一個稱1,第二個稱2,第三個稱3,以此類推。那邏輯分區呢?因為一塊硬碟只能有四個主要磁碟分割,那命名規則中把1,2,3,4分給了主要磁碟分割,那麼邏輯分區只能從5開始命名,這就是為什麼我們看到邏輯分區總是從5開始的原因了。好了,這樣,我們就可以唯一的給我們的硬碟命名了,舉個例子,你的第一塊硬碟的第一個分區稱為hda1,第一塊硬碟的第二個分區稱為hda2........,第二塊硬碟的第一個分區稱為hdb1,第三塊硬碟的第二個分區稱hdc3,以此類推。但是如果你的第一塊硬碟分二個區,第二個分區(hda2)是擴充分區,並在擴充分區裡分了兩個邏輯分區,那麼你的命名方式將是這樣的:
第一分區為:hda1
第二分區(即擴充分區):hda2
第二分區第一邏輯分區:hda5
第二分區第二邏輯分區:hda6
這時你用fdisk -l,查看分區資訊時將會有類似如下顯示:
Device Boot Start End Blocks Id System
/dev/hda1 * 1 638 5124703+ 83 Linux
/dev/hda2 639 7476 39560062+ 5 Extended
/dev/hda5 7477 2615 514048+ 82 Linux swap
/dev/hda6 2616 3890 10241406 83 Linux
grub的硬碟命名方式和LINUX中稍微有所不同:
對IDE1主盤,IDE1從盤,IDE2主盤,IDE2從盤命名為hd0,hd1,hd2,hd3,也就是用0-3代替了a-d,對每個硬碟裡的分區用也是以0開始的數字代替了原本以1開始的LINUX下的命名,而擴充分區的邏輯分區是從4開始命名的,這樣,在LINUX下的命名在GRUB可是要減1了,由上舉個例子,第三個硬碟的第二個分區將命名為hd2,1上述的例子中的分區對應如下:
/dev/hda1 ------- (hd0,0)
/dev/hda2 ------- (hd0,1)
/dev/hda5 ------- (hd0,4)
/dev/hda6 ------- (hd0,5)
OK,所有的準備知識都已經講完,要是你對以上內容還有疑問,建議找找其他的相關內容參閱。