---
title: 章 2. 安裝 FreeBSD
part: 部 I. 入門
prev: books/handbook/introduction
next: books/handbook/basics
showBookMenu: true
weight: 4
params:
  path: "/books/handbook/bsdinstall/"
---

[[bsdinstall]]
= 安裝 FreeBSD
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:sectnumoffset: 2
:partnums:
:source-highlighter: rouge
:experimental:
:images-path: books/handbook/bsdinstall/

ifdef::env-beastie[]
ifdef::backend-html5[]
:imagesdir: ../../../../images/{images-path}
endif::[]
ifndef::book[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
toc::[]
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

[[bsdinstall-synopsis]]
== 概述

有多種不同的方法可以執行 FreeBSD，根據所在環境，包含：

* 一般虛擬機映像檔，可下載並匯入到您所選擇的虛擬環境。映像檔可從 https://www.freebsd.org/where/[Download FreeBSD] 頁面下載，KVM ("qcow2"), VMWare ("vmdk"), Hyper-V ("vhd") 及原始裝置的映像檔都支援。這些並非安裝程式的映像檔，而是已經預先設定好 ("已安裝好") 的實例，可直接使用並執行安裝後的作業。
* 託管服務虛擬機映像檔，可在 Amazon 的 https://aws.amazon.com/mp/solutions/freebsd/[AWS Marketplace], https://azuremarketplace.microsoft.com/en-us/marketplace/apps?search=freebsd&page=1[Microsoft Azure Marketplace] 和 https://console.cloud.google.com/launcher/details/freebsd-cloud/freebsd-11[Google Cloud Platform] 等託管服務上運行的虛擬機映像檔。有關如何在 Azure 上部署 FreeBSD 的資訊可查詢 https://docs.microsoft.com/en-us/azure/virtual-machines/linux/freebsd-intro-on-azure[Azure 說明文件]中的相關章節。
* SD 卡映像檔，供嵌入式系統，如 Raspberry Pi 或 BeagleBone Black 使用的映像檔，可從 https://www.freebsd.org/where/[Download FreeBSD] 頁面下載，這些檔案必須先解壓縮後以原始映像檔的格式寫入 SD 卡以讓這些開發電路板能夠啟動。
* 安裝程式映像檔，用來安裝 FreeBSD 到硬碟，供一般的桌機、筆電或伺服器系統使用。

此章接下來的部份會介紹第四個案例，說明如何使用文字介面為基礎的安裝程式 bsdinstall 安裝 FreeBSD。

一般來說，本章所寫的安裝說明是針對 i386(TM) 和 AMD64 架構。如果可以用於其他平台，將會列表說明。 安裝程式和本章所敘述的內容可能會有些微差異，所以請將本章視為通用的指引，而不是完全照著來做。

[NOTE]
====
喜歡用圖形化安裝程式安裝 FreeBSD 的使用者， 可能會對 pc-sysinstall 有興趣，這是 TrueOS 計畫所使用的。 他可以用來安裝圖形化桌面 (TrueOS) 或是指令列版本的 FreeBSD。 細節請參考 TrueOS 使用者 Handbook (https://www.trueos.org/handbook/trueos.html[https://www.trueos.org/handbook/trueos.html])。
====

讀完這章，您將了解：

* 最低的硬體需求和 FreeBSD 支援的架構。
* 如何建立 FreeBSD 的安裝媒體。
* 如何開始執行 bsdinstall。
* bsdinstall 會詢問的問題，問題代表的意思，以及如何回答。
* 安裝失敗時如何做故障排除。
* 如何在正式安裝前使用 live 版本的 FreeBSD。

在開始閱讀這章之前，您需要：

* 閱讀即將安裝的 FreeBSD 版本所附帶的硬體支援清單，並核對系統的硬體是否有支援。

[[bsdinstall-hardware]]
== 最低硬體需求

安裝 FreeBSD 的硬體需求隨 FreeBSD 的版本和硬體架構而不同。 FreeBSD 發行版支援的硬體架構和裝置會列在 link:https://www.FreeBSD.org/releases/[FreeBSD 發佈資訊] 頁面。link:https://www.FreeBSD.org/where/[FreeBSD 下載頁面] 也有建議如何正確的選擇在不同架構使用的映像檔。

FreeBSD 安裝程序需要至少 96 MB 的 RAM 以及 1.5 GB 的硬碟空間。然而，如此少的記憶體及磁碟空間只適合在客製的應用上，如嵌入式設備。一般用途的桌面系統會需要更多的資源，2-4 GB RAM 與至少 8 GB 的硬碟空間是不錯的起點。

每一種架構的處理器需求概述如下：

amd64::
桌面電腦與筆記型電腦最常見的處理器類型，運用在近代的系統。Intel(TM) 稱該類型為 Intel64，其他製造商則稱該類型為 x86-64。
+
與 amd64 相容的處理器範例包含：AMD Athlon(TM)64, AMD Opteron(TM), 多核心 Intel(TM) Xeon(TM) 以及 Intel(TM) Core(TM) 2 與之後的處理器。

i386::
舊型的桌面電腦與筆記型電腦常使用此 32-bit, x86 架構。
+
幾乎所有含浮點運算單元的 i386 相容處理器都有支援。所有 Intel(TM) 486 或是更高階的處理器也有支援。
+
FreeBSD 可在有支援實體位址延伸 (Physical Address Extensions, PAE) 功能的 CPU 上運用該功能所帶來的優點。有開啟 PAE 支援的核心會偵測超過 4 GB 的記憶體，並讓這些超過的記憶體能夠被系統使用。 但使用 PAE 會限制裝置驅動程式及 FreeBSD 的其他功能，詳情請見 man:pae[4]。

ia64::
目前支援的處理器是 Itanium(TM) 和 Itanium(TM) 2。支援的晶片組包括 HP zx1， Intel(TM) 460GX 和 Intel(TM) E8870。 單處理器 (Uniprocessor, UP) 和對稱多處理器 (Symmetric Multi-processor, SMP) 的設定都有支援。

powerpc::
所有內建 USB 的 New World ROMApple(TM)Mac(TM) 系統都有支援。 SMP 在多 CPU 的機器都有支援。
+
32 位元的核心只能使用前 2 GB 的 RAM。

sparc64::
FreeBSD/sparc64 支援的系統列在 https://www.FreeBSD.org/platforms/sparc/[FreeBSD/sparc64 計劃]。
+
所有超過一個處理器的系統都有支援 SMP。需要專用的磁碟系統，因為此時無法和其他作業系統共用磁碟。

[[bsdinstall-pre]]
== 安裝前準備工作

一旦確定系統符合安裝 FreeBSD 的最低硬體需求，就可以下載安裝檔案並準備安裝的媒體。 做這些之前，先檢查以下核對清單的項目是否準備好了：

[.procedure]
====
. 備份重要資料
+ 
安裝任何作業系統前， _總是_ 要先備份所有重要資料。 不要儲存備份在即將安裝的系統上，而是將資料儲存在可移除磁碟，像是 USB 隨身碟、網路上的另一個系統或是線上備份服務上。 開始安裝程序前要檢查備份，確定備份含有所有需要的檔案，一旦安裝程式格式化系統的磁碟，所有儲存在上面的資料都會遺失。
. 決定 FreeBSD 安裝在哪裡
+ 
如果 FreeBSD 是唯一一套要安裝到電腦的作業系統，這個步驟可以略過。 但是假如 FreeBSD 要和其他作業系統共用磁碟空間的話，就要決定 FreeBSD 要安裝在哪個磁碟或是哪個分割區 (Partition)。
+ 
在 i386 和 amd64 架構，可將磁碟分割成多個分割區，可以選擇下列兩種分割表格式 (Partitioning scheme) 的其中一種達成。 傳統的__主開機紀錄 (Master Boot Record, MBR)__ 的一個分割區表定義最多可有四個__主分割區__ (Primary partition)，因一些歷史淵源，FreeBSD 稱這些主分割區為 _slice_，其中一個主分割區可作為__延伸分割區__ (Extended partition)，延伸分割區又可分割成多個__邏輯分割區__ (Logical partition)。 _GUID 分割區表_ (GUID Partition Table, GPT) 是較新和較簡單的分割磁碟的方法，一般 GPT 實作允許每個磁碟多達 128 個分割區，不再需要使用邏輯分割區。
+
[WARNING]
======
一些比較舊的作業系統，像是 Windows(TM) XP 並不相容 GPT 分割表格式。 如果 FreeBSD 將和這類作業系統共用一個磁碟，則需要用 MBR 分割表格式。
======
+ 
FreeBSD 開機啟動程式需要主分割區或是 GPT 分割區。如果所有的主分割區或 GPT 分割區都已使用，必須釋放其中一個分割區讓 FreeBSD 使用。如果要建立一個分割區而不刪除原有的資料，可以使用磁碟重設大小的工具來縮小現有的分割區，並使用釋放出來的空間建立新分割區。
+ 
各種免費和付費的磁碟重設大小工具列於 http://en.wikipedia.org/wiki/List_of_disk_partitioning_software[http://en.wikipedia.org/wiki/List_of_disk_partitioning_software]。GParted Live (http://gparted.sourceforge.net/livecd.php[http://gparted.sourceforge.net/livecd.php]) 是內含分割區編輯程式 GParted 的免費 Live CD。 GParted 同時也被許多 Linux Live CD 發行版所收錄。
+
[WARNING]
======
在正確使用的情況下，磁碟重設大小的工具可以安全的建立讓新的分割區使用的空間。 但因仍有可能會誤選已經存在的分割區，所以在修改磁碟分割區前， 一定要備份重要資料，並確認備份的完整性。
======
+ 
在磁碟分割區中儲存不同的作業系統讓一台電腦可以安裝多個作業系統，另一種作法是使用虛擬化技術 (crossref:virtualization[virtualization,虛擬化]) ，可讓多個作業系統同時間執行而不需要改變任何磁碟分割區。
. 收集網路資訊
+ 
部份 FreeBSD 安裝方式需要網路連線來下載安裝檔，因此之後的安裝程序，安裝程式進入設定系統網路的介面。
+ 
如果網路中有 DHCP 伺服器，則可透過該伺服器自動設定網路，若無法使用 DHCP，則需要從區域網路管理者或是網際網路服務供應商 (Internet Service Provider, ISP) 取得以的網路資訊供系統使用：
[[bsdinstall-collect-network-information]]
.. IP 位址
.. 子網路遮罩
.. 預設通訊閘 IP 位址
.. 網路的網域名稱
.. 網路 DNS 伺服器 IP 位址

. 檢查 FreeBSD 勘誤表
+ 
儘管 FreeBSD 計劃努力確保每個 FreeBSD 發行版能夠儘可能地穩定，但臭蟲偶爾還是會悄悄出現，並有極小的可能會發生影響安裝流程的錯誤，當這些問題被發現並修正後，會被紀錄在 FreeBSD 網站的 FreeBSD 勘誤表 (https://www.FreeBSD.org/releases/12.0r/errata/[https://www.freebsd.org/releases/12.0r/errata/])。 安裝前先檢查勘誤表，以確保沒有會影響到安裝的問題。
+ 
所有發行版的資訊和勘誤表可以在 FreeBSD 網站的發行資訊找到 (https://www.FreeBSD.org/releases/[https://www.freebsd.org/releases/])。
====

[[bsdinstall-installation-media]]
=== 準備安裝的媒體

FreeBSD 安裝程式並不是一個可以在其他作業系統上執行的應用程式，反而您需要下載 FreeBSD 安裝檔，燒錄安裝檔到符合其檔案類型與大小的媒體 (CD, DVD 或 USB)，然後開機從插入的媒體來安裝。

FreeBSD 的安裝檔可於 link:https://www.FreeBSD.org/where/#download[www.freebsd.org/where/#download] 取得。安裝檔的名稱由 FreeBSD 發佈版本、架構、以及檔案類型所組成，舉例，要從 DVD 安裝 FreeBSD 10.2 到 amd64 的系統，需下載 [.filename]#FreeBSD-10.2-RELEASE-amd64-dvd1.iso#，並燒錄這個檔案到 DVD，然後使用插入 DVD 來開機。

安裝檔有許多種可用的格式，格式會依據電腦架構及媒體類型的不同而異。

[[bsdinstall-installation-media-uefi]]
還有另一種安裝檔是給使用 UEFI (Unified Extensible Firmware Interface) 開機的電腦使用，這些安裝檔的名稱會含有 [.filename]#uefi#。

檔案類型：

* `-bootonly.iso`：這是最精簡的安裝檔，檔案中只含安裝程式。 安裝時需要網際網路連線來下載所需的檔案以完成 FreeBSD 安裝。這個檔案應使用 CD 燒錄應用程式燒錄到 CD 使用。
* `-disc1.iso`：這個檔案含有所有安裝 FreeBSD 所需的檔案，包含原始碼及 Port 套件集。這個檔案應使用 CD 燒錄應用程式燒錄到 CD 使用。
* `-dvd1.iso`：這個檔案含有所有安裝 FreeBSD 所需的檔案，包含原始碼及 Port 套件集，也內含熱門的 Binary 套件可安裝視窗管理程式以及一些應用程式，如此便可從媒體安裝完整的系統，無須連線到網際網路。這個檔案應使用 DVD 燒錄應用程式燒錄到 DVD 使用。
* `-memstick.img`：這個檔案含有所有安裝 FreeBSD 所需的檔案，包含原始碼及 Port 套件集。這個檔案應依據以下操作指示寫入到 USB 隨身碟使用。
* `-mini-memstick.img`：類似 `-bootonly.iso`，但不含安裝檔 (可依所要下載)，安裝時需要網際網路連線，可依 <<bsdinstall-usb>> 的說明將此檔案寫入至 USB 隨身碟。

映像檔下載完成之後，下載同一個目錄之中的 [.filename]#CHECKSUM.SHA256#。FreeBSD 提供 man:sha256[1] 可用來計算映像檔的 _校驗碼 (Checksum)_，使用方式為 `sha256 _imagefilename_`，其他作業系統也會有類似的程式。

比對計算後的校驗碼與 [.filename]#CHECKSUM.SHA256# 檔案中的值，校驗碼應該要完全相符，若校驗碼不相符，則代表該映像檔是損壞的，必須再下載一次。

[[bsdinstall-usb]]
==== 寫入映象檔到 USB

[.filename]#\*.img# 檔案是隨身碟的完整內容的__映像檔 (image)__，該檔案__不能__直接用檔案的方式複製到目標裝置。有許多應用程式可用來寫入 [.filename]#*.img# 到 USB 隨身碟，本節會介紹其中兩種。

[IMPORTANT]
====
在繼續之前，請先備份 USB 上的重要資料，這個程序會清除在隨身碟上既有的資料。
====

[[bsdinstall-usb-dd]]
[.procedure]
====
*Procedure: 使用 `dd` 來寫入映像檔*

[WARNING]
======

本範例使用 [.filename]#/dev/da0# 做為目標裝置，是映像檔將會寫入的位置。 務必__十分小心__確認要使用的裝置正確，因為這個指示會摧毀所有在指定目標裝置上已存在的資料。
======
. man:dd[1] 指令列工具在 BSD, Linux(TM) 以及Mac OS(TM) 系統皆可使用。要使用 `dd` 燒錄映像檔需先插入 USB 隨身碟，然後確認隨身碟的裝置名稱。然後指定已下載的安裝檔名稱以及 USB 隨身碟的裝置名稱。本例示範在已有的 FreeBSD 系統燒錄 amd64 安裝映像檔到第一個 USB 裝置。
+
[source,shell]
....
# dd if=FreeBSD-10.2-RELEASE-amd64-memstick.img of=/dev/da0 bs=1M conv=sync
....
+ 
若這個指示執行失敗，請確認 USB 隨身碟是否還未掛載，以及該裝置名稱是否指向這個隨身碟，而不是一個分割區。有些作業系統可能需要使用 man:sudo[8] 來執行這個指令。且 man:dd[1] 的指令語法在不同的作業系統上有些不同，例如在 Mac OS(TM) 需要使用小寫的 `bs=1m`，而在 Linux(TM) 這類的系統可能會暫存寫入動作，要強制完成所有寫入動作，需使用 man:sync[8]。
====

[.procedure]
====
*Procedure: 使用 Windows(TM) 來寫入映象檔*

[WARNING]
======

務必確認指定的磁碟機代號正確，因在指定磁碟機上的既有資料將會被覆蓋與摧毀。
======
. 取得 Image Writer Windows(TM) 版
+ 
Image Writer Windows(TM) 版 是一個免費的應用程式，可以正確地將映像檔寫入隨身碟。可從 https://sourceforge.net/projects/win32diskimager/[https://sourceforge.net/projects/win32diskimager/] 下載，並解壓縮到一個資料夾。
. 用 Image Writer 寫入映象檔
+ 
雙擊 Win32DiskImager 圖示啟動程式。 確認 `Device` 顯示的磁碟機代號是隨身碟的磁碟機代號。 按下資料夾圖示選擇要寫入隨身碟的映像檔。 按下 btn:[ Save ] 按鈕確定映像檔名。 確認所有東西都正確，隨身碟的資料夾並沒有在其他視窗開啟。 所有東西準備好後，按下 btn:[ Write ] 將映像檔寫入隨身碟。
====

您現在可以開始安裝 FreeBSD 。

[[bsdinstall-start]]
== 開始安裝

[IMPORTANT]
====
預設安裝程序在下列訊息顯示之前不會對磁碟做任何更動：

[.programlisting]
....
Your changes will now be written to disk.  If you
have chosen to overwrite existing data, it will
be PERMANENTLY ERASED. Are you sure you want to
commit your changes?
....

在這個警告訊息之前可以隨時中止安裝，若有任何設定錯誤的疑慮，只需在此時關閉電腦，將不會對系統磁碟做任何更改。
====

本節將介紹如何使用根據 <<bsdinstall-installation-media>> 指示所準備的安裝媒體來開機。要使用可開機的 USB，請在開啟電腦前插入 USB 隨身碟。要使用 CD 或 DVD，則可開啟電腦後在第一時間插入媒體。如何設定系統使用插入的媒體開機依不同的系統架構會有所不同。

[[bsdinstall-starting-i386]]
=== 在 i386(TM) 及 amd64 開機

這兩種架構提供了 BIOS 選單可選擇開機的裝置，依據要使用的安裝媒體類型，選擇 CD/DVD 或 USB 裝置做為第一個開機裝置。大多數的系統也會提供快速鍵可在啟動時選擇開機裝置，而不需要進入BIOS，通常這個按鍵可能是 kbd:[F10], kbd:[F11], kbd:[F12] 或 kbd:[Escape] 其中之一。

若電腦仍載入了現有的作業系統，而不是 FreeBSD 安裝程式，原因可能為：

. 執行開機程序時安裝媒體插入主機的時間不夠早，請讓安裝媒體留在電腦中並重新啟動電腦。
. 未正確修改 BIOS 或未儲檔，請再三檢查第一個開機裝置選擇了正確的裝置。
. 系統太舊，無法支援使用選擇的開機媒體開機，發生這個情況可以使用 Plop Boot Manager (http://www.plop.at/en/bootmanagers.html[]) 來從選擇的開機媒體開機。

=== 在 PowerPC(TM) 開機

在大部份機型，可於開機時按住鍵盤上的 kbd:[C]，便可從 CD 開機。若在非 Apple(TM) 的鍵盤則可按住 kbd:[Command+Option+O+F] 或 kbd:[Windows+Alt+O+F]，出現 `0 >` 提示時，輸入

[source,shell]
....
boot cd:,\ppc\loader cd:0
....

=== 在 SPARC64(TM) 開機

大多數 SPARC64(TM) 系統會自動從磁碟開機，要從 CD 安裝 FreeBSD 需要進入 PROM。

要進入 PROM，需重新開機系統然後等候開機訊息出現。訊息會依機型而有所不同，但大致結果會如：

[source,shell]
....
Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.
....

若系統繼續從磁碟開機，此時按下鍵盤上的 kbd:[L1+A] 或 kbd:[Stop+A] 或透過序列 Console 送出 `BREAK`。當使用 tip 或 cu, `~#` 發出一個 BREAK 後，PROM 的提示會在單 CPU 的系統出現 `ok`，SMP 的系統出現 `ok {0}`，其中的數字代表啟動的 CPU 數。

此時，放入 CD 到磁碟機然後在 PROM 提示畫面輸入 `boot cdrom`。

[[bsdinstall-view-probe]]
=== FreeBSD 開機選單

從安裝媒體開機之後，會顯示如下的選單：

[[bsdinstall-newboot-loader-menu]]
.FreeBSD 開機載入程式選單
image::bsdinstall-newboot-loader-menu.png[]

預設在開機進入 FreeBSD 安裝程式前選單會等候使用者輸入 10 秒鐘，若已經安裝 FreeBSD，則會在開機進入 FreeBSD 前等候。要暫停開機計時器來仔細查看選項，請按 kbd:[Space] 鍵。要選擇選項，按下明顯標示的數字、字元或按鍵。選單有以下選項可選。

* 啟動多使用者模式 (`Boot Multi User`)：這個選項會繼續 FreeBSD 開機程序，若開機計時器已經暫停，可按 kbd:[1]、大寫或小寫 kbd:[B] 或 kbd:[Enter] 鍵。
* 啟動單使用者模式 (`Boot Single User`)：這個模式用來修正已安裝的 FreeBSD，如 crossref:boot[boot-singleuser,單使用者模式] 所述。可按 kbd:[2]、大寫或小寫 kbd:[S] 進入這個模式。
* 離開到載入程式提示 (`Escape to loader prompt`)：這個選項會開機進入修復提示，這個模式含有有限數量的低階指令，這個模式詳細說明於 crossref:boot[boot-loader,階段三]。可按 kbd:[3] 或 kbd:[Esc] 進入這個提示。
* 重新開機 (`Reboot`)：重新開啟系統。
* 設定開機選項 (`Configure Boot Options`)：開啟內部選單，詳細說明於 <<bsdinstall-boot-options-menu>>。

[[bsdinstall-boot-options-menu]]
.FreeBSD 開機選項選單
image::bsdinstall-boot-options-menu.png[]

開機選項選單分成兩個部份。第一個部份用來返回主開機選單或重設任何已切換的選項回預設值。

第二個部份用來切換可用的選項為開 (`On`) 或關 (`Off`)，透過按下選項明顯標示的編號或字元。系統將會一直使用這些選項開機，直到選項被修改。有數個選項可以在這個選單做切換：

* ACPI 支援 (`ACPI Support`)：若系統在開機時卡住，可嘗試切換這個選項為關 (`Off`)。
* 安全模式 (`Safe Mode`)：若系統在 ACPI 支援 (`ACPI Support`) 設為關 (`Off`) 時開機時仍然會卡住，可嘗試將此選項設為開 (`On`)。
* 單使用者 (`Single User`)：切換這個選項為開 (`On`) 來修正已存在的 FreeBSD 如 crossref:boot[boot-singleuser,單使用者模式] 所述，問題修正後，將其設回關 (`Off`)。
* 詳細資訊 (`Verbose`)：切換這個選項為開 (`On`) 來查看開機程序中更詳細的訊息，這在診斷硬體問題時非常有用。

在做完所需的選擇後，按下 kbd:[1] 或 kbd:[Backspace] 返回主開機選單，然後按下 kbd:[Enter] 繼續開機進入 FreeBSD。FreeBSD 執行裝置偵測及載入安裝程式時會顯示一系列的開機訊息，開機完成之後，會顯示歡迎選單如 <<bsdinstall-choose-mode>>。

[[bsdinstall-choose-mode]]
.歡迎選單
image::bsdinstall-choose-mode.png[]

按下 kbd:[Enter] 選擇預設的 btn:[ Install ] 進入安裝程式，接下來本章將介紹如何使用這個安裝程式。 若要選擇其他項目，可使用右或左方向鍵或顏色標示的字母選擇想要的選單項目。btn:[ Shell ] 可用來進入 FreeBSD 的 Shell 使用指令列工具在安裝之前準備磁碟。btn:[ Live CD ] 選項可用來在安裝之前試用 FreeBSD，Live 版本的詳細說明於 <<using-live-cd>>。

[TIP]
====

要重新檢視開機訊息，包含硬體裝置偵測，請按大寫或小寫 kbd:[S] 然後再按 kbd:[Enter] 進入 Shell。在 Shell 提示之後輸入 `more /var/run/dmesg.boot` 然後使用空白鍵來捲動訊息。當查看完畢後輸入 `exit` 返回歡迎選單。
====

[[using-bsdinstall]]
== 使用 bsdinstall

本節將告訴您在系統安裝之前 bsdinstall 選單的順序以及會詢問的資訊類型，可使用方向鍵來選擇選單的選項，然後按下 kbd:[Space] 選擇或取消選擇選單項目。當完成之後，按下 kbd:[Enter] 儲存選項然後進入下一個畫面。

[[bsdinstall-keymap]]
=== 選擇鍵盤對應表選單

依據使用的系統 Console，bsdinstall 可能一開始顯示的選單會如 <<bsdinstall-keymap-select-default>>。

[[bsdinstall-keymap-select-default]]
.鍵盤對應表選擇
image::bsdinstall-keymap-select-default.png[]

要設定鍵盤配置，請選擇 btn:[ YES ] 按下 kbd:[Enter]，接著會顯示選單如 <<bsdinstall-config-keymap>>。若要使用預設的配置，則可使用方向鍵選擇 btn:[ NO ] 然後按下 kbd:[Enter] 跳過這個選單畫面。

[[bsdinstall-config-keymap]]
.選擇鍵盤選單
image::bsdinstall-config-keymap.png[]

設定鍵盤配置時，可使用上與下方向鍵來選擇最接近已連接到系統的鍵盤的鍵盤對應表 (Keymap)，然後按下 kbd:[Enter] 儲存選項。

[NOTE]
====
按 kbd:[Esc] 會離開這個選單然後使用預設的鍵盤對應表，若不清楚要使用那種鍵盤對應表，[.guimenuitem]#United States of America ISO-8859-1# 是也是保險的選項。
====

在 FreeBSD 10.0-RELEASE 以及之後的版本，已經加強了這個選單，會顯示完整的鍵盤對應表選項，並預先選擇預設值。另外，當選擇其他鍵盤對應用時，在繼續之前會顯示對話框讓使用者測試鍵盤對應表來確認。

[[bsdinstall-keymap-10]]
.改進後的鍵盤對應表選單
image::bsdinstall-keymap-10.png[]

[[bsdinstall-hostname]]
=== 設定主機名稱

下一個 bsdinstall 選單用來為新安裝的系統設定主機名稱。

[[bsdinstall-config-hostname]]
.設定主機名稱
image::bsdinstall-config-hostname.png[]

輸入在網路上獨一無二的主機名稱，主機名稱要是完整的主機名稱，如 `machine3.example.com`。

[[bsdinstall-components]]
=== 選擇要安裝的元件

接下來 bsdinstall 會提示選擇要安裝的選用元件。

[[bsdinstall-config-components]]
.選擇要安裝的元件
image::bsdinstall-config-components.png[]

決定要安裝的元件主要會根據系統的用途以及可用的磁碟空間容量。FreeBSD 核心 (Kernel) 及 Userland 統稱為 _基礎系統 (Base system)_，是必須安裝的部份。依據系統的架構，部份元件可能不會顯示：

* `doc` - 額外的說明文件，大部份是經年累月的產物，會安裝到 [.filename]#/usr/shared/doc#。由 FreeBSD 文件計劃所提供的說明文件可在之後安裝，依照 crossref:cutting-edge[updating-upgrading-documentation,更新文件集] 中的指示操作。
* `games` - 數個傳統 BSD 遊戲，包含 fortune, rot13 以及其他。
* `lib32` - 在 64-bit 版本的 FreeBSD 供執行 32-bit 應用程式使用的相容性程式庫。
* `ports` - FreeBSD Port 套件集是一套可自動下載、編譯安裝第三方軟體套件的集合，crossref:ports[ports,安裝應用程式：套件與 Port] 中會討論到如何使用 Port 套件集。
+
[WARNING]
====

安裝程式並不會檢查是否有充足的磁碟空間，FreeBSD Port 套件集會使用約 500 MB 的磁碟空間，只有在有足夠的磁碟空間時才選擇這個選項。
====

* `src` - 完整的 FreeBSD 原始碼，包含核心 (Kernel) 與 Userland。雖然大多數的應用程式並不需要，但它可以編譯裝置驅動程式、核心模組或部份來自 Port 套件集的應用程式，它同時也用來做為開發 FreeBSD 本身所使用。完整的原始碼樹需要 1 GB 的磁碟空間，重新編譯整個 FreeBSD 系統需要額外再 5 GB 的空間。

[[bsdinstall-netinstall]]
=== 從網路安裝

於 <<bsdinstall-netinstall-notify>> 所示的選單只會在使用 [.filename]##-bootonly.iso##CD 安裝時顯示，因這個安裝媒體中並未含安裝檔的複本。由於安裝檔必須透過網路下載，此選單會告知要先設定網路介面。

[[bsdinstall-netinstall-notify]]
.從網路安裝
image::bsdinstall-netinstall-files.png[]

要設定網路連線，按下 kbd:[Enter] 然後依照 <<bsdinstall-config-network-dev>> 中的指示操作，完成網路介面的設定之後，選擇與要安裝 FreeBSD 的電腦相同所在地區的鏡像站，當鏡像站越接近目標電腦，檔案下載的速度會比較快，這會減少安裝的時間。

[[bsdinstall-netinstall-mirror]]
.選擇鏡像站
image::bsdinstall-netinstall-mirrorselect.png[]

若在本機的安裝媒體中找到安裝檔案，安裝程序便會繼續。

[[bsdinstall-partitioning]]
== 配置磁碟空間

接下來的選單用來決定配置磁碟空間的方式。

[[bsdinstall-zfs-partmenu]]
.FreeBSD 10.x 或更新版本的磁碟分割選項
image::bsdinstall-zfs-partmenu.png[]

引導式 (`Guided`) 磁碟分割會自動設定磁碟的分割區 (Partition)，手動 (`Manual`) 磁碟分割可讓進階的使用者使用選單項目建立自訂的分割區，而 `Shell` 會開啟 Shell 提示讓進階的使用者可以使用指示列工具如 man:gpart[8], man:fdisk[8] 以及 man:bsdlabel[8] 來建立自訂的分割區。`ZFS` 磁碟分割只在 FreeBSD 10 及之後的版本可以使用，可建立選擇性加密的 root-on-ZFS 系統並支援 _開機環境 (Boot environment)_。

本節會介紹在配置磁碟分割時需要考量那些事情，並且會示範各種磁碟分割的方式。

[[configtuning-initial]]
=== 規劃分割區配置

配置檔案系統時要記得硬碟的資料傳輸的速度外軌較內軌快，因此較小且大量存取的檔案系統應要較接近磁碟的外軌，而較大的分割區如 [.filename]#/usr# 應放置在磁碟較內部，建議建立分割區的順序如下：[.filename]#/#, swap, [.filename]#/var# 然後 [.filename]#/usr#。

機器預期的用途會反映到 [.filename]#/var# 分割區的大小，這個分割區用來保存郵件 (Mailbox)、日誌檔 (Log file) 及印表機緩衝 (Spool)。依使用者數及保存的期間，郵件及日誌檔可能成長到無法預期的大小，一般來說大部份的使用很少會在 [.filename]#/var# 需要超過 1 GB 的可用磁碟空間。

[NOTE]
====
有時在 [.filename]#/var/tmp# 會需要較多的空間，當新軟體安裝，套件工具會從套件中取出暫存的複本置於 [.filename]#/var/tmp#。若在 [.filename]#/var/tmp# 沒有足夠的空間，要安裝大型軟體套件，例如 Firefox, Apache OpenOffice 或 LibreOffice 會很困難。
====

[.filename]#/usr# 分割區保存了許多支持系統運作的檔案，包含 FreeBSD Port 套件集以及系統原始碼，這個分割區建議至少要有 2 GB 的空間。

在規劃分割區大小時，請牢記空間需求，當因某個分割區空間不足時要改使用其他分割區時會很麻煩。

根據經驗，交換分割區應為是實體記憶體 (RAM) 的兩倍。使用最低需求的 RAM 來運作的系統會需要更多的交換空間來取得更好的表現。配置太小的交換交間可能導致 VM 分頁掃描碼效率不佳，且往後增加更多記憶體時可能會產生問題。

在有數個 SCSI 磁碟或數個 IDE 磁碟在不同控制器的大型系統建議在每個磁碟機上都設定交換空間，最多可至四個磁碟機。每個交換分割區的大小應接近相同。核心雖可以處以任意大小的交換空間，但內部資料結構擴充到 4 倍的最大交換分割區大小時，讓交換分割區擁有相同的大小可以讓核心可以最佳的方式串連各個磁碟的交換空間。規劃較大交換空間是可以的，即使沒有使用到多少交換空間，這也會讓要從失控的程式恢復運作更容易，而不需強制重新啟動系統。

正確的做磁碟分割，可以區隔頻繁寫入所產生的資料碎片與經常讀取的分割區，將寫入頻繁的分割區放在磁碟的邊緣可以增加 I/O 效率。雖然較大的分割區可能也需要增加 I/O 效率，但將這些分割區往磁碟邊緣移動所增加的效率並不會比將 [.filename]#/var# 移到磁碟邊緣所增加的效率來的顯著。

[[bsdinstall-part-guided]]
=== 引導式磁碟分割

當選擇這個方法，選單上會顯示可用的磁碟，若電腦有安裝多個磁碟，則需選擇其中一個來安裝 FreeBSD。

[[bsdinstall-part-guided-disk]]
.自多個磁碟選擇
image::bsdinstall-part-guided-disk.png[]

選擇磁碟之後，接下來選單會提示是否要安裝到整個磁碟或是使用剩餘的空間建立新的分割區。若選擇 btn:[ Entire Disk ]，會自動建立通用的分割區配置來填滿整個磁碟。選擇 btn:[ Partition ] 則會使用磁碟上未使用的空間來建立分割區配置。

[[bsdinstall-part-entire-part]]
.選擇完整磁碟或分割區
image::bsdinstall-part-entire-part.png[]

分割區配置建立完成之後，再檢查一次確定是否符合安裝的需求。選擇 btn:[ Revert ] 會重設分割區回復為原來的設定值，選擇 btn:[ Auto ] 會重新建立自動配置的 FreeBSD 分割區。分割區也可以手動建立、修改或刪除。當確認磁碟分割正確之後，選擇 btn:[ Finish ] 繼續安裝。

[[bsdinstall-part-review]]
.確認已建立的分割區
image::bsdinstall-part-review.png[]

[[bsdinstall-part-manual]]
=== 手動磁碟分割

選擇這個方法會開啟分割區編輯程式：

[[bsdinstall-part-manual-create]]
.手動建立分割區
image::bsdinstall-part-manual-create.png[]

選擇要安裝的磁碟機 (在這個例子為 [.filename]#ada0#) 然後選擇 btn:[ Create ] 會以選單顯示可用的分割表格式 (Partition scheme)：

[[bsdinstall-part-manual-partscheme]]
.手動建立分割區
image::bsdinstall-part-manual-partscheme.png[]

amd64 電腦最適合的選擇通常是 GPT，無法相容 GPT 的舊電腦則應使用 MBR。而其他分割表格式一般會用在那些較罕見或較舊的電腦上。

.磁碟分割表格式
[cols="1,1", frame="none", options="header"]
|===
<| 縮寫
<| 說明

|APM
|Apple Partition Map，用於 PowerPC(TM)。

|BSD
|無 MBR 的 BSD 標籤，因非 BSD 的磁碟工具可能無法辨識該標籤，有時被稱做 _危險專用模式 (Dangerously dedicated mode)_。

|GPT
|GUID 分割區表 (http://en.wikipedia.org/wiki/GUID_Partition_Table[http://en.wikipedia.org/wiki/GUID_Partition_Table])。

|MBR
|主開機記錄 (http://en.wikipedia.org/wiki/Master_boot_record[http://en.wikipedia.org/wiki/Master_boot_record])。

|PC98
|使用 MBR 改編，用於 NEC PC-98 電腦 (http://en.wikipedia.org/wiki/Pc9801[http://en.wikipedia.org/wiki/Pc9801])。

|VTOC8
|Volume Table Of Contents，用於 Sun SPARC64 及 UltraSPARC 電腦。
|===

選擇完分割區表格式並建立之後，再選擇 btn:[ Create ] 一次來建立分割區。kbd:[Tab] 鍵可用來在欄位間移動游標。

[[bsdinstall-part-manual-addpart]]
.手動建立分割區
image::bsdinstall-part-manual-addpart.png[]

標準的 FreeBSD GPT 安裝會使用至少三種分割區：

* `freebsd-boot` - 儲存 FreeBSD 開機程式 (Boot code)。
* `freebsd-ufs` - FreeBSD 的 UFS 檔案系統。
* `freebsd-swap` - FreeBSD 交換空間。

另一個值得注意的分割區類型是 `freebsd-zfs`，這個分割區用來放置 FreeBSD ZFS 檔案系統 (crossref:zfs[zfs,Z 檔案系統 (ZFS)])。請參考 man:gpart[8] 取得可用的 GPT 分割區類型說明。

檔案系統分割區可建立多個，且有部份人會偏好使用傳統的配置方式將 [.filename]#/#, [.filename]#/var#, [.filename]#/tmp# 以及 [.filename]#/usr# 分開存放在不同的分割區。請參考 <<bsdinstall-part-manual-splitfs>> 的範例。

大小 (`Size`) 欄位可以使用常用的縮寫來輸入：_K_ 代表 KB, _M_ 代表 MB, _G_ 代表 GB。

[TIP]
====

適當的對齊磁碟扇區 (Sector) 會提供最佳的效能，而且讓分割區大小為 4 KB 的偶數倍數可協助確保對齊在磁碟機上的 512-byte 或 4K-byte 扇區。一般來說，使用分割區大小為 1M 或 1G 的偶數倍數是最簡單的方式確保每個分割區以 4K 的偶數倍數做為開始。唯一一個例外是：_freebsd-boot_ 分割區因目前開機程式 (Boot code) 的限制，不可大於 512K。
====

若分割區內含檔案系統便會需要一個掛載點 (`Mountpoint`)，若只要建立一個 UFS 分割區，那麼掛載點應設為 [.filename]#/#。

標籤 (`Label`) 是分割區的名稱，磁碟機名稱或編號可能因為磁碟機連接到不同的控制器或連結埠而有所不同，但分割區標籤並不會改變。因此在檔案如 [.filename]#/etc/fstab# 中參照時，使用標籤來替代磁碟機名稱與分割區編號會讓系統對硬體變更有更多的容錯空間。GPT 標籤會於磁碟連結之後出現在 [.filename]#/dev/gpt/#。其他分割表格式的標籤格有不同功能，且標籤會在 [.filename]#/dev/# 中有各自的目錄。

[TIP]
====

每個分割區請使用獨一無二的標籤來避免相同名稱的衝突，標籤可以加入與電腦名稱、用途、地點有關的文字。例如，使用 `labroot` 或 `rootfslab` 來做為電腦名稱為 `lab` 的 UFS 根目錄分割區。
====

[[bsdinstall-part-manual-splitfs]]
.建立傳統分割的檔案系統分割區
[example]
====
傳統的分割區配置會將 [.filename]#/#, [.filename]#/var#, [.filename]#/tmp# 以及 [.filename]#/usr# 分別使用不同的檔案系統與分割區。先建立 GPT 分割表格式，然後依照下表所示建立分割區。下表是針對 20G 目標磁碟的分割區大小，若在目標磁碟有更多可用的空間，則可增加交換空間 (Swap) 或 [.filename]#/var# 會比較有用。以下所示的標籤皆以 `ex` 為字首，代表 "example"，讀者應照前面的說明使用其他獨一無二的標籤。

預設 FreeBSD 的 [.filename]#gptboot# 會預期第一個 UFS 分割區為 [.filename]#/# 分割區。

[.informaltable]
[cols="1,1,1,1", frame="none", options="header"]
|===
| 分割區類型
| 大小
| 掛載點
| 標籤

|`freebsd-boot`
|`512K`
|
|

|`freebsd-ufs`
|`2G`
|[.filename]#/#
|`exrootfs`

|`freebsd-swap`
|`4G`
|
|`exswap`

|`freebsd-ufs`
|`2G`
|[.filename]#/var#
|`exvarfs`

|`freebsd-ufs`
|`1G`
|[.filename]#/tmp#
|`extmpfs`

|`freebsd-ufs`
|接受預設值 (依磁碟提示)
|[.filename]#/usr#
|`exusrfs`
|===
====

自訂的分割區建立完後，選擇 btn:[ Finish ] 繼續安裝。

[[bsdinstall-part-zfs]]
=== Root-on-ZFS 自動磁碟分割

在 FreeBSD 10.0-RELEASE 之後支援了自動建立 root-on-ZFS 的安裝程序。這種磁碟分割模式只能使用整個磁碟，並會清除整個磁碟內的內容。安裝程式會自動建立對齊 4k 邊界的分割區然後強制 ZFS 使用 4k 扇區 (Sector)。即使在 512 位元扇區的磁碟使用也很安全，並增加了確保在 512 位元的磁碟上建立儲存池 (Pool) 也可在未來加入 4k 扇區磁碟的好處，無論是作為額外的存儲空間或作為故障磁碟的替代品。安裝程式也可選擇性採用 GELI 磁碟加密，如 crossref:disks[disks-encrypting-geli,使用 geli 做磁碟加密] 所介紹，若開啟磁碟加密，會建立一個內含 [.filename]#/boot# 目錄的 2 GB 未加密的開機儲存池，這個儲存池中會儲存核心及其他開機必要的檔案。然後剩餘的空用會給 ZFS 儲存池使用。

主要 ZFS 設定選單提供了數個設定選項來控制儲存池的建立。

[[bsdinstall-zfs-menu]]
.ZFS 磁碟分割選單
image::bsdinstall-zfs-menu.png[]

選擇 kbd:[T] 來設定儲存池類型 (`Pool Type`) 以及要組成儲存池的磁碟。自動 ZFS 安裝程式目前僅支援建立單一頂層 vdev，除了在串連 (Stripe) 模式。要建立更複雜的儲存池，需使用 <<bsdinstall-part-shell>> 的操作來建立儲存池。安裝程式支援建立各種儲存池類型，包含串連 Stripe (不建議，沒有備援功能)、鏡像 Mirror (效能較佳，但可用空間較少) 以及 RAID-Z 1, 2, 與 3 (分別有能力承受同時 1, 2 與 3 個磁碟的損壞)。在選擇儲存池類型時會在螢幕的下方提示所需的磁碟數量，以及在使用 RAID-Z 時，每種配置最佳的磁碟數。

[[bsdinstall-zfs-vdev_type]]
.ZFS 儲存池類型
image::bsdinstall-zfs-vdev_type.png[]

選擇儲存池 (`Pool Type`) 之後，會顯示可用的磁碟清單，然後會提示使用者選擇一個或多個磁碟來建立儲存池。接著會檢驗設定來確定選擇的磁碟足夠，若不足，選擇更改選項 (btn:[<Change Selection>]) 來返回磁碟清單或取消 (btn:[<Cancel>]) 來更改儲存池類型。

[[bsdinstall-zfs-disk_select]]
.磁碟選擇
image::bsdinstall-zfs-disk_select.png[]

[[bsdinstall-zfs-vdev_invalid]]
.無效的選擇
image::bsdinstall-zfs-vdev_invalid.png[]

若有一個或多磁碟未出現在清單上，或在安裝程式啟動後才連接的磁碟，可選擇重新掃描裝置 (btn:[- Rescan Devices]) 來更新可用磁碟的清單。要避免清除掉錯的磁碟，可用磁碟資訊 (btn:[- Disk Info]) 來檢查每個磁碟，包含磁碟中的分割表以及各種其他資訊如裝置型號與序號 (若有的話)。

[[bsdinstall-zfs-disk_info]]
.分析磁碟
image::bsdinstall-zfs-disk_info.png[]

主 ZFS 設定選單也允許使用者輸入儲存池名稱、關閉強制 4k 扇區對齊、開啟或關閉加密、切換 GPT (建議) 與 MBR 分割表類型以及選擇交換空間容量。設定所有選項為想要的值之後，請選擇選單上方的安裝 (btn:[>>> Install]) 選項。

若開啟了 GELI 磁碟加密，安裝程式會提示輸入兩次用來加密磁碟的密碼。

[[bsdinstall-zfs-geli_password]]
.磁碟加密密碼
image::bsdinstall-zfs-geli_password.png[]

安裝程式接著會提供最後一次修改的機會可取消先前所選擇摧毀用來建立 ZFS 儲存池的磁碟機。

[[bsdinstall-zfs-warning]]
.最後修改
image::bsdinstall-zfs-warning.png[]

然後安裝程序會正常繼續。

[[bsdinstall-part-shell]]
=== Shell 模式磁碟分割

當要做進階的安裝時，bsdinstall 的磁碟分割選單可能無法提供需要的彈性。進階的使用者可以在磁碟分割選單選擇 btn:[Shell] 選項來手動分割磁碟機、建立檔案系統、填寫 [.filename]#/tmp/bsdinstall_etc/fstab# 以及掛載檔案系統到 [.filename]#/mnt# 下。這些動作完成之後，輸入 `exit` 可返回 bsdinstall 繼續安裝程序。

[[bsdinstall-final-warning]]
== 確認安裝

磁碟設定完之後，接下來的選單會讓您在格式化所選的硬碟之前有最後一次機會做變更，若需要做變更，可選 btn:[ Back ] 返回到主磁碟分割選單。btn:[ Revert & Exit ] 則會離開安裝程式，不會對硬碟做任何變更。

[[bsdinstall-final-confirmation]]
.最後確認
image::bsdinstall-final-confirmation.png[]

要開始實際的安裝，請選擇 btn:[ Commit ] 然後按下 kbd:[Enter]。

安裝時間會依據選擇的發行版、安裝媒體、電腦的速度而有所不同，接下來會有一系列訊息會告知目前的進度。

首先，安裝程式會格式化選擇的磁碟，然後初始化分割區。然後，若使用僅可開機 (Boot only) 的媒體則會開始下載選擇的元件：

[[bsdinstall-distfile-fetching]]
.取得發行版檔案
image::bsdinstall-distfile-fetching.png[]

接著，會檢驗發行版的檔案完整性來確保沒有因下載過程中或安裝媒體的讀取過程中讀取錯誤造成的損壞：

[[bsdinstall-distfile-verify]]
.檢驗發行版檔案
image::bsdinstall-distfile-verifying.png[]

最後，檢驗過的發行版檔案會被取出儲存至磁碟：

[[bsdinstall-distfile-extract]]
.解開發行版檔案
image::bsdinstall-distfile-extracting.png[]

所有選擇的發行版檔案取出後，bsdinstall 會顯示第一次安裝後設定畫面，可用的安裝後設定選項會在下一節說明。

[[bsdinstall-post]]
== 安裝後注意事項

FreeBSD 安裝完之後，bsdinstall 會在開機進入新安裝的系統之前提示設定數個選項，本節將介紹這些設定選項。

[TIP]
====

系統開機之後，`bsdconfig` 提供了一個選單導向的方式可用來設定系統使用這些以及其他的選項。
====

[[bsdinstall-post-root]]
=== 設定 `root` 密碼

首先，必需設定 `root` 的密碼，輸入密碼時，並不會直接在畫面上顯示輸入的字元。輸入完密碼之後，必須再輸入一次來確認沒有輸入錯誤。

[[bsdinstall-post-set-root-passwd]]
.設定 `root` 密碼
image::bsdinstall-post-root-passwd.png[]

[[bsdinstall-config-network-dev]]
=== 設定網路介面卡

接著，會顯示在電腦上找到的網路介面卡清單。請選擇要設定的介面卡。

[NOTE]
====
若使用 _bootonly_ 的方式安裝在先前已有設定過網路，將會跳過網路設定選單。
====

[[bsdinstall-configure-net-interface]]
.選擇網路介面卡
image::bsdinstall-configure-network-interface.png[]

若選擇的是乙太網路介面卡，安裝程式會跳過這部份直接到 <<bsdinstall-configure-net-ipv4>>，若選擇的是無線網路介面卡，系統則會開始掃描無線存取點 (Wireless Access Point)：

[[bsdinstall-wireless-scan]]
.掃描無線網路存取點
image::bsdinstall-configure-wireless-scan.png[]

網線網路會使用 Service Set Identifier (SSID) 來辦識，SSID 是一段簡短、獨一無二的名稱，用來命名每個網路。 掃描時找到的 SSID 會列到清單，並會說明該網路可用的加密類型。 若想要連線的 SSID 並未出現在清單上，可選擇 btn:[ Rescan ] 再掃描一次，若想要連線的網路仍然沒有出現，請檢查天線的連線是否有問題，或者嘗試將電腦移至更靠近存取點的位置，然後再掃描一次。

[[bsdinstall-wireless-accesspoints]]
.選擇無線網路
image::bsdinstall-configure-wireless-accesspoints.png[]

然後，輸入加密資訊來連線到選擇的無線網路。強列建議使用 WPA2 加密，因較舊的加密類型，如 WEP 僅提供微弱的安全性。若網路使用 WPA2 則需輸入密碼，也稱作 Pre-Shared Key (PSK)。考量安全性，輸入到輸入框的字元會以星號顯示。

[[bsdinstall-wireless-wpa2]]
.WPA2 設定
image::bsdinstall-configure-wireless-wpa2setup.png[]

接下來，選擇是否要設定乙太網路或無線網路介面卡的 IPv4 位址：

[[bsdinstall-configure-net-ipv4]]
.選擇 IPv4 網路
image::bsdinstall-configure-network-interface-ipv4.png[]

有兩種方式可以設定 IPv4。 DHCP 會自動設定網路介面卡且該網路上需有 DHCP 伺服器才可使用。否則，必須手動輸入位址的資訊來做靜態設定。

[NOTE]
====
請不要隨便輸入網路資訊，因為這不管用。如果沒有可用的 DHCP 伺服器，可向網路管理者或網路服務供應商 (Internet Service Provider, ISP) 索取列於 <<bsdinstall-collect-network-information,需要的網路資訊>> 的資訊。
====

若有可用的 DHCP 伺服器，請在接下來的選單中選擇 btn:[ Yes ] 則會自動設定網路介面卡。當找到 DHCP 伺服器並且取得系統的位址資訊時，安裝程式會出現一分鐘左右的停頓。

[[bsdinstall-net-ipv4-dhcp]]
.選擇 IPv4DHCP 設定
image::bsdinstall-configure-network-interface-ipv4-dhcp.png[]

若沒有可用的 DHCP 伺服器，則選擇 btn:[ No ] 然後在這個選單中輸入以下位址資訊：

[[bsdinstall-net-ipv4-static]]
.IPv4 靜態位置設定
image::bsdinstall-configure-network-interface-ipv4-static.png[]

* IP 位址 (`IP Address`) - 要分配給這台電腦的 IPv4 位址。位址必須獨一無二且不可已被其他在區域網路上的設備使用。
* 子網路遮罩 (`Subnet Mask`) - 網路的子網路遮罩。
* 預設路由器 (`Default Router`) - IP 位址所在網段的預設通訊閘。

接下來的畫面會詢問是否要設定介面卡的 IPv6 位址，若可以且想要使用 IPv6，請選擇 btn:[ Yes ]。

[[bsdinstall-net-ipv6]]
.選擇 IPv6 網路
image::bsdinstall-configure-network-interface-ipv6.png[]

同樣有兩種方式可以設定 IPv6。StateLess Address AutoConfiguration (SLAAC) 會自動向區域路由器請求取得正確的設定資訊，請參考 http://tools.ietf.org/html/rfc4862[http://tools.ietf.org/html/rfc4862] 取得進一步資訊。靜態設定則需要手動輸入網路資訊。

若有可用的 IPv6 路由器，請在接下來的選單選擇 btn:[ Yes ] 來自動設定網路介面卡。當找到路由器並且取得系統的位址資訊時，安裝程式會出現一分鐘左右的停頓。

[[bsdinstall-net-ipv6-slaac]]
.選擇 IPv6 SLAAC 設定
image::bsdinstall-configure-network-interface-slaac.png[]

若沒有可用的 IPv6 路由器，請選擇 btn:[ No ] 然後在這個選單中輸入以下位址資訊：

[[bsdinstall-net-ipv6-static]]
.IPv6 靜態位置設定
image::bsdinstall-configure-network-interface-ipv6-static.png[]

* IPv6 位址 (`IPv6 Address`) - 要分配給這台電腦的 IPv6 位址。位址必須獨一無二且不可已被其他在區域網路上的設備使用。
* 預設路由器 (`Default Router`) - IPv6 位址所在網段的預設通訊閘。

最後的網路設定選單是用來設定網域名稱系統 (Domain Name System, DNS) 的解析器，解析器會轉換主機名稱為網路位址。若已使用 DHCP 或 SLAAC 來自動設定網路介面卡，解析器設定 (`Resolver Configuration`) 的值可能會事先已填入，否則需輸入區域網路的網域名稱到搜尋 (`Search`) 欄位。 `DNS #1` 與 `DNS #2` 要填寫 DNS 伺服器的 IPv4 及/或 IPv6 位址，至少需填寫一個 DNS 伺服器。

[[bsdinstall-net-dns-config]]
.DNS 設定
image::bsdinstall-configure-network-ipv4-dns.png[]

[[bsdinstall-timezone]]
=== 設定時區

接下來的選單會詢問系統時鐘要使用 UTC 或者當地時間。 若有疑問時可選擇 btn:[ No ]使用更常用的當地時間。

[[bsdinstall-local-utc]]
.選擇本地或 UTC 時鐘
image::bsdinstall-set-clock-local-utc.png[]

接下來一系列的選單會透過選擇地理區域、城市及時區來判斷正確的當地時間。設定時區可讓系統自動更正區域時間的更改，如日光節約時間以及正確執行其他時區相關的功能。

此處以位於美國東部時區的機器為例，選擇會依據地理位置不同改變。

[[bsdinstall-timezone-region]]
.選擇區域
image::bsdinstall-timezone-region.png[]

使用方向鍵選擇適當的區域然後按下 kbd:[Enter]。

[[bsdinstall-timezone-country]]
.選擇城市
image::bsdinstall-timezone-country.png[]

使用方向鍵選擇適當的城市然後按下 kbd:[Enter]。

[[bsdinstall-timezone-zone]]
.選擇時區
image::bsdinstall-timezone-zone.png[]

使用方向鍵選擇適當的時區然後按下 kbd:[Enter]。

[[bsdinstall-timezone-confirmation]]
.確認時區
image::bsdinstall-timezone-confirm.png[]

確認時區的縮寫是否正確，若正確，按下 kbd:[Enter] 繼續安裝後設定。

[[bsdinstall-sysconf]]
=== 開啟服務

接下來的選單用來設定有那些系統服務要在系統啟動時執行。所有的服務為選用，只需開啟系統運作真正需要的服務。

[[bsdinstall-config-serv]]
.選擇要開啟的其他服務
image::bsdinstall-config-services.png[]

這是可以在這個選單開啟的服務摘要：

* `sshd` - Secure Shell (SSH) Daemon 可從遠端透過加密的連線存取系統，只有在系統允許遠端登入時開啟這個服務。
* `moused` - 若在指令列系統 Console 會使用到滑鼠時，可開啟此服務。
* `ntpd` - 網路時間通訊協定 (Network Time Protoco, NTP) Daemon 用來自動同步時間。若在網路上有使用 Windows(TM), Kerberos 或 LDAP 伺服器時，可開啟此服務。
* `powerd` - 系統電源控制工具用來做電源控制與節能。

[[bsdinstall-crashdump]]
=== 開啟當機資訊 (Crash Dump)

接下來的選單用來設定是否開啟當機資訊 (Crash dump)，開啟當機資訊對系統除錯非常有用，因此建議使用者開啟當機資訊。

[[bsdinstall-config-crashdump]]
.開啟當機資訊 (Crash Dump)
image::bsdinstall-config-crashdump.png[]

[[bsdinstall-addusers]]
=== 新增使用者

下個選單會提示建立至少一個使用者帳號。建議使用 `root` 以外的使用者帳號登入系統，當使用 `root` 登入時，基本上沒有任何的限制或保護。 使用一般使用者登入較保險且安全。

選擇 btn:[ Yes ] 來新增新使用者。

[[bsdinstall-add-user1]]
.新增使用者帳號
image::bsdinstall-adduser1.png[]

請依照提示輸入請求的使用者帳號資訊，<<bsdinstall-add-user2>> 的範例示範建立 `asample` 使用者帳號。

[[bsdinstall-add-user2]]
.輸入使用者資訊
image::bsdinstall-adduser2.png[]

這裡是要輸入的資訊摘要：

* 使用者名稱 (`Username`) - 登入時使用者要輸入的名稱，常見的慣例是用姓的前一個字母與名結合，只要每個使用者名稱在系統唯一的皆可。使用者名稱區分大小寫且不應含有任何空白字元。
* 全名 (`Full name`) - 使用者的全名，這個欄位可使用空白並且會用來描述該使用者帳號。
* `Uid` - 使用者 ID，通常這個欄位會留空，系統會自動分配一個值。
* 登入群組 (`Login group`) - 使用者的群組，通常這個欄位會留空來使用預設值。
* 邀請使用者進入其他群組? (`Invite _user_ into other groups?`) - 使用者要加入成為其成員的其他群組，若該使用者需要管理權限，則在此輸入 `wheel`。
* 登入類別 (`Login class`) - 通常會留空來使用預設值。
* `Shell` - 輸入清單中的其中一項來設定使用者所互動的 Shell，請參考 crossref:basics[shells,Shell] 取得更多有關 Shell 的資訊。
* 家目錄 (`Home directory`) - 使用者的家目錄，預設值通常是沒有問題的。
* 家目錄權限 (`Home directory permissions`) - 使用者家目錄的權限，預設值通常是沒有問題的。
* 使用密碼為基礎的認証方式? (`Use password-based authentication?`) - 通常為是 (`yes`)，使用者才可於登入時輸入密碼。
* 使用空白密碼? (`Use an empty password?`) - 通常為否 (`no`)，因為使用空白密碼並不安全。
* 使用隨機密碼? (`Use a random password?`) - 通常為否 (`no`)，這樣使用者接下來才可設定自己的密碼。
* 輸入密碼 (`Enter password`) - 這個使用者的密碼，輸入的字元不會顯示在畫面上。
* 再輸入密碼一次 (`Enter password again`) - 再輸入一次密碼來確認無誤。
* 建立後鎖定使用者帳號? (`Lock out the account after creation?`) - 通常為否 (`no`)，這樣使用者才可以登入。

在輸入完全部的資料後，會顯示摘要供檢查，若發現錯誤，可輸入否 (`no`) 然後再輸入一次，若輸入的所有資訊皆正確，輸入是 (`yes`) 以後便會建立新使用者。

[[bsdinstall-add-user3]]
.離開使用者與群組管理
image::bsdinstall-adduser3.png[]

若還有其他要新增的使用者，則在詢問新增其他使用者? (`Add another user?`) 時回答是 (`yes`)。輸入否 (`no`) 來完成加入使用者然後繼續安裝。

要取得新增使用者與使用者管理的更多資訊，請參考 crossref:basics[users-synopsis,使用者與基礎帳號管理]。

[[bsdinstall-final-conf]]
=== 最後設定

在所有東西安裝並設定完之後，會提供最後一次修改設定的機會。

[[bsdinstall-final-config]]
.最後設定
image::bsdinstall-finalconfiguration.png[]

使用這個選單在完成安裝前做任何更改或做任何額外的設定。

* 新增使用者 (`Add User`) - 詳述於 <<bsdinstall-addusers>>。
* Root 密碼 (`Root Password`) - 詳述於 <<bsdinstall-post-root>>。
* 主機名稱 (`Hostname`) - 詳述於 <<bsdinstall-hostname>>。
* 網路 (`Network`) - 詳述於 <<bsdinstall-config-network-dev>>。
* 服務 (`Services`) - 詳述於 <<bsdinstall-sysconf>>。
* 時區 (`Time Zone`) - 詳述於 <<bsdinstall-timezone>>。
* 使用手冊 (`Handbook`) - 下載並安裝 FreeBSD 使用手冊。

完成最後的設定之後，選擇 btn:[Exit]。

[[bsdinstall-final-modification-shell]]
.手動設定
image::bsdinstall-final-modification-shell.png[]

bsdinstall 會提示是否有任何額外的設定需要在重新開機進入新系統之前完成。選擇 btn:[ Yes ] 會離開進入到新系統的 Shell 或 btn:[ No ] 繼續最後的安裝步驟。

[[bsdinstall-final-main]]
.完成安裝
image::bsdinstall-mainexit.png[]

若有需要做進一步或特殊的設定，選擇 btn:[ Live CD ] 會開機進入安裝媒體的 Live CD 模式。

若安裝已完成，選擇 btn:[ Reboot ] 重新開啟電腦然後啟動新的 FreeBSD 電腦。不要忘了移除 FreeBSD 安裝媒體，否則電腦會再次開機進入安裝程式。

FreeBSD 開機的過程會顯示許多可以參考的訊息，系統開機完成後，會顯示登入提示，在 `login:` 提示，輸入安裝時新增的使用者名稱。登入時避免直接使用 `root`，請參考 crossref:users[users-superuser,超級使用者帳號] 來取得當需要管理權限時如何成為超級使用者的說明。

要查看開機過程顯示的訊息可按 kbd:[Scroll-Lock] 鍵來開啟卷軸暫存，然後可使用 kbd:[PgUp], kbd:[PgDn] 以及方向鍵來捲動訊息。查看完成之後再按 kbd:[Scroll-Lock] 鍵一次來解除畫面鎖定並返回 Console。系統開機一段時間之後要查看這些訊息可在指令提示後輸入 `less /var/run/dmesg.boot`，查看後按下 kbd:[q] 鍵便可返回指令列。

若在 <<bsdinstall-config-serv>> 有開啟 sshd，因系統會產生 RSA 及 DSA 金鑰第一次開機可能會有點慢，之後的開機便會恢復正常速度。接著會顯示金鑰的指紋 (Fingerprint)，如這個範例：

[source,shell]
....
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
10:a0:f5:af:93:ae:a3:1a:b2:bb:3c:35:d9:5a:b3:f3 root@machine3.example.com
The key's randomart image is:
+--[RSA1 1024]----+
|    o..          |
|   o . .         |
|  .   o          |
|       o         |
|    o   S        |
|   + + o         |
|o . + *          |
|o+ ..+ .         |
|==o..o+E         |
+-----------------+
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
7e:1c:ce:dc:8a:3a:18:13:5b:34:b5:cf:d9:d1:47:b2 root@machine3.example.com
The key's randomart image is:
+--[ DSA 1024]----+
|       ..     . .|
|      o  .   . + |
|     . ..   . E .|
|    . .  o o . . |
|     +  S = .    |
|    +  . = o     |
|     +  . * .    |
|    . .  o .     |
|      .o. .      |
+-----------------+
Starting sshd.
....

請參考 crossref:security[openssh,OpenSSH] 來取得更多有關指紋與 SSH 的資訊。

FreeBSD 預設並不會安裝圖型化介面，請參考 crossref:x11[x11,X Window 系統] 取得有關安裝與設定圖型化視窗管理程式的資訊。

正確的將 FreeBSD 電腦關機對保護資料及避免硬體損壞有幫助。_在系統尚未正常關機之前請不要關閉電源！_ 若使用者為 `wheel` 群組的成員之一，可在指令列輸入 `su` 然後輸入 `root` 密碼來成為超級使用者。接著輸入 `shutdown -p now` 系統便會關機，若硬體支援的話，電腦會自行關閉電源。

[[bsdinstall-install-trouble]]
== 疑難排解

本節涵蓋基礎的安裝疑難排解，例如一些已有人回報的常見問題。

查看該 FreeBSD 版本的 Hardware Notes (https://www.FreeBSD.org/releases/[https://www.freebsd.org/releases/]) 文件來確認是否支援該硬體。若確定有支援該硬體但仍然卡住或發生其他問題，請依照 crossref:kernelconfig[kernelconfig,設定 FreeBSD 核心] 的指示編譯自訂核心來加入未在 [.filename]#GENERIC# 核心的裝置。預設的核心會假設大部份的硬體裝置會使用原廠預設的 IRQs, I/O 位址，及 DMA 通道，若硬體已經被重新設定過，自訂的核心設定檔可以告訴 FreeBSD 到那找到這些裝置。

[NOTE]
====
部份安裝問題可以透過更各種硬體元件的韌體來避免或緩解，特別是主機板。主機板的韌體通常稱為 BIOS，大部份主機板與電腦製造商會有網站可以取得升級程式與升級資訊。

製造商通常會建議若沒有特殊原因盡量避免升級主機板 BIOS，例如：重大更新，升級的程多__可能會__出錯，導致未更新完成的 BIOS 並讓電腦無法運作。
====

若系統在開機偵測硬體時卡住或安裝時運作異常，可能主因為 ACPI，FreeBSD 在 i386, amd64 及 ia64 平台廣泛的使用了系統 ACPI 服務來協助設定系統組態，若在開機時有偵測到該功能。不幸的是，ACPI 驅動程式與系統主機板及 BIOS 韌體之間仍存在部份問題。可於開機載入程式的第三階段設定 `hint.acpi.0.disabled` Hint 來關閉 ACPI：

[source,shell]
....
set hint.acpi.0.disabled="1"
....

每一次系統重開之後便會重設，因此需要在 [.filename]#/boot/loader.conf# 檔案加入 `hint.acpi.0.disabled="1"`。更多有關開機載入程式的資訊可於 crossref:boot[boot-synopsis,概述] 取得。

[[using-live-cd]]
== 使用 Live CD

如 <<bsdinstall-choose-mode>> 所示 bsdinstall 的歡迎選單提供了 btn:[ Live CD ] 選項，這對那些對 FreeBSD 是否為正確的作業系統尚存疑慮的人非常有幫助，這可讓這些人在安裝前測試一部份功能。

在使用 btn:[ Live CD ] 之前必須注意以下幾點事項：

* 若要增加存取權限，必須透過認証。使用者名稱為 `root` 而密碼則是空白。
* 系統是直接從安裝媒體上執行，比起安裝到硬碟的系統，效能可能較差。
* 這個選項只提供指令提示，不會有圖型化介面。
