歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix教程 >> 在機器裡安裝FreeBSD,LINUX和WindowsXP操作系統

在機器裡安裝FreeBSD,LINUX和WindowsXP操作系統

日期:2017/2/27 17:43:06   编辑:Unix教程
FreeBSDWindows XP
  越來越大的硬盤讓人們有了更多的選擇,一些玩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,所有的准備知識都已經講完,要是你對以上內容還有疑問,建議找找其他的相關內容參閱。
  
  3.正式的安裝:
  3.1 分區考慮:
  安裝的難點是FreeBSD和WindowsXP都必需要安裝在主分區內,這樣就需要我們對硬盤的分區有所考慮。
  在一塊40G的硬盤裡作為例子,可以更加的說明問題:
  既然FreeBSD和WindowsXP都必須要安裝在主分區內,而LINUX可以安裝在擴展分區中,也可以安裝在主分區中。那麼,這意味著我們必須要分至少三個主分區,其中一個為擴展分區,另外兩個分區分別給FreeBSD和WindowsXP,擴展分區裡的邏輯裡安裝LINUX。但我不想厚此薄彼,干脆就分四個主分區,其中包括了一個擴展分區,裡面分兩個邏輯分區,這樣,我們的分區方案(以LINUX的命名方式描述)就定下來了:
  
  /dev/hda1 第一主分區
  /dev/hda2 第二主分區
  /dev/hda3 第三主分區
  /dev/hda4 第四主分區(即擴展分區)
  /dev/hda5 擴展分區第一邏輯分區
  /dev/hda6 擴展分區第二邏輯分區
  
  3.2 對硬盤格式化,使用fdisk進行低級格式化(即常說的分區):
  我這裡選用Dos下的fdisk,你也可以使用其他的分區工具,比如LINUX下的fdisk,但建議只用一種分區工具對硬盤分區,因為使用多種分區工具的話可能會產生兼容上問題,而使分區表無法使用。你可以根據自己的實際需要劃分分區的大小。但有一個比較好的建議是在擴展分區裡劃分一個小的大約是內存的大小兩倍的邏輯分區給LINUX用作SWAP分區,而活動分區隨便,不作要求,這全得益於GRUB的引導方式不是只能從活動分區引導操作系統,而是它能定位特定分區並啟動該分區的操作系統。這裡不打算詳細寫出分區步驟,這方面的參考資料太多了,用google搜一下,跳出的網頁足以讓你看上一個星期。(誇張了一點點)
  
  3.3 安裝步驟的選擇:
  可以先安裝FreeBSD或是Windows,再安裝LINUX,原因是LINUX現在都有自帶GRUB的安裝,我們要使用GRUB引導三個系統,就可以在最後安裝LINUX時把GRUB安裝在MBR上,而不會給FreeBSD和Windows的引導程序覆蓋掉。在這裡我選擇先安裝FreeBSD.
  
  3.3.1 安裝FreeBSD
  在FreeBSD下將主分區稱為SLICE,命名方式IDE第一塊硬盤裡的四個主分區稱為wd0s1,wd0s 2,wd0s3,wd0s4。
  LINUX裡的命名方式來述說,把FreeBSD放在/dev/hda1分區裡,用光盤安裝,插入FreeBSD安裝盤,光盤啟動之後有一些交互的安裝,安裝指導請參閱其他相關資料,到了分區界面下時,選擇wd0s1安裝FreeBSD,然後按T改變這個分區的類型,165是FreeBSD的分區類型FFS的代號,然後按w寫入完成,在選擇引導程序裡,可以選:BOOTMANAGER,最後退出,接下來安裝下面的步驟,此處省略。
  
  3.3.2 安裝WindowsXP
  這個步驟要說明的就是把它安裝在第二個主分區,即/dev/hda2中,在分區界面裡選擇第二個分區,建議使用FAT32格式化該分區,這樣可以使LINUX可讀可寫該分區,用NTFS則在LINUX下不可寫入,只能讀。下面的安裝步驟都不用說了,是地球人都會按NEXT了。
  
  3.3.3 安裝LINUX並配置GRUB
  這個步驟安裝LINUX,安裝LINUX的文章更多,有許多非常優秀的文章,如果你還不會安裝LINUX,可以先去看這些文章再讀本文,我這裡只講一些要點,在分區界面裡,把第三個分區,即/dev/hda3用做LINUX的安裝分區,同時你在擴展分區裡劃了准備用作SWAP的分區的話,記得把它一起加上格式化。OK!!,可以了,在下面的步驟裡,你要選擇把GRUB安裝到MBR中,必須要這樣做。安裝在其他地方是不可以用GRUB來引導的,可能安裝這些時GRUB並不能識別你在第一分區的FreeBSD,或者在你硬盤裡的其他一些操作系統,不要緊,我們可以對GRUB做一些修改,使它引導這些操作系統。在這裡給出在本例中的GRUB配置。
  一般來說,Windows是可以被檢測到的,但FreeBSD可能會有些問題。
  
  在GRUB的配置中,主要是對/etc/grub.conf作修改:
  可能安裝好LINUX後的/etc/grub.conf文件和下面的很類似:
  
  # grub.conf generated by anaconda
  #
  # Note that you do not have to rerun grub after making changes to this file
  # NOTICE: You do not have a /boot partition. This means that
  # all kernel and initrd paths are relative to /, eg.
  # root (hd0,5)
  # kernel /boot/vmlinuz-version ro root=/dev/hda6
  # initrd /boot/initrd-version.img
  #boot=/dev/hda
  default=0
  timeout=10
  splashimage=(hd0,2)/boot/grub/splash.xpm.gz
  title Linux (2.4.20-8)
  root (hd0,2)
  kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/1
  initrd /boot/initrd-2.4.20-8.img
  title Dos
  rootnoverify (hd0,1)
  chainloader +1
  
  我對主要的行作一些解釋,以#打頭的是注釋行,可以不用理它。
  default=0 是指默認選項是第一個title標記的操作系統將引導,這裡是LINUX
  timeout=10 指十秒之內用戶沒有作出選擇的話,將以默認的選項操作系統引導
  title Linux (2.4.20-8) 這行是title標記,後面的內容在GRUB菜單中被顯示
  root (hd0,2) 這行是指從哪個分區引導操作系統,即GRUB定位分區操作系統
  kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/1 這行是從指定分區中給出內核的路徑,以便引導系統
  rootnoverify (hd0,1)和chainloader +1表示從特定分區使用鏈式的引導方式,本例來說即GRUB定位hd0,1這個分區裡
Copyright © Linux教程網 All Rights Reserved