FreeBSD連載(06):安裝FreeBSD

安裝FreeBSD

  當準備工作完成之後,安裝FreeBSD實際是一個非常簡單的過程,簡單到將光碟插入電腦啟動,回答幾個問 題,一切將很快完成。或者將啟動軟碟放入並啟動,輸入FreeBSD安裝伺服器的網址和路徑。然而對於初次接觸Fre eBSD的使用者,安裝過程還可能有些陌生,下面將介紹安裝系統和進行基本配置的過程。

  • 啟動安裝程序

  FreeBSD的安裝程序不是DOS或者Windows程序,而是必須在FreeBSD下運行的FreeBSD 程序。如何從一台裸機或者DOS下進入FreeBSD的安裝程序,是安裝過程的第一步。

  有四種啟動FreeBSD安裝程序的方法:

      

  • 從現有FreeBSD中啟動安裝程序sysinstall,用於系統升級和配置﹔
  •   

  • 從CD-Rom中啟動安裝程序,要求電腦支持光碟啟動﹔
  •   

  • 從DOS分區中啟動,要求電腦已經安裝有DOS系統﹔
  •   

  • 從啟動軟碟啟動,需要制作一張啟動軟碟﹔

  使用啟動軟碟(boot disk)的方法,使電腦從軟碟重新啟動,進入FreeBSD系統和安裝程序,對 於系統要求最少,並可以從一個裸機上安裝FreeBSD系統,因此是比較常用的方式。如果使用了光碟作安裝介質,並且 電腦的BIOS支持光碟直接啟動,最簡單的啟動方式是光碟直接啟動,這樣就不需要制作啟動軟碟。

  目前大部分電腦的BIOS支持光碟直接啟動,這樣就只需要在啟動時進入系統BIOS的Setup程序,更改 啟動順序為光碟優先,然後存儲退出即可。不同的BIOS版本,進入Setup和更改啟動順序的方法不同。對於常用的 AWARD BIOS,在啟動系統自檢時按Del鍵進入Setup程序,更改啟動順序為CDROM,A,C,這樣就使用 IDE光驅啟動,或者設為SCSI,A,C並且設置SCSI控制卡的啟動設備ID為光驅ID,來使用SCSI光驅啟動 (需要SCSI控制卡支持光驅啟動)。

  然而,最標準的啟動安裝程序的方式還是軟碟啟動,這就需要按照前面敘述的步驟制作啟動軟碟,將軟碟插入A驅, 並更改啟動順序為軟碟優先。這樣萬一電腦的BIOS不支持光驅啟動或者使用了其他種類的安裝介質,均能夠正常啟動安 裝進程。

  使用DOS程序fbsdboot.exe,可以可以直接從DOS下啟動FreeBSD系統。由於fbsdboot 只能在標準的DOS模式下運行,因此就不能在Windows下執行,因此Windows需要先退出到DOS。並且 某些TSR程序也會影響引導過程。fbsdboot僅僅是一種啟動方式,仍然需要其他安裝介質,如光碟等,以放置 FreeBSD的安裝檔案。從DOS下啟動FreeBSD除了fbsdboot.exe之外,還需要FreeBSD的某個 核心檔案kernel,依賴於這個核心檔案,fbsdboot啟動FreeBSD系統的安裝界面,或者進入系統中已經 安裝好的FreeBSD系統。

  E:TOOLS> fbsdboot -D e: oolskernel.inst

  fbsdboot.exe預設使用c:kernel作為核心檔案,如果需要使用其他核心檔案,就需要使用- D參數,並指定核心檔案的路徑。fbsdboot不但能用於進入安裝系統,還能夠在DOS下啟動正常的FreeBSD 系統,這就使得在FreeBSD啟動過程出現問題時,仍然能夠進入FreeBSD系統。fbsdboot由於是在DOS 下啟動的,因此一些硬體的行為就與加電啟動時略有不同,因此最好還是通過軟碟啟動的方式進入FreeBSD系統, fbsdboot只用作一種備份啟動方式。

  當使用啟動軟碟或其他介質啟動之後(使用軟碟啟動時需要根據提示插入第二張root軟碟),首先將啟動 FreeBSD的bootstrap程序,螢幕將顯示一些FreeBSD bootstrap信息,然後安裝程序將提示使用 者配置核心參數。這個過程主要用於設置FreeBSD核心中的各個驅動程序使用的資源值,必須將這些資源設置修改為與 具體硬體實際使用的資源值相一致,FreeBSD才能正常檢測並使用這些硬體設備。這種可以在系統啟動時更改硬體參數 設置的機制稱為UserConfig,FreeBSD使用UserConfig提供了更大程度的靈活性。

  Skip kernel configuration and continue with installation
  Start kernel configuration in full-screen visual mode
  Start kernel configuration in CLI mode

  使用者可以使用上下箭頭鍵來在三種不同的方式下進行選擇,第一項表示忽略配置過程,這表示使用者電腦硬體的 配置參數與FreeBSD通用核心的預設配置基本一致,不需要更改核心設置,這是因為一般情況下電腦重要硬體使用的 資源設置都是非常標準的設置。當然使用者也可以選擇下面的選項,對資源的設置參數進行更改或確認的操作。其中第二項是 使用比較方便的全螢幕操作方式更改設置參數,這適合一般情況。第三個選項是使用命令行的操作方式更改系統參數,能夠用 來設置比較複雜的參數,包括一些在全螢幕方式下無法設置的參數,如ISA PNP卡的資源分配和設置。命令行方式的硬 件資源設置方式只適合對FreeBSD了解較深的使用者。

  FreeBSD的核心(kernel)中包含各種硬體的驅動程序,負責構建操作系統和硬體之間的通道。在啟動 之後,系統首先將核心程序裝載到內存中,然後由核心負責探測各種硬體。每種硬體驅動程序都將最常使用的資源值作為了它 的預設配置,在編譯的時候寫入了核心程序內部,只有通過UserConfig才能進行更改。當使用UserConfi g來更改硬體的資源設置的時候,前面準備過程中記錄的硬體配置信息就十分有用了,可以參考這些信息來設置正確的硬體占 用的資源。

  FreeBSD就使用這些最常使用的資源配置做參數去判斷系統中是否存在這種硬體,如果探測到了,才使用這些 資源激活這個硬體驅動程序。因此如果硬體的資源設定與FreeBSD核心配置的參數不相符,硬體探測就會失敗。這時就 需要更改核心的配置數據與板卡設置相同,才能正確探測到該硬體。

  對於要更改核心的配置參數的情況,一般可以選用第二個選項,使用全螢幕的操作方式進行系統參數的更改工作。

  進入UserConfig的全螢幕界面之後,整個螢幕被分為三個部分。上部為Active Drivers部 分,表示核心中激活的設備驅動程序,這些硬體將在啟動時進行檢測,中部為Inactive Drivers部分,表示 核心中存在的驅動程序,但卻被屏蔽了,因此在啟動時就不檢測這些硬體。下部是操作提示區域,用於提示操作命令和輸入具 體的參數設置。

  Active Drivers中的Conflicts表示在所有要檢測硬體的配置中存在多少個資源衝突,由於 不是所有的硬體都存在並真正占用這些資源,因此不必理會這個衝突現象。系統核心按照硬體檢測的順序(這在核心編譯時就 已經確定了),如果第一個硬體的確存在,占用了資源,那麼其他與它的配置相衝突的硬體就應該不會存在於這個資源上了, 因此就被系統略過而不探測這個硬體了,除非是已經指明可以共享這個資源的硬體。Dev對應的列為驅動程序的名字,IRQ 和Port對應的列為相應的硬體參數。

  Collapsed表示該項表示這是一組相關的硬體,可以將光標移動到這個選項上並使用Enter鍵打開這組 硬體,顯示組內的具體硬體,例如上圖中的Network類中就存在兩個網路設備ed0和ed1。選擇相應的設備之後, 可以使用Delete鍵將這個硬體移入Inactive Drivers部分(在Inactive Drivers中 選擇相應的設備,進行同樣的操作可以將其放入Active Drivers中),也可以使用Enter打開硬體的配置 參數,進行更改操作,此時就在下面的第三部分中提示各個硬體參數,如IRQ、port等,並允許用戶輸入新的設置值。

  在UserConfig中,有些設備,如PCI設備,不能被放入Iactive Drivers部分被屏蔽, 然而這並不影響系統探測。

  將硬體的配置參數進行了重新配置之後,要使用Q鍵來退出UserConfig,然後核心將會按照新配置偵測硬 件。核心偵測硬體的時候,將探測結果顯示到螢幕上。這些信息能夠告訴使用者是否配置的硬體被正確的探測到,該硬體占用 的系統資源以及該硬體的其他信息。但是自動探測不可能完全正確,因為很多硬體雖然聲稱相互兼容,但事實上仍存在細微的 差別。萬一出現問題,就要求使用者針對硬體配置參數的差異,在UserConfig中按照電腦的配置修改核心配置。 為了避免問題,可以使用排除法,將自己電腦中不存在的設備都先屏蔽了,以免出現偶然的錯誤。

  • 硬體探測問題

  使用者的電腦可能配置有很多種硬體,有可能在第一次啟動時沒有將所有的硬體全部配置正確,這並不是一個重要 的問題,因為有的硬體不影響安裝過程,可以在安裝好系統以後,再使用UserConfig或重新編譯核心來配置硬體參 數。但是有些硬體對於系統安裝非常重要,必須被正確探測到,否則就無法繼續安裝過程,如要安裝系統的硬碟驅動器、用於 讀取安裝光碟的光驅、使用網路安裝時的網卡等。這時就需要在啟動時進入UserConfig更改核心設置,而從硬體的 文檔或者從Windows的控制面板獲得的硬體信息就十分重要了。

  編譯操作系統核心對於Windows用戶也許是不可想象,但對於FreeBSD的使用者來說,是非常普通和標 準的做法。並且編譯核心決不是什麼難事,FreeBSD提供了十分方便的方法讓使用者來定制自己的核心。

  硬碟:不管使用何種安裝介質,核心必須將目標硬碟探測出,否則無法繼續安裝。因此使用者必須清楚自己電腦使 用的是何種硬碟驅動器。由於IDE驅動器使用的資源比較標準,也都使用wd這一種驅動程序,一般都能被正確探測到。而 SCSI驅動器則由於存在不同的標準和制造廠家,使用的驅動程序也各不相同,如果電腦上的SCSI控制卡兼容性不強 ,就有可能出現檢測錯誤。這有可能是廠商設定的資源設置與常用設置不同造成的,就需要用戶使用UserConfig重 新配置。為了增加系統檢測的速度和減少錯誤發生的幾率,可以在UserConfig中盡量屏蔽不必要的驅動程序,僅留 下正確的驅動並配置了正確的資源。

  CD-Rom:如果安裝介質是光碟,則核心必須要探測到光碟驅動器。探測光碟驅動器首先要探測到合適的IDE 或者SCSI控制器,這與探測硬碟要求一致。如果使用的光驅不是IDE或SCSI控制器接口的,而是另外的ATAPI 接口方式,就需要查看通用核心的硬體支持列表,看看核心是否支持這種光驅,並根據相關文檔配置核心參數支持這種控制器 。由於這些老式光驅的控制器常常是和聲卡作在一起,設置起來比較困難,並且FreeBSD系統也不支持所有種類的老型 號光驅,幸好目前非IDE或SCSI接口的光驅型號已經基本淘汰了。因此最好的解決方法是安裝一台新的IDE或SCSI 接口的光碟驅動器。

  IDE光驅可能會發生的另一個安裝問題是光驅的主/從問題(Master/Slave),通常在一個IDE控 制器上能串接兩個IDE設備,一個要設為主設備,另一個要設為從設備。在僅有一個設備時,將該設備設為從設備是不正確 的,設備不應該正常工作。但是在DOS/Windows下直接使用光驅驅動程序訪問光碟,這就使得某些光驅在第二個控 制器上僅接一個IDE光驅,並且光驅也設為從設備時,仍然能夠正常工作。但是FreeBSD下不是這樣,必須嚴格按照 主從方式進行設置,否則就不能正確探測到光碟驅動器。此外,光驅出錯時也應檢查有沒有插入光碟,以及光驅是否能夠讀取 插入的光碟。

  網卡:網卡由於種類繁多,並且廠商彼此存在兼容性問題,因此必須考慮不同類型的網卡在預設資源設置方面的不同 。某些時候網卡設備會出現設備超時(Device timeout)故障,一個可能的原因是總線接口的網卡沒有終結, 另一個原因是硬體IRQ參數配置錯誤。

  此外還需要為網卡選擇正確的驅動程序,目前網路設備的發展快速,而FreeBSD對新型網卡提供支持則需要一 定的時間。例如,3COM 905B型網卡在FreeBSD 2.2.6中還沒有提供支持,但到FreeBSD 2. 2.8之後就能很好的支持。因此,必須經常查看FreeBSD支持的硬體列表,以獲得對新型硬體的驅動程序。

  配置硬體的另一些問題是避免資源衝突,有些硬體本身設計的就存在問題,不能正確更改其資源設置,此時可以讓與 它衝突的其他硬體避開使用相應資源。另外,一些設計得比較糟糕的設備,如果系統對它占用的端口進行了不正當的探測操作 ,就可能造成系統死機。這也是為什麼盡量減少要探測的設備,並且不能在所有的資源上對硬體進行地毯式全面探測的原因之 一,因此也不應該隨便改動硬體探測的順序。很多情況下發生這些衝突等問題,常常是因為使用了兼容性不好的硬體或配置了 不太適合的硬體參數造成的。所以使用者應利用自己對系統硬體的了解,減少系統探測的硬體數量和設置正確的資源。

  • 安裝系統

  •   在核心載入內存之後,核心就啟動初始化進程init啟動系統,系統啟動完畢之後就運行安裝程序Sysinstall 。Sysinstall是一個位於安裝碟上的FreeBSD的執行程序,是一個非常有用的安裝和維護工具程序。 即使在系統安裝完畢之後,這個程序還可以被用於管理和維護系統。在一個安裝好的FreeBSD系統中,這個程序被放在 /stand目錄下,就可以使用/stand/sysinstall命令來再次啟動這個管理工具。

    1. 安裝程序Sysinstall
    2.   系統安裝時將自動進入sysinstall開始安裝系統的過程,在個人電腦的螢幕上(控制台),安裝程序表 現為全螢幕的彩色安裝選單,然而也可以在標準字符終端上啟動Sysinstall程序,根據字符終端的類型其外觀也略 有不同,下圖為Sysinstall主選單。

        這裡使用的選單圖片均為3.0-release中的選項,在3.1-release之後,對選單選項的順序進 行了調整,以便更適合安裝時使用的順序。不同只在於選單的順序,而設置內容則是一樣的。

        Sysinstall程序是一個對話框方式的選單程序,不同於Windows系統中安裝程序常用的 “ Wizard” 引導方式的安裝形式,選單形式能提供安裝者更大的選擇自由,但需要安裝者對需要用到的選項有一定的了解。其 主選單提供了12個選項提供選擇,可供安裝者進行選擇。

        選項 “Usage“ 給出了Sysinstall的使用方法,一般可以使用上 下方向鍵來選擇不同的選項,使用Enter確認,使用Tab在Sysinstall中的不同按鈕上切換,而使用 Space鍵選擇或不選擇某個檢查框選項。

        選項 “Doc“ 給出了在正式安裝系統之前瀏覽安裝介質上的文檔的機會,當然 安裝之前也可以直接查看安裝介質中文檔。這個選項主要用於對裸機直接進行安裝的使用者,或者熟練用戶臨時查看一些安裝 信息時使用的。下圖為Doc選項中的可以選擇查看的文檔內容。

        通過這個選單中的選項,可以在安裝系統時實時閱讀安裝介質上的README.TXT、HARDWARE.TXT 、INSTALL.TXT、COPYRIGT.TXT、RELNOTES.TXT等文檔,以及在安裝系統之後,創建 Sysinstall的快捷方式,閱讀/usr/share/doc目錄下的HTML格式的使用手冊和問題解答。對於 裸機安裝,閱讀相關文檔的功能十分有用,但在安裝好系統之後就沒有必要通過Sysinstall來閱讀手冊了。

        選項 “Keymap 提供了更改鍵碟規格的機 會,這個選項對於一些歐洲用戶比較有用,因為它們使用的是非英文鍵碟。對於使用101標準鍵碟或104鍵標準鍵碟的使 用者不需要更改。指定一個鍵碟規格檔案之後,可以通過更改這個檔案來定制自己的鍵碟映射方式,指定某些非標準的功能鍵 。

        選項 Options“ 提供了更改Sysinstall 本身使用的某些變量的機會,這些變量將由Sysinstall程序使用。這裡的一些參數用於確定安裝過程的 行為,如NFS的相關參數用於NFS網路安裝方式時訪問NFS伺服器,FTP相關參數用於設置FTP網路安裝方式,因 而只有在使用相應的安裝過程的時候,才需要根據伺服器的設置更改這些選項,一般情況下不必改動。還有一些參數是用於標 識安裝過程需要的程序和目錄的位置的,例如Packeges Temp參數是用於設置安裝和管理Packages的臨 時目錄。

        上圖顯示了正在更改Editor的參數,FreeBSD預設使用/usr/bin/ee做編輯器,這個編輯器 是一個小巧的編輯工具。但很多人更喜歡功能更強的編輯器,那麼可以在系統安裝完畢之後,修改這個參數,設置為使用 vi或emacs(應該使用完整路徑)。而在安裝時不應改動這個配置,因為安裝軟碟中只是一個小系統,沒有提供足夠的應用 程序。此外還可以設置瀏覽器等其他應用程序的位置,這些設置都是在系統安裝之後,用於維護系統時使用的。

        可供選擇的安裝方式有 “Novice“ , “Express “ 和 “Custom“ 三種不同的安裝方式。Novice方式適合初 次安裝FreeBSD的使用者使用,它引導安裝者按照安裝過程的每一步進行安裝,並且每一個步驟都使用對話框進行操作 提示,類似於一個安裝引導程序。Express方式與Novice使用同樣的安裝流程,但省略了提示,因此較為快捷, 適合熟練的安裝者。而Custom方式沒有引導過程,而是提供一個選單,安裝者可以不按照次序來處理安裝過程的每個步 驟,這樣就提供了更多的選擇機會。三種方式只是安裝步驟方面的不同,而並無實質上的差別,每種安裝方式均要進行以下幾 步操作:

      • 硬碟分區
      • 設置檔案系統和交換分區
      • 選擇安裝組件和安裝介質
      • 安裝系統
      • 系統初始設置

        在Novice和Express方式中,將順序進行以上的步驟,而Custom方式則列出對應以上每項工作的 選單,每完成一步都返回這個選單等待安裝者的下一步指示。這樣安裝者能按照自己的需要,安排進行相關操作,因此就有更 大的自由度,但如果不熟悉安裝程序的話,也許會遺漏一些必需的操作步驟。因此,一般情況下可以選擇Novice選項, 由sysinstall安排每一步的任務。

        主選單的 “Fixit“ 選項將啟動一個應急處理命令行界面,處理安裝過程中 出現的問題。

        啟動應急處理界面需要一個Fixit光碟或軟碟,Walnet Creek正式發行光碟中的第二張為Fixit 光碟,或者可以在現有DOS或FreeBSD系統下從安裝介質上制作Fixit軟碟,它的磁碟鏡象檔案為resume.flp 。當然Fixit軟碟上提供的處理、診斷工具沒有光碟上豐富。這個選項將提示安裝者插入Fixit碟。然後 使用第三個選項將在第四個虛擬控制台上啟動一個應急交互Shell程序,進行各種系統操作(使用Alt-F4可以切換 到這個虛擬控制台上)。如果沒有Fixit碟,選擇第三項也可以啟動應急界面,但是由於沒有Fixit碟上的應用程序 ,基本上無法進行操作,完成修復系統的任務。

        選單選項 “Upgrade“ ,用於系統升級時使用,這個升級過程將使用安裝 介質上的二進制檔案覆蓋原有系統上的檔案。由於升級過程有可能破壞原有的FreeBSD系統,因此系統將提示安裝者進 行確認。尤其對於從2.2.x向3.x升級,由於應用程序的格式從a.out轉向了ELF,因此升級還要保証兼容問題 。相比較而言,使用原始碼進行升級的方式更為安全和有效。

        主選單中的 “Configure“ 選項,用於對FreeBSD系統進行基本 配置,這是Sysinstall中非常有用的一部分。通常Unix進行系統設置需要執行各種命令和修改配置檔案,而 Sysinstall在這裡能提供了一個設置系統參數的友好界面。在這裡就能完成設置一個能夠正常運行的FreeBSD 基本系統的操作,當然更複雜的設置還是要通過修改配置檔案來完成的。

        如果使用Novice或Express安裝方式,將引導安裝者進行這個Configure選單中的各項必需的 配置任務,如果使用Custom方式進行安裝,就需要手工執行這個選項中的各個功能。在FreeBSD正常運行之後, 也能使用這個選項來維護系統、更改系統配置。

        假如安裝過程中更改了安裝選項(Options),但想恢復預設狀態,或者打算使用某個定制的安裝選項,就可 以使用主選單中的 “Load Config” 選項,從軟碟中載入安裝選項。對於大量 安裝同樣配置的FreeBSD系統有一定的幫助。

        主選單的最後一個選項為 “Index” ,選擇這個選單項將彈出一個子選單, 子選單中按照字母順序列出了Sysinstall中的所有的功能。這個選單項在系統安裝時並沒有實際的用處,但在系統 安裝之後使用sysinstall管理和維護系統時就非常有用。系統管理員不必一級一級尋找某個功能在Sysinstall 多級選單中的位置,而能依據其名字迅速找到所需要的功能。

    3. 安裝過程
    4.   無論安裝者使用何種安裝方式,所需進行的安裝步驟是相同的,對於新手來講,還是應該選擇Novice安裝方式 ,以免遺漏需要執行的安裝步驟。需要注意的是Novice方式中執行過程不能向後回溯,因而沒有更正失誤的機會。必須 保証每個步驟都執行正確,否則就需要重新執行整個步驟。選擇好安裝方式之後,Sysinstall將引導安裝者一步步 進行每個步驟的安裝任務。

      • 硬碟分區
      •   安裝過程的第一步就是要指定將FreeBSD安裝到何處,FreeBSD需要占用一個單獨的基本分區。因此就 需要進入Fdisk對硬碟進行分區處理,這個工具中可以完成維護硬碟分區的各項操作,包 括指定活動分區,增加和刪除分區等功能。

          如果電腦中有多個硬碟存在,Sysinstall中的Fdisk程序將首先詢問安裝者要處理的哪個硬碟,使 用空格鍵選中所有需要進行處理的硬碟,然後使用Enter確認,就能依次對各個硬碟進行分區操作。注意,如果要將系統 安裝到非啟動硬碟上(例如wd1),那麼也需要在系統的啟動硬碟(wd0)上安裝啟動管理軟體Boot Manager (或其他種類啟動管理軟體,只是那些軟體需要獨立的安裝過程),否則無法啟動非啟動硬碟上的系統。

          在Fdisk中顯示的前兩行為它報告的硬碟信息,包括硬碟的名字,以及柱面、磁頭和扇區等硬碟參數。柱面、磁 頭和扇區參數對於在一個硬碟上劃分多個分區的情況下非常重要,因為系統啟動程序要依賴電腦的BIOS來找到FreeBSD 分區。因此必須保証Fdisk中的這些數據和BIOS中的數據一致,以使Fdisk劃分出的分區被BIOS識別 。預設情況下,FreeBSD是直接從硬碟驅動器上探測這些硬碟參數的,因此當BIOS重新映射硬碟參數時,就有可能 使FreeBSD探測的真實參數與BIOS的映射參數不一致。

          在硬碟上已經有分區存在的情況下,Fdisk可以從已有分區中找到硬碟參數,將硬碟參數更改為與劃分已有分區 時使用的硬碟參數相一致,以避免它劃分的分區與已有分區衝突。這就是要迫使FreeBSD使用BIOS的映射參數,就 可以預先劃分一個硬碟分區的原因。例如本例中非空硬碟wd1的硬碟數據為782柱面,128磁頭,63扇區,實際是經 過BIOS使用LBA方式映射過的數據,Fdisk從已有的DOS分區中檢測到。

          雖然重新映射硬碟參數,無論對於FreeBSD或BIOS,都不會影響數據的存儲,但是使用硬碟的真實參數能 避開不同電腦BIOS的不一致性。當硬碟僅用於FreeBSD系統而不需要劃分分區時,就可以保持硬碟參數不作任何 更改。因此只有對於空硬碟並希望在安裝FreeBSD以後還要安裝DOS分區的情況,才需要檢查硬碟數據,當發現映射 信息與BIOS不一致時,就需要使用G(Set BIOS Geometry)命令重新設置。

          即使安裝了FreeBSD系統之後,當更改了BIOS中的硬碟映射方式的時候,同樣也可能發生系統啟動程序不 能找到FreeBSD分區,載入FreeBSD系統的情況。

          硬碟信息下面的第二部分是各個分區的列表,每個分區包括它的起始位置(Offset),大小(Size),結 束位置(End),分區的名字,類型,描述,子類型和標志等信息。其中分區中的第一項雖然標記為unused,也不能 為其他分區所占用,因為這是系統主引導區(MBR)占據的空間,雖然主引導區只有一個扇區,然而按照分區習慣,每個分 區必須從一個柱面的起始扇區開始,因此就會在引導區之後留下一些未使用的扇區。但這些空余空間可以被FreeBSD的 啟動管理程序Boot Manager或其他類似的啟動管理程序所使用。

          分區工具的下部為可使用的命令提示。如果只打算安裝啟動管理程序Boot Manager而不打算對硬碟進行 分區處理,可以直接使用Q鍵退出。如果要將整個硬碟都用作FreeBSD使用,可以使用A(Use Entire Disk )就可以將整個硬碟留給FreeBSD。當要將FreeBSD和其他操作系統共享硬碟時,就要具體使用不同的命 令來劃分分區了。

          命令C(Create Partition)在未使用的空間上創建分區(首先將光標移動到非使用的磁碟空間上 ),此後需要輸入這個分區的大小,和UFS分區類型165,以劃分出FreeBSD使用的UFS類型的分區。如果要創 建其他系統使用的分區,需要輸入其他類型號,如DOS使用的類型為6。在上面的例子中已經存在兩個分區,一個基本 DOS分區和一個擴展分區(第一個部分為系統主引導區),最後剩余的未使用空間太小,已經不足以建立分區了,因此就需要先 刪除已有分區(D, Delete Slice),或改變原有分區類型(T, Change Type)的命令,直接 將硬碟上已有的分區改變為UFS類型,分配給FreeBSD使用。

          當存在多個的分區時,可以使用S(Set Bootable)設置哪個分區是啟動分區,用來告訴標準主引導程 序啟動該分區內操作系統,對於使用多操作系統引導管理程序的時候,如FreeBSD帶的Boot Manager,就 不需要進行這個設置。一般如果在安裝FreeBSD之前已經安裝了DOS/Windows系統的情況下,啟動分區是 DOS的基本分區。

          在確信完成所有的分區操作,並沒有任何錯誤之後,才能使用W(Write Changes)來將改變真正寫入 硬碟分區表,否則使用U(Undo All Changes),恢復到操作之前的狀態。然後可以使用Q來退出分區工具 。分區工具接下來將詢問這個硬碟使用的啟動引導方式,即如何啟動這個硬碟上的FreeBSD或其他操作系統。

          當安裝啟動選項的時候,對於每個硬碟都有三個選擇。第一種BootMgr是使用FreeBSD的Boot Manager 作為多操作系統啟動管理程序,來選擇啟動不同磁碟及不同分區上的多個操作系統。系統將在啟動時提示使用者 使用功能鍵F1、F2等來啟動對應分區的操作系統,Boot Manager將被安裝到磁碟的主引導區及其後的自由空 間內,對硬碟分區沒有影響。可以在每個硬碟上都安裝Boot Manager,這樣就能從第一個磁碟上啟動其他磁碟上 的Boot Manager,然後再啟動該非啟動硬碟上的操作系統。安裝Boot Manager,是在一台電腦上 管理多個操作系統的很好選擇,是將FreeBSD安裝到非啟動硬碟上的一種有效的啟動方式。

          第二種選擇為Standard,即使用標準的主引導區啟動系統,這種方法由主引導區引導程序將控制權交給位於 啟動分區開始位置上的操作系統引導程序,然後再載入操作系統。因此這要求啟動分區必須設置正確,需要在前面的操作中要 將FreeBSD分區設置為啟動分區。選擇此項就將主引導區恢復為標準主引導區,相當於DOS下的fdisk /mbr命令。

          第三種None方式是不改變主引導區,也不安裝任何系統引導程序。當使用其他種類的操作系統引導軟體時,如 Linux LILO,避免更改主引導區而使得那些操作系統引導程序不能正常運行。因為此時主引導區被其他引導程序使用 ,不需要改變。而此時引導FreeBSD的任務就交給了其他引導軟體。

          因為安裝程序要更改主引導區,因此需要在BIOS中將主板中用於防病毒的主引導區寫保護功能關掉。

          當要在一台電腦使用多個操作系統時,確定系統引導的方式是一個複雜的情況,因為這與要使用的其他操作系統有 關,一般情況下都可以使用FreeBSD的Boot Manager對多操作系統進行管理。但也可以使用Linux LILO、Windows NT OS Loader、OS/2 Boot Manager來管理多操作系統。但是在 多操作系統的條件下,每個操作系統中的一些操作都會重寫主引導區,從而造成引導程序出現問題。尤其DOS/Windows 系統,每次重新安裝都會不加任何提示重寫主引導區,將引導程序恢復為標準引導程序。

      • 創建檔案系統和交換空間
      • 在硬碟分區之後,安裝者將進入FreeBSD風格的檔案系統管理工具Disklabel,用於管理檔案系統和交換空間。這個工具將對UFS分區進行操作,將它們分割為不同的檔案系統上或用作交換空間的部分。

          Disklabel整個螢幕也劃分為三部分,上部顯示要進行處理硬碟及和UFS分區,本例中為wd1和wd1s1 ,中部為檔案系統和交換空間的列表,下部為使用到的各個命令。對於大多數情況時,wd1s1中還沒有檔案系統和交 換空間存在的條件下,可以讓disklabel來決定各個檔案系統和交換空間的大小,這僅需要使用A(Auto Defaults for all)命令即可。如果已經有劃分好的部分存在,可先使用D命令刪除。即使安裝者打算自己確定 各個部分的大小,使用A來看看Disklabel的預設設置情況也能起到參考作用。

          手工使用C(Create)命令分割磁碟時,首先決定是創建交換空間或檔案系統。FreeBSD系統需要使用 交換空間來提供比實際內存更大的虛擬內存空間,這樣系統就能支持更多、更複雜的進程。交換空間的大小要根據具體需求而 定,有些程序,如X11,GNU C++等,需要大量的內存,因此要配置較多的交換空間,一般交換空間不應小於系統的 物理內存,用作伺服器的系統需要更多的交換空間,但過多的交換空間又沒有必要。可根據系統在最高負載下用戶和同時運行 進程的多少,在物理內存的1-2.5倍範圍內調整交換分區的大小。

          在多個磁碟的情況下,可在不同的磁碟中設置多個交換空間,以均衡磁碟的負載。然而對於IDE接口的硬碟,在同 一根電纜上連接的主從硬碟上分布交換空間沒有意義,因為同一個驅動器上的兩個硬碟不能並發存取。交換空間也應該盡量設 置在高速硬碟上,如Ultra SCSI接口的硬碟,以提高系統的性能。

          對於用於檔案系統的子分區,除了設定大小之外,還要設定它在檔案系統中的安裝位置,即將其安裝到目錄樹的哪個 位置上。雖然原則上僅使用一個安裝到根目錄的完整檔案系統就能滿足系統要求,但是由於檔案系統中不同目錄將用於不同目 的,將其劃分為不同部分,分別安裝到目錄樹上,更有利於管理、維護,也增強了萬一系統崩潰時,減低數據丟失的可能性。 這是由於不同的子分區在物理上相互分隔,一個子分區寫滿或出現問題不影響其他檔案系統上的內容。例如根目錄所在的檔案 系統很少需要進行寫操作,那麼系統崩潰就不會影響這個檔案系統中的系統數據,或者當某個進程產生了非常巨大的數據檔案 時,這個數據檔案只能填滿某個子分區,而不致於影響其他需要存取系統中其他分區的重要系統進程。因此,由於對於用作服 務器的FreeBSD系統,應該使用多個檔案系統以提升系統可靠性。

          通常應將檔案系統劃分為 “/” 檔案系統, “/usr” 檔案系統, “/var” 檔案系統。 “/” 檔案系統中只保留系統核心及其他非常重要的檔案,當系統進入單用戶模式也只安裝這個檔案系統,一般需要30-40M空 間。 “/usr” 檔案系統放置系統日常使用的檔案,應該盡量大,甚至還會在這個目錄之下再安裝新的檔案系統。 “ /var” 檔案系統用於系統運行時的數據檔案,根據不同系統的情形,所需要的大小也不一樣,用戶和提供的服務越多, 越需要 “/var” 空間。

          如果要自己手工調整預設設置,就要求安裝者處理進行分割分區空間的全部細節。使用Create命令來完成創建 每個子分區的任務,首先需要設置劃分的子分區的大小,可以直接輸入扇區數(512字節為單位)或更容易理解的用MB為 單位(在數字之後加上MB單位),此後設置該子分區是用作檔案系統(UFS類型)還是交換空間(Swap類型),如果 要該分區用做檔案系統,則系統會接著問該檔案系統的安裝(Mount)位置。

          在升級系統或其他情況下,硬碟或分區系統中已經有FreeBSD子分區存在,但這些子分區的安裝位置信息已經 丟失。此時可以使用M(Mount Pt),將現存子分區按照原來的安裝狀態,設置它的安裝目錄。此時可以使用T(Newfs Toggle),在對不對該子分區進行格式化(Newfs)的選項上進行轉換,設置為不進行格式化就能保留 上面的原有數據。

          當分區完成以後,使用W(Write)確認設置,使用Q(Finish)退出disklabel系統,然後就 可以向選定的分區上安裝操作系統軟體本身了。

      • 選擇安裝組件
      •   由於操作系統本身由不同的部分組成,不同的使用者可以根據自己的需要進行選擇,因此,安裝程序將顯示出一個 Distributions 選擇選單,提示不同種類的使用者選擇自己需要的系統組件。

          對於一個完整的系統,所有的這些內容都十分有用。如果不是為了節約硬碟空間的原因,應該選擇All全部安裝。 但全部安裝就需要相當多的磁碟空間,一般情況下為了節約磁碟空間,可以選擇不同的安裝選項。但即使要安裝一個精簡的 FreeBSD系統,仍然建議安裝核心原始碼,這樣才能按照機器的具體硬體來定制一個更高效的核心。因此至少應該選擇 Kern-Developer選項,此外也可以選擇多個部分,例如同時選擇Kern-Developer和X-User ,或者使用定制方式(Custom),使組件的選擇更為靈活。

          當選擇了Custom之後,則Sysintall將顯示出所有可選擇安裝組件的詳細列表,供安裝者選擇需要的 組件。

          在Custom選單下,可以逐項選擇要安裝的組件,為了方便起見,可以在上一級選單中先選擇好某類組件,然後 再在這裡略加修改。

          注意,由於DES算法受美國法律的出口限制,需要進行審批,因此FreeBSD預設使用的加密算法為MD5算 法。DES算法只在某些特定的軟體中是必須的,例如當使用NIS與其他使用DES算法的電腦共享密碼檔案時。

          如果需要安裝DES組件,可以選擇DES組件,名義上這個組件不是直接從美國出口,而是來自歐洲或其他非北美 地方的,從形式上避免這個問題。此後的安裝過程中FreeBSD還會使用一個對話框警告安裝者,可以簡單確認即可。

          FreeBSD還將詢問是否安裝Ports Collection的源碼,Ports Collection 是用於幫助用戶編譯、安裝、維護應用程序的一個非常有效的工具。它是FreeBSD系統的一部分,是FreeBSD的 諸多開發者將應用軟體移植到FreeBSD上的努力,比起預編譯好的Packages,它更為靈活。因此最好安裝Po rts Collection,以方便以後定制應用軟體。

          如果要想使用圖形界面,就應該選用的XFree86相關的安裝組件。由於XFree86也是由多個部分組成, 也可以選擇各個部分進行安裝,以節約磁碟空間。

          XFree86中包括基本組件Basic,不同的X Server組件,字體組件。一般情況下應該進入各個組 件內部,在預設設置的基礎上修改選擇的內容。Basic選單下的設置一般不必改動,在Fonts選單下可以選擇增加中 文字體。最重要的選擇是Server選單中的選項,應該選擇適合自己顯示設備的X Server。

          在X Server的選擇選單中,除了選擇自己顯示卡對應的X Server以外,還應該選擇VGA16的X Server,這用於運行XFree86的設置程序XF86Setup。如果不能十分確定自己顯示卡的類型,應該多選 擇幾種X Server,等設置X Windows時再確定哪個X Server適合自己的顯示設備。

          當選擇好Basic、Fonts和Servers中的選項之後,就可以使用Exit選單退出這個選單選項,進 入真正的復制系統的安裝過程。

      • 安裝系統檔案
      •   在安裝程序Sysinstall正式復制系統檔案之前,安裝程序將詢問安裝介質位於何處。

          最常用的方式是使用CDROM進行安裝,這時不需要額外的配置。進行網路安裝(NFS或兩種ftp方式),則 要求首先配置網路界面、遠程伺服器的IP地址及安裝檔案所在的目錄。從DOS分區下安裝要輸入安裝檔案所在的DOS目 錄名,從現存檔案系統下安裝可以允許從已經安裝的目錄下(可以是NFS、UFS、MSDOS或CD9660系統)進行 安裝,此時需要先使用Fixit碟啟動應急界面,預先安裝上相應的安裝介質。軟碟和磁帶安裝方式也不需額外的配置。

          這個選單內還有一個Options選項,可以啟動Sysinstall主選單中Options選單,主要用於 設置使用NFS和FTP時候的相關連接選項,以便安裝能順利進行。當完成安裝介質的確認之後,就開始拷貝檔案的安裝過 程了。

          由於系統中有多個虛擬控制台,在安裝程序的拷貝過程中,可以使用Alt-F2切換到第二個虛擬控制台上觀察 sysinstall程序的輸出信息,使用Alt-F4切換到第四個虛擬控制台上,這裡啟動了一個shell,可以接受 安裝者的輸入指令,這使安裝者可以在必要的時候,干預安裝過程或處理可能的問題(預設情況下沒有任何命令可供安裝者執 行,必須在安裝系統之前使用Fixit光碟或軟碟,才能提供可執行的命令)。正常情況下並不需要這些額外的工作,使用 Alt-F1回到sysinstall安裝界面,等上約20分鐘(具體時間將依賴具體機器的硬體和選擇的安裝組件), 基本系統將安裝完畢。