Jump to content

# Installation guide (正體中文)

From ArchWiki
翻譯狀態：本文章是 Installation guide 的翻譯版本。最近一次的翻譯時間：2025-01-17。點擊本連結查看英文頁面之後的變更。

本文為 Arch Linux 安裝指南，將使用官方安裝映像製作安裝媒體，啟動 Live 系統進行安裝。安裝媒體提供無障礙協助工具，對此，使用無障礙輔助選項安裝 Arch Linux 頁面有詳細描述。關於其它的安裝方法，請參閱安裝過程分類的其他頁面。

建議在安裝前閱讀常見問題。關於本文中使用的慣用術語，請參閱閱讀幫助。請將原始碼中`斜體`的部分按實際情況替換內容。

本指南力求簡潔，建議您按照順序遵循指示。更詳細的說明請閱讀本指南內相應的 ArchWiki 文章或各類程式的手冊。若需要互動式說明，可以參考 IRC 頻道和論壇。

Arch Linux 需要至少擁有 512 MiB 記憶體的 x86_64 機器才能運作。從安裝媒體啟動系統並成功安裝需要更多的記憶體。[1] 基本安裝將佔用小於 2 GiB 的儲存空間。由於安裝過程中需要從遠端儲存庫取得軟體包，電腦需要可用的網際網路連線。

## 安裝前的準備

### 取得安裝映像

前往下載頁面，根據需要的開機方式，取得相應的 ISO 檔或 netboot 映像，以及 PGP 簽名。

### 驗證簽名

建議使用前先驗證映像的簽名。從 HTTP 鏡像下載映像的使用者尤其需要注意，因為 HTTP 連線一般來說容易遭到攔截而下載到惡意鏡像。

在一台已經安裝 GnuPG 的系統上，可透過下載 ISO PGP 簽名 (在下載頁面的 Checksums 下方) 到 ISO 檔所在的路徑，然後用以下方式驗證簽名：

     $ gpg --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso.sig

另外，在一台已經安裝 Arch Linux 的電腦上可以透過以下方式驗證：

    $ pacman-key -v archlinux-version-x86_64.iso.sig

註記

- 如果安裝映像是從鏡像網站下載，而不是從 archlinux.org 下載的話，簽名可能是偽造的。在這種情況下，請確認用來解碼簽名的公開金鑰已經過另一個可信任的金鑰簽署。`gpg` 命令將會輸出公開金鑰的指紋。
- 另一種驗證簽名的方法，是確認公開金鑰的指紋是否等於其中一位簽署了 ISO 檔 Arch Linux 開發者的指紋。關於公開金鑰加密的詳細資訊，請參閱維基百科。

### 準備安裝媒體

ISO 可以透過 USB 隨身碟、光碟和支援 PXE 的網路安裝至機器。請參考對應的文章，使用所選 ISO 準備安裝媒體。

要使用 netboot 映像，請遵循 Netboot#Boot from a USB flash drive 準備用來 UEFI 開機的 USB 隨身碟。

### 啟動 Live 環境

註記 Arch Linux 安裝映像不支援安全開機（Secure Boot）。要啟動安裝媒體，請先停用安全開機。如有需要，可在完成安裝後重新設定安全開機。

1. 選擇啟動有 Arch 安裝檔的媒體，通常需要在電腦開機自檢 (POST) 時按下某個按鍵，該按鍵通常在啟動畫面會有提示。具體情況請參考主機板說明書。
2. 當啟動程式 (boot loader) 選單出現時，
   - 如果使用 ISO，選擇 Arch Linux install medium 並按下 `Enter` 進入安裝環境。
   - 如果使用 Netboot 映像，在 Mirror 選單選擇地理上離您較近的鏡像，再選擇 Boot Arch Linux 並按下 `Enter`。
     提示
     - ISO 在 UEFI 模式下使用 systemd-boot 啟動；在 BIOS 模式下使用 syslinux 啟動。請分別以 `e` 或 `Tab` 鍵輸入啟動參數。Netboot 映像搭配 iPXE，啟動參數可於 Boot options 選單中設定。關於啟動參數，請參閱 README.bootparams 列表。
     - 手動定義啟動參數，常見的情況是設定字體大小。使用 `fbcon=font:TER16x32` 有助於在 HiDPI 螢幕尚未被辨識時，讓文字變得更容易閱讀。詳細請參閱 HiDPI#Linux console (tty)。
4. 您將會以 root 身份登入初始的虛擬控制台 (virtual console)，預設的 Shell 是 Zsh。

如果想一邊安裝，一邊使用 Lynx 查看本指南，可以使用 `Alt+箭頭`快速鍵切換不同的控制台。要編輯設定檔，可以使用 mcedit(1)、nano 和 vim。關於安裝媒體中包含的軟體包列表，請參閱 packages.x86_64。

### 設定控制台鍵盤配置及字體

預設鍵盤配置為 `us` (美式鍵盤配置)。要列出所有可用的鍵盤配置，可以使用：

    # localectl list-keymaps

要更改鍵盤配置，將對應名稱傳入 loadkeys(1)。例如，要設定德語鍵盤配置，可以執行：

    # loadkeys de-latin1

控制台字體位於 `/usr/share/kbd/consolefonts/`。字體可使用 setfont(8) 設定，設定時請省略路徑及副檔名。例如，要選擇適用於 HiDPI 螢幕的最大字體，請執行：

    # setfont ter-132b

### 驗證開機模式

要驗證開機模式，請檢查 UEFI 位元 (bitness)：

    # cat /sys/firmware/efi/fw_platform_size

如果回傳結果為 `64`，則系統以 UEFI 模式啟動，且為 64 位元 x64 UEFI。如果命令回傳 `32`，則系統以 UEFI 模式啟動，且為 32 位元 IA32 UEFI，雖然 Arch 安裝支援此模式，但是啟動程序載入程式便只能選擇 systemd-boot 或 GRUB。

如果此檔案不存在，系統可能是以 BIOS (或 CSM) 模式啟動。

如果系統並未按照您希望的模式啟動 (UEFI 或 BIOS)，請參閱主機板說明書。

### 連線網際網路

要在 Live 環境中設定網路連線，請遵循以下步驟：

1. 確認網路介面已經啟用。可用 ip-link(8) 檢查：

       # ip link

2. 無線網路（Wi-Fi）和廣域無線網路（WWAN），請確認網卡未被 rfkill 停用。
3. 連接網路：
   - 有線乙太網路 —— 連接網路線。
   - Wi-Fi —— 使用 iwctl 進行無線網路驗證。
   - 行動寬頻數據機 (行動網卡) —— 使用 mmcli 工具連線行動網路。
4. 設定網路連線：
   - DHCP：負責動態 IP 位址和 DNS 伺服器分配（使用 systemd-networkd 和 systemd-resolved 運作)，有線乙太網路、無線區域網路 (WLAN) 和 WWAN 網路介面能夠隨開即用。
   - 靜態 IP 位址：請按照靜態 IP 位址進行操作。
5. 用 ping 檢查網路連線：

       # ping archlinux.org

註記 預設情況下，安裝映像已預先設定好並啟用了 systemd-networkd、systemd-resolved、iwd 和 ModemManager。但安裝好的系統並非如此。

### 更新系統時間

Live 系統已預設啟用 systemd-timesyncd，網路連線建立後，會立即自動同步時間。

使用 timedatectl(1) 確認系統時間已同步：

    # timedatectl

### 分割磁碟

系統如果辨識到磁碟，就會將其指派為區塊裝置，並分配代號，如 `/dev/sda`、`/dev/nvme0n1` 或 `/dev/mmcblk0`。可以使用 lsblk 或者 fdisk 查看代號：

    # fdisk -l

回傳結果中以 `rom`、`loop`、`airootfs` 結尾的裝置可能會被省略；以 `rpbm`、`boot0`、`boot1` 結尾的 `mmcblk*` 裝置可以忽略。

註記 如果裝置未顯示，請確認磁碟控制卡並非處於 RAID 模式。
提示 在進行分割之前，請檢查 NVMe 裝置和先進格式化 (Advanced Format)硬碟裝置有使用最佳邏輯磁區大小。

選定的設備必須要有以下分割 (partition)：

- 一個掛接 (mount) 在根目錄 (root directory) `/` 的分割。
- 要在 UEFI 模式中啟動，還需要一個 EFI 系統磁碟分割。

請使用分割工具如 fdisk 修改分割表。例如：

    # fdisk /dev/the_disk_to_be_partitioned

註記

- 請慢慢思考能長期使用的分割計畫，避免日後需要進行危險又複雜的轉換或重新分割。
- 如果想要建立堆疊式區塊裝置 (stacked block device)，例如 LVM、disk encryption 或 RAID，請在此時完成。
- 如果要啟動的磁碟已經有 EFI 系統分割，不要新增 EFI 分區，請使用現有的分區。
- 如果檔案系統支援，可以用交換檔 (swap file) 設立交換空間 (Swap)。或者，也可以在系統安裝完畢後，在 zram 上設立交換空間，完全不使用磁碟交換空間。

#### 分割示例

UEFI 與 GPT
在安裝後系統的掛接點 | 分割 | 分割類型 | 建議大小
--- | --- | --- | ---
`/mnt/boot`1 | `/dev/efi_system_partition` | EFI 系統分割 | 1 GiB
`[SWAP]` | `/dev/swap_partition` | Linux swap (交換空間) | 至少 4 GiB
`/mnt` | `/dev/root_partition` | Linux x86-64 根目錄 (/) | 裝置的剩餘空間，至少 23-32 GiB

1. 如果使用的啟動程序載入程式 (boot loader) 能夠從根磁碟區中載入核心和 initramfs 映像，則可以使用其他掛接點，例如 `/mnt/efi`。請參閱啟動程序載入程式中的警告部分。

BIOS 與 MBR
在安裝後系統的掛接點 | 分割 | 分割類型 | 建議大小
--- | --- | --- | ---
`[SWAP]` | `/dev/swap_partition` | Linux swap (交換空間) | 至少 4 GiB
`/mnt` | `/dev/root_partition` | Linux | 裝置的剩餘空間，至少 23-32 GiB

另請參閱分割示例。

### 格式化分割

建立分割後，必須使用適當的檔案系統格式化每個新建立的分割。詳情請參閱檔案系統#建立檔案系統。

例如，要在根分割 `/dev/root_partition` 上建立 Ext4 檔案系統，請執行：

    # mkfs.ext4 /dev/root_partition

如果建立了交換空間，請使用 mkswap(8) 將其初始化：

    # mkswap /dev/swap_partition

註記 對於堆疊式區塊裝置 (stacked block devices)，請使用適當的區塊裝置路徑替換上文中的 `/dev/*_partition` 處。

如果你要建立一個 EFI 系統分割，使用 mkfs.fat(8) 將其格式化為 Fat32。

警告 只有在分割步驟中建立 EFI 系統分割時才需要格式化。如果這個磁碟上已經有 EFI 系統分割，將它重新格式化會破壞其他已安裝作業系統的啟動程序載入程式。

    # mkfs.fat -F 32 /dev/efi_system_partition

### 掛接分割

將根磁碟區掛接到 `/mnt`。假設根磁碟區為 `/dev/root_partition`，請執行：

    # mount /dev/root_partition /mnt

建立其他剩餘的掛接點 (例如建立 `/boot` 掛接 `/mnt/boot`) 並按對應的檔案系統階層，依序掛接磁碟區。

提示 使用 `--mkdir` 選項運行 mount(8) 來建立指定的掛接點。或者，先使用 mkdir(1) 建立掛接點再掛接。

對 UEFI 系統掛接 EFI 系統分割：

    # mount --mkdir /dev/efi_system_partition /mnt/boot

如果建立了交換空間磁碟區，請執行 swapon(8) 以啟用：

    # swapon /dev/swap_partition

稍後， genfstab(8) 將自動偵測已掛接的檔案系統和交換空間。

## 安裝

### 選擇鏡像

軟體包必須從鏡像伺服器下載。`/etc/pacman.d/mirrorlist` 定義了軟體包會從哪個伺服器下載。Live 系統在連線到網際網路後，reflector 會選擇 20 個最新同步的 HTTPS 鏡像，並按下載速率排序，更新鏡像列表。

在列表中排序越前面的鏡像，在下載軟體包時有越高的優先權。可以檢查一下列表，看看是否滿意。如果不滿意，可以修改 `/etc/pacman.d/mirrorlist`，並將地理位置最近 (同時也應該考慮一些其他標準) 的鏡像移動到列表頂端。

這個檔案接下來會被 pacstrap 複製到新系統裡，所以請確認設定是否正確。

### 安裝必要的軟體包

註記 沒有任何軟體或設定會被帶入新系統 (除了 `/etc/pacman.d/mirrorlist` 之外) 。

使用 pacstrap(8) 腳本安裝 base 軟體包、Linux 核心，以及常見硬體的韌體：

    # pacstrap /mnt base linux linux-firmware

提示

- 可以將 linux 替換為其他核心。或是，在容器內安裝時，可以將其完全刪除。
- 在虛擬機器或容器中安裝時，可以不安裝韌體包。

要在此時安裝其他軟體包或軟體包群組，請以空格分隔不同軟體包的名稱，附加在前述 pacstrap 命令之後，或者，chroot 到新系統，再使用 pacman 安裝。base 軟體包並沒有包含 Live 環境中的全部程式。因此要獲得一個功能齊全的基本系統，需要安裝其他軟體包。具體來說，可考慮安裝：

- CPU 微程式 (microcode) 更新：amd-ucode 或 intel-ucode，以修補硬體和安全性漏洞；
- 管理檔案系統的使用者空間工具，用於建立檔案系統和 fsck；
- 如需使用 RAID 或 LVM ，請安裝對應的存取管理工具；
- 未包含在 linux-firmware 中的額外韌體 (如用於音效卡的 sof-firmware、用於 Marvell 無線網路的 linux-firmware-marvell、用於 Broadcom 無線網路的多個韌體包)；
- 連線上網所需要的程式，例如 NetworkManager 或獨立的 DHCP 用戶端、Wi-Fi 驗證軟體、行動寬頻數據機管理工具；
- 控制台文字編輯器（如：nano、vim 等），用來在控制台編輯設定檔；
- 存取 man 和 info 頁面的工具：man-db、man-pages、 texinfo。

packages.x86_64 中可以看到 Live 系統內不同軟體包或軟體包群組間的差異。

## 配置系統

### Fstab

使用以下命令產生 fstab 檔案 (使用 `-U` 選項以 UUID 定義 fstab；或使用 `-L` 選項以磁碟標籤定義 fstab)：

    # genfstab -U /mnt >> /mnt/etc/fstab

強烈建議在執行完以上命令後，檢查產生的 `/mnt/etc/fstab` 檔案是否正確，有錯誤請進行編輯。

### Chroot

切換根目錄到新安裝的系統：

    # arch-chroot /mnt

### 時區

設定時區：

    # ln -sf /usr/share/zoneinfo/Region（地區名）/City（城市名） /etc/localtime

提示 以設定台北時區為例，執行 `# ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime`

然後執行 hwclock(8) 產生 `/etc/adjtime`：

    # hwclock --systohc

這個命令假定硬體時間已設定為 UTC 時間。詳細資訊請查看 System time#Time standard。

為避免時間誤差，並確保時間準確，請使用網路時間協定 (NTP) 用戶端 (如 systemd-timesyncd) 同步時間。

### 語系在地化

1. 請先編輯 `/etc/locale.gen`，然後取消掉 `en_US.UTF-8 UTF-8` 和其他需要的 UTF-8 地區設定 (locale) 前的註解（`#`）。
2. 接著執行 `locale-gen` 以產生 locale。
3. 然後建立 locale.conf(5) 檔案，並設定對應的 LANG 變數，例如：

    /etc/locale.conf

    LANG=en_US.UTF-8

另外對於中文使用者有以下提醒：

提示

- 使用者可以設定自己的 locale，詳情請參閱覆蓋使用者工作階段的系統地區設定 ；
- 將系統 locale 設定為 `en_US.UTF-8` ，系統的 log 就會用英文顯示，這樣更容易判斷和處理問題；
  - 也可以設定為 `en_GB.UTF-8` 或 `en_SG.UTF-8`，附帶以下優點：
    - 進入桌面環境後以 24 小時制顯示時間；
    - LibreOffice 等辦公軟體的紙張尺寸會預設為 `A4` 而非 `Letter(US)`；
    - 可儘量避免不必要且可能造成處理麻煩的英制單位。
  - 設置的 LANG 變數需與 locale 設置一致，否則會出現以下錯誤：
    - `Cannot set LC_CTYPE to default locale: No such file or directory`

警告 不推薦在此設定任何中文 locale，會導致 tty 亂碼。

如果需要修改控制台鍵盤配置，可編輯 vconsole.conf(5) 使其長期生效，例如：

    /etc/vconsole.conf

    KEYMAP=de-latin1

### 網路設定

建立 hostname 檔案：

    /etc/hostname

    主機名稱

接著請完成新環境的網路設定，設定過程中可能需要安裝合適的網路管理軟體，並啟用 systemd 單位 (unit)，使其能在開機時啟動。

### Initramfs

通常不需要自己建立新的 initramfs，因為在 pacstrap 安裝核心時，會自動執行 mkinitcpio。

對於 LVM、 系統加密 或 RAID 等設定，請修改 mkinitcpio.conf(5) 並用以下命令重新建立 initramfs 映像：

    # mkinitcpio -P

### Root 密碼

設定 Root 密碼：

    # passwd

### 啟動程序載入程式

請選擇並安裝 Linux 可用的啟動程序載入程式 (boot loader)。

警告 這是安裝的最後一步也是至關重要的一步，請按上述指引正確安裝好載入程式後再重新開機。否則重新啟動後將無法正常進入系統。

## 重新啟動

輸入 `exit` 或按下 `Ctrl+D` 離開 chroot 環境。

也可以使用 `umount -R /mnt` 手動卸除所有磁碟分割，這樣做能夠注意到任何「忙碌」的磁碟分割，然後使用 fuser(1) 尋找原因。

最後，輸入 `reboot` 重新啟動，任何掛接中的磁碟分割都會被 systemd 自動卸除。請記得移除安裝媒體，再用 root 帳號登入新系統。

## 安裝後

請參閱一般建議，獲得關於系統管理的建議，還有一些安裝後事項的指引 (例如：建立無權限使用者帳號、設定使用者圖形介面、音訊或觸控板)。

應用程式清單列出了一些您可能會有興趣的應用程式。

Category:

- Installation process (正體中文)

Installation guide (正體中文)
Add topic