歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

再探安裝多操作系統分區grub的設置問題

  從整理論壇的情況來看,還是有弟兄不能搞定GRUB引導多操作系統的問題。看來再次討論還是有點必要。當然有經驗的弟兄,根本就無需看這帖。如果初次安裝多操作系統,總是出這樣或者那樣的問題。這也正常,其實最好的解決辦法就是多安裝幾次,多format幾次,這個問題一點也不難。

  一。分區:

  這也是大家常談的事了,其實也沒有什麼難的,但這是最重要的。分區時,最好一次成功。不要給後面安裝操作系統帶來麻煩。比如空間的大小,分區的個數等。主、擴展以及邏輯分區的個數。這些都是最重要的。

  1.硬盤劃分為什麼很重要?

  您可以用dos下的PQ,可能這是最簡單的分區工具了。主分區最好只有一個,擴展分區也是一個了。邏輯分區那就根據自己的需要來分。分區要規劃好,以防為以後安裝操作系統帶來麻煩。要有個預期,也就是說,以防您以後安裝操作系統,而沒有空間。所以我們就要劃分硬盤要好好的規劃。以滿足我們未來不可預期情況的需要。

  2.我應該把硬盤劃分為多少個區,每個區應該有多大?

  對於這個問題,可能有的弟兄很是疑惑。其實對於我們玩家來說,無非是學習和實踐。所以我們要為每個Linux劃分為一個區,空間大小為6G以上。現在的linux體積都很大,如果是初次玩linux,我還是建議完全安裝,這樣便於您的學習,否則少東少西的,自己都不知道為什麼。等玩的技術差不多時,你再?據自己的需求來選擇安裝組件。

  舉個例子,比如我想在一塊硬盤上安裝兩個linux和一個windows,那我就可以這樣來劃分硬盤。把windows的分區放在硬盤的第一個分區。這個分區大家常用來安裝windows系統。如果您還想為windows劃分應用程序的分區以及備份文件的分區,那就把第二個和第三個等分區做為windows的分區。linux分區要放在windows的分區的後面,應該避免把windows和linux的分區交叉。我們可以用PQ把linux分區分好。為每個linux分一個大一點的分區6G以上,這裡,我們將要在每個分區裡,要安裝一個linux,其實每個6G左右的分區,就是我們要安裝linux的根分區。然後再劃分一個小一點的分區,大小為內存的兩倍就行。如果用PQ來劃分。linux的分區格式,可以不用指定。因為安裝系統時,也會有相關的步驟來格式化磁盤。

  仔細看一下下面的例子:

  在這裡,我把安裝了,兩個linux和一個windows,分區情況如下。主分區是hda1,格式為ntfs,系統是XP,hda2是擴展分區,hda5是邏輯分區,格式為nfts,是windows的安裝應用軟件的磁盤,hda6,hda7是邏輯分區,格式為fat32的,也是windwows用的,我用來備份和存放常用程序和文檔的磁盤。hda8和hda9是linux的磁盤。看一下應該能看得出來,大小為6-7G左右吧。在hda8和hda9,我每個區都安裝了一個linux,也就是說,這兩個分區是不同的linux的/根分區。hda10也是linux的磁盤,大小是內存的1.5倍,如果您的內存為512M或者以上的,交換分區和內存大小一樣就行,格式為/swap.也就是linux的交換分區。

  linux的分區,沒有windows下面的C盤和D盤的概念。這一點大家應該明白。

  一塊磁盤最多只能分4個主分區。擴展分區也算一個主分區,所以為了簡便 ,我們一塊硬盤就分一個主分區,一個擴展分區,其它的都是邏輯分區。下面的例子就是。這樣做的好處就是在安裝linux的時候,分區表不會錯,也不會出現這樣或者那樣危機windows分區的情況。

  在linux中,邏輯分區是從hda5開始的,當然這是說一台機器中只有一個硬盤的情況來說的。如果有兩個硬盤,可能就是從hdb5開始,以此類推。如果您不知道,是怎麼回事,就要用fdisk -l來查看。要安裝系統的時候,也會有相應的讓您選擇安裝位置 ,也是hdaX或者 hdbX分區之類的,沒有WIN的C和D盤的概念。

  [root@linuxsir01 root]# fdisk -l  Disk /dev/hda: 255 heads, 63 sectors, 4865 cylinders  Units = cylinders of 16065 * 512 bytes  Device Boot Start End Blocks Id System  /dev/hda1 * 1 1147 9213246 7 HPFS/NTFS  /dev/hda2 1148 4864 29856802+ f Win95 Ext'd (LBA)  /dev/hda5 1148 2039 7164958+ 7 HPFS/NTFS  /dev/hda6 2040 2804 6144831 b Win95 FAT32  /dev/hda7 2805 3824 8193118+ b Win95 FAT32  /dev/hda8 3825 3830 7768163+ 83 Linux  /dev/hda9 3831 4799 7783461 83 Linux  /dev/hda10 4800 4864 522081 82 Linux swap

  3.硬盤的分區劃好後,我如何安裝linux呢?

  我們可以先安裝windows,然後再安裝linux,這樣做的目的就是用grub能把windows引導起來。如果先安裝linux,可能windows就把grub從MBR中刪除。我們如果重裝windwows經常會出現這樣的情況,方法只是把GRUB恢復一下就行了。所以為了方便,我們還是先安裝windows.這樣就減少不少勞動。呵……




  接著舉例:

  在這裡,我是先安裝Mandrake 9.0,到hda8,這樣做的,在安裝過程中,有個[自定義],在劃分硬盤和安裝軟件時都有[自定義].我們就選這一項,然後把光標移動到hda8,[編輯,指定分區格式和掛載點。格式為ext3,掛載點為/.OK一下,然後再移動hda10,我們編輯這個分區,格式為/swap.這樣就簡單了。分區都處理好了,就是選擇組件來來裝。下面就是點鼠標。應該簡單……一直到最後。

  然後我們安裝redhat 8.0到hda9,也就是說,我們要把redhat 8.0的根分區設置為hda9.安裝過程也一樣的……在劃分磁盤是,要[自定義]用disk druid 來分區。光標移動到hda9,然後[編輯],格式為ext3,掛載點為/,可能會跳出一個對話框,那就anyway.吧。不用再編輯交換區了,因為系統能認得出hda10是交換區,不用我們再設置了。linux的交換區是能共用的。我們把hda9設置好後,確認一下,就進入軟件安裝的過程了。也是[自定久]……下面的就一路下去,不用我多說了。

  到GRUB的設置的那一塊。我們要把GRUB安裝到MBR上。這樣就把mandrake的GRUB覆蓋。這也沒有什麼可怕的,我們可以把它加在Redhat 的GRUB中,系統安裝好後,我們設置一下就行了。只是修改一個文件/etc/grub.conf

  4.如何修改/etc/grub.conf

  一般的發行版,GRUB的配置文件都在/etc/grub.conf中,如果我們安裝了多個linux,就要修改這個文件。那我們如何修改呢?一般的情況下,windows是自動加載到了grub.conf中,打開grub.conf,就能看到windows的設置情況。可能有時系統會突然出現不能引志windwows的情況,我們就要下面的類似的改動一下。

  title DOS  rootnoverify (hd0,0)  chainloader +1

  改成

  title WinXP在這裡,title是必須的,WinXP,您可以用別的名,您喜歡怎麼樣就怎麼樣。  root (hd0,0)  chainloader +1

  這樣就能啟動了。

  2.如何把其它的linux的引導加入到GRUB來引導呢?我們可以用下面的方法。也是比較簡單。GRUB引導linux系統,就是靠三行來定義。

  title XXX

  在這裡,XXX是您要引導的操作系統的名字。可以自己來定。

  root (hdX,Y)

  在這裡,X和Y都代表一個數值。X是linux的根分區在哪個硬盤上。如果您只有一個硬盤。那就是hd0.如果您的linux的一個發行版是安裝在第二個硬盤,這個X,就是1.那Y代表什麼?Y是代表您所安裝的linux是在哪個區。這個數值有點不同。用原理沒有辦法說清楚。應該用實例來說。比如我把mandrake安裝到hda8了。那他的root (hdX,Y),就應該寫為root (hd0,7),也是說是linux所在的根分區hdaZ中的Z減去1就是這個Y的數值:在這之中,hdaZ或者 hdbZ中的Z也是一個數值。看一下上面的例子就明白了。

  用fdisk -l 或者df -la來查看

  kernel /boot/vmlinuz root=/dev/hdaZ

  這裡中的Z,也是一個數值,接著上面的例子,我們把Mandrake的引導加入到Redhat 的GRUB中。就可以寫成如下的樣子:

  kernel /boot/vmlinuz root=/dev/hda8

  通過上面的分析,我們要讓Redhat的GRUB來引導Mandrake 9.0,我們要改動Redhat中的GRUB的配置文件,加入下面的一段:

  title MD 8.0  root (hd0,7)

  kernel /boot/vmlinuz root=/dev/hda8

  如果您想加入其它的操作系統到Redhat 中的GRUB中,也不過是如此,如者用其它發行版中的GRUB來引導別的發行版,原理也是一樣的。

  GRUB是不是很簡單???



  改成

  title WinXP在這裡,title是必須的,WinXP,您可以用別的名,您喜歡怎麼樣就怎麼樣。  root (hd0,0)  chainloader +1

  這樣就能啟動了。

  2.如何把其它的linux的引導加入到GRUB來引導呢?我們可以用下面的方法。也是比較簡單。GRUB引導linux系統,就是靠三行來定義。

  title XXX

  在這裡,XXX是您要引導的操作系統的名字。可以自己來定。

  root (hdX,Y)

  在這裡,X和Y都代表一個數值。X是linux的根分區在哪個硬盤上。如果您只有一個硬盤。那就是hd0.如果您的linux的一個發行版是安裝在第二個硬盤,這個X,就是1.那Y代表什麼?Y是代表您所安裝的linux是在哪個區。這個數值有點不同。用原理沒有辦法說清楚。應該用實例來說。比如我把mandrake安裝到hda8了。那他的root (hdX,Y),就應該寫為root (hd0,7),也是說是linux所在的根分區hdaZ中的Z減去1就是這個Y的數值:在這之中,hdaZ或者 hdbZ中的Z也是一個數值。看一下上面的例子就明白了。

  用fdisk -l 或者df -la來查看

  kernel /boot/vmlinuz root=/dev/hdaZ

  這裡中的Z,也是一個數值,接著上面的例子,我們把Mandrake的引導加入到Redhat 的GRUB中。就可以寫成如下的樣子:

  kernel /boot/vmlinuz root=/dev/hda8

  通過上面的分析,我們要讓Redhat的GRUB來引導Mandrake 9.0,我們要改動Redhat中的GRUB的配置文件,加入下面的一段:

  title MD 8.0  root (hd0,7)

  kernel /boot/vmlinuz root=/dev/hda8

  如果您想加入其它的操作系統到Redhat 中的GRUB中,也不過是如此,如者用其它發行版中的GRUB來引導別的發行版,原理也是一樣的。

  GRUB是不是很簡單???



Copyright © Linux教程網 All Rights Reserved