安裝指南

本頁使用了標題或全文手工轉換
出自 Arch Linux 中文维基
提示:本文或本章節的主題是「安裝 Arch Linux 系統」。關於「為 Arch Linux 安裝軟件包」的內容,請查看安裝軟件包
提示:請善用本文的超鏈接。超鏈接指向的每個單獨的頁面對系統的各個部分有更完善的介紹。

本文將指導如何使用官方安裝鏡像啟動的 Live 系統安裝 Arch Linux。安裝介質現可提供無障礙輔助功能,對此使用無障礙輔助選項安裝 Arch Linux 頁面有詳細描述。關於其它的安裝方法,請您參閱安裝過程分類下的其他條目

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

本指南旨在簡潔且通俗易懂,建議您嚴格遵循每一節中的順序與指示執行安裝。有關更詳細的說明,請您仔細閱讀本指南內相應的 ArchWiki 文章或各類程序的手冊。若您需要交互幫助,可以使用 Arch Linux 中文社區的聊天群組或論壇

Arch Linux 被設計為可以運行在配置為最低 512 MiB 內存的 x86_64 架構的計算機上,但如果是從安裝媒介啟動系統並成功安裝在計算機硬盤中,則可能需要更多的內存。[1]基本安裝方式將占用小於 2 GiB 的硬盤存儲空間。由於安裝過程中需要從遠程存儲庫獲取軟件包,計算機將需要一個有效的互聯網連接。

安裝前的準備[編輯 | 編輯原始碼]

獲取安裝映像[編輯 | 編輯原始碼]

打開下載頁面,並根據需要的引導方式,獲取 ISO 文件或 netboot 映像以及相應的 GnuPG 簽名。

驗證簽名[編輯 | 編輯原始碼]

建議使用前先驗證所下載文件的簽名,特別是從 HTTP 鏡像源下載的文件,因為 HTTP 連接一般來說容易遭到攔截而提供惡意鏡像

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

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

另外,在一台已經安裝 Arch Linux 的計算機上可以通過以下方式驗證:

$ pacman-key -v archlinux-版本-x86_64.iso.sig
注意:
  • 如果安裝映像是從鏡像站點下載,而不是從 archlinux.org 下載的話,其簽名有被偽造的風險。在這種情況下,請您確保用來解碼簽名的公鑰是被另一個可信的密鑰簽署的。gpg 命令將會輸出公鑰的指紋。
  • 另一種驗證簽名的方法是確保公鑰的指紋等於其中一位簽署了 ISO 文件 Arch Linux 開發者的指紋。請您參閱維基百科獲取更多關於公鑰加密的信息。

準備安裝介質[編輯 | 編輯原始碼]

Arch Linux 的ISO映像可以被製作成多種類型安裝介質,如 U 盤光盤和帶有 PXE 的網絡安裝映像。請按照合適的文章與教程,使用ISO文件為自己準備安裝介質。

對於Netboot映像,請按照 網絡引導#從U盤啟動 準備用於 UEFI 引導的 USB 閃存驅動器。

啟動到 live 環境[編輯 | 編輯原始碼]

如果您覺得用命令行安裝過於繁瑣,可以試試官方的安裝腳本 archinstall。詳情可參見 archinstall

# archinstall
注意: Arch Linux 安裝鏡像不支持 UEFI 安全啟動(Secure Boot)功能。如果要引導安裝媒介,需要禁用安全啟動。如果需要,可在完成安裝後重新配置
  1. 選擇從帶有 Arch 安裝文件的媒介啟動,通常是需要在計算機啟動加電自檢時快速按下某個熱鍵(比如部分主板會是F12鍵)。啟動時的畫面也可能會有提示,詳情請參考自己的計算機的說明書或主板說明書。
  2. 當引導加載程序菜單出現時,
    • 如果你使用了ISO映像,選擇 Arch Linux install medium 並按Enter 進入安裝環境。
    • 如果您使用了 Netboot 映像,請從 Mirror 菜單中選擇一個地理位置接近的鏡像,然後選擇 Boot Arch Linux 並按 Enter
  3. 您將會以 root 身份登錄進入一個虛擬控制台,默認的 Shell 是 Zsh
提示:安裝映像在 UEFI 模式下使用 systemd-boot 引導,在 BIOS 模式下使用 syslinux 引導。分別使用 eTab 來輸入引導參數。Netboot 映像使用 iPXE,可以在啟動選項菜單中指定啟動參數。請參閱 README.bootparams 獲取引導參數列表。
  • 手動定義啟動參數的一個常見例子是改變系統顯示在超高分辨率(HiDPI)屏幕的字體的大小。為使系統在HiDPI屏幕上顯示的字體有更好的可讀性——當Live系統啟動時屏幕還沒有被識別為HiDPI的時候——使用 fbcon=font:TER16x32 會有幫助。參見 HiDPI#Linux 控制台 的詳細解釋。

如果要使用其他控制台(例如在安裝時使用 Lynx 查看本指南),可以使用 Alt+箭頭 快捷鍵切換不同的控制台。要編輯配置文件,可以使用 mcedit(1)nanovim 等文本編輯軟件。請參閱 packages.x86_64 獲取安裝介質中包含的軟件包列表。

配置控制台鍵盤布局和字體[編輯 | 編輯原始碼]

系統啟動後,控制台鍵盤布局默認為 us(美式鍵盤)。如果您需要列出所有可用的鍵盤布局,可以使用以下命令:

# localectl list-keymaps

如果您想要更改鍵盤布局,可以使用 loadkeys(1)。比如,要添加德語鍵盤布局:

# loadkeys de-latin1

控制台字體位於 /usr/share/kbd/consolefonts/ 目錄中,設置方式請參考 setfont(8)。例如,要使用適合 HiDPI 屏幕的最大字體之一,請運行以下命令:

# setfont ter-132b

驗證引導模式[編輯 | 編輯原始碼]

要驗證系統目前的引導模式,請檢查 UEFI 位數:

# cat /sys/firmware/efi/fw_platform_size

如果命令結果為 64,則系統是以 UEFI 模式引導且使用 64 位 x64 UEFI。如果命令結果為 32,則系統是以 UEFI 模式引導且使用 32 位 IA32 UEFI,雖然其受支持,但引導加載程序只能使用 systemd-bootGRUB。如果文件不存在,則系統可能是以BIOS模式(或 CSM 模式)引導。如果系統沒有以您想要的模式(UEFI 或 BIOS)引導啟動,請您參考自己的計算機或主板說明書。

連接到互聯網[編輯 | 編輯原始碼]

要在 Live 環境中配置網絡連接,請遵循以下步驟:

  • 確保系統已經列出並啟用了網絡接口,用 ip-link(8) 檢查:
    # ip link
  • 對於無線局域網(Wi-Fi)和無線廣域網(WWAN),請確保網卡未被 rfkill 禁用。
  • 要連接到網絡:
    • 有線以太網——連接網線。
    • WiFi——使用 iwctl 認證無線網絡。
    • 移動寬帶調製解調器(移動網卡) - 使用 mmcli英語mmcli 連接到移動網絡。
  • 配置網絡連接:
  • ping 檢查網絡連接:
    # ping archlinux.org
注意: 默認情況下,安裝映像在啟動時已經預先配置好並啟用了 systemd-networkdsystemd-resolvediwdModemManager英語ModemManager。但在已經安裝完成了的系統之中並非如此。

更新系統時間[編輯 | 編輯原始碼]

在 Live 環境中 systemd-timesyncd 默認啟用,也就是說當系統已經建立互聯網連接後,系統時間將自動同步。

使用 timedatectl(1) 確保系統時間是同步的:

# timedatectl

建立硬盤分區[編輯 | 編輯原始碼]

系統如果識別到計算機的內置硬盤、U盤或者移動硬盤等類型磁盤,就會將其分配為一個塊設備,如 /dev/sda/dev/nvme0n1/dev/mmcblk0。可以使用 lsblk 或者 fdisk 查看:

# fdisk -l(此处为小写字母l)

結果中以 romloop 或者airootfs結尾的設備可以被忽略。結果中以 rpbmboot0 或者 boot1 結尾的 mmcblk* 設備也可以被忽略。

注意: 如果您想要的磁盤沒有顯示出來, 請確保您的磁盤控制器未處於RAID模式
提示:在分區之前,請您檢查 NVMe 驅動器和 Advanced Format 硬盤是否使用了最佳邏輯扇區大小。需要注意的是,更改邏輯扇區大小後,可能會導致在Windows系統中出現兼容性問題。

對於一個選定的設備,以下分區是必須要有的:

請使用分區工具(fdiskparted、cfdisk 等等)修改分區表。例如:

# fdisk /dev/the_disk_to_be_partitioned(要被分区的磁盘)
注意:
  • 花時間規劃一個長期的分區方案,以避免將來需要有風險和複雜的轉換或重新分區。
  • 如果您想為 LVMsystem encryptionRAID 創建任何堆疊塊設備,請立即執行。
  • 如果要從中啟動的磁盤 已經有一個EFI分區,請不要創建另一個磁盤,而是使用現有分區。
  • Swap 交換空間可以在 Swap#交換文件 上為支持它的文件系統設置。

分區方案示例[編輯 | 編輯原始碼]

對於 UEFI 與 GPT 分區表的磁盤分區方案
已安裝系統上的掛載點 分區 分區類型 建議大小
/boot1 /dev/efi_system_partition EFI 系統分區 1 GiB。
[SWAP] /dev/swap_partition Linux swap (交換空間) 至少 4GiB
/ /dev/root_partition Linux x86-64 根目錄 (/) 設備剩餘空間,至少23-32GiB
  1. 如果使用的引導加載程序能夠從根磁盤卷中加載內核和 initramfs 映像,則可以使用其他掛載點(例如 /efi)。請您參閱引導加載程序中的警告部分。
對於傳統 BIOS 與 MBR 分區表的磁盤分區方案
已安裝系統上的掛載點 分區 分區類型 建議大小
[SWAP] /dev/swap_partition Linux swap (交換空間) 至少 4GiB
/ /dev/root_partition Linux 設備剩餘空間,至少23-32GiB

另請參閱布局示例

格式化分區[編輯 | 編輯原始碼]

創建分區後,必須使用合適的文件系統對每個新創建的分區進行格式化。詳情請參閱文件系統#創建文件系統

例如,要在根分區 /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(EFI 系统分区)

掛載分區[編輯 | 編輯原始碼]

將根磁盤卷掛載/mnt,例如:

# mount /dev/root_partition(根分区) /mnt

然後使用 mkdir(1)/mnt 下創建任何剩餘的掛載點(例如,為/boot 而創建/mnt/boot),並按相應的層級順序掛載相應的磁盤卷。

提示:使用 --mkdir 選項運行 mount(8) 來創建指定的掛載點。或者,先使用 mkdir(1) 創建掛載點再掛載。
注意: 掛載分區一定要遵循順序,先掛載根(root)分區(到 /mnt),再掛載引導(boot)分區(到 /mnt/boot/mnt/efi,如果單獨分出來了的話),最後再掛載其他分區。否則您可能遇到安裝完成後無法啟動系統的問題。參見 en:Talk:Installation guide#Clarify root mount

對於 UEFI 系統,掛載 EFI 系統分區:

# mount --mkdir /dev/efi_system_partition(EFI 系统分区) /mnt/boot

如果創建了交換空間卷,請使用 swapon(8) 啟用它:

# swapon /dev/swap_partition(交换空间分区)

稍後 genfstab(8) 將自動檢測掛載的文件系統和交換空間。

開始安裝系統[編輯 | 編輯原始碼]

選擇鏡像站[編輯 | 編輯原始碼]

系統的文件 /etc/pacman.d/mirrorlist 中定義了軟件包會從哪個鏡像站下載。在 LiveCD 啟動的系統上,且在連接到互聯網後,reflector 會通過選擇 20 個最新同步的 HTTPS 鏡像站並按下載速率對其進行排序來更新鏡像列表(由於只考慮最新的20個鏡像站,其結果大多數時候都不怎麼好用)。

在列表中,越靠前的鏡像站在下載軟件包時,就會有越高的優先級。請您檢查 /etc/pacman.d/mirrorlist 文件,看看列出的鏡像站的順序是否合適。如果不合適,可以手動修改,將離您所處地理位置最近的鏡像挪到文件的頭部,同時也應該考慮一些其他標準。

要獲取 pacman-mirrorlist 的按國家分列的原始鏡像列表,在挑選了能用的鏡像之後,可以執行

# pacman -Sy pacman-mirrorlist

再將 /etc/pacman.d/mirrorlist.pacnew 複製到 /etc/pacman.d/mirrorlist 並進行編輯。

這個文件接下來還會被 pacstrap 拷貝到新系統裡,所以請您確保設置正確。

安裝必需的軟件包[編輯 | 編輯原始碼]

注意: 除了 /etc/pacman.d/mirrorlist 之外的軟件或配置不會從 Live 環境傳遞到安裝的系統中。

使用 pacstrap(8) 腳本,安裝 base 軟件包和 Linux 內核以及常規硬件的固件:

# pacstrap -K /mnt base linux linux-firmware

這時候可以同時額外安裝計算機的 CPU 微碼包。如果計算機是 Intel 的 CPU ,使用 intel-ucode,AMD CPU 則使用 amd-ucode。也可以暫時都不安裝,等到進入系統後再安裝。

提示:
  • 可以將 linux 替換為內核頁面中介紹的其他內核軟件包。
  • 在虛擬機或容器中安裝時,可以不安裝固件與微碼包。
  • 新安裝的系統中是沒有文本編輯器的,所以請您先安裝文本編輯器如 nano 或者 vim 等。

base 軟件包並沒有包含 Live 環境中的全部程序。因此要獲得一個功能齊全的基本系統,可能需要安裝更多軟件包。要安裝其他軟件包或軟件包組(比如 base-devel包組),請將它們的名字追加到下面的 pacstrap 命令後(用空格分隔),或者也可以在 Chroot 進入新系統後使用 pacman 手動安裝。特別要考慮安裝:

pkglist.x86_64.txt 中包含 Live 系統安裝的軟件包列表。

配置系統[編輯 | 編輯原始碼]

生成 fstab 文件[編輯 | 編輯原始碼]

通過以下命令生成 fstab 文件 (用 -U-L 選項設置 UUID 或卷標):

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

強烈建議在執行完以上命令後,檢查一下生成的 /mnt/etc/fstab 文件是否正確。

chroot 到新安裝的系統[編輯 | 編輯原始碼]

通過以下命令 chroot 到新安裝的系統:

# arch-chroot /mnt
提示:此處使用的是arch-chroot而不是直接使用chroot,注意不要輸錯了。

設置時區[編輯 | 編輯原始碼]

通過以下命令設置時區

# ln -sf /usr/share/zoneinfo/Region(地区名)/City(城市名) /etc/localtime
提示:例如,在中國大陸需要將時區設置為上海這個城市,那麼請運行 # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

然後運行 hwclock(8) 以生成 /etc/adjtime

# hwclock --systohc

這個命令假定已設置硬件時間為 UTC 時間。詳細信息請查看 系統時間#時間標準

為了防止時鐘漂移並確保時間準確,請使用 網絡時間協議(Network Time Protocol,NTP)客戶端(例如 systemd-timesyncd)設置 時間同步

區域和本地化設置[編輯 | 編輯原始碼]

程序和庫如果需要本地化文本,都依賴區域設置,後者明確規定了地域、貨幣、時區日期的格式、字符排列方式和其他本地化標準。

需要設置這兩個文件:locale.genlocale.conf

編輯 /etc/locale.gen,然後取消掉 en_US.UTF-8 UTF-8 和其他需要的 UTF-8 區域設置前的注釋(#)。

接着執行 locale-gen 以生成 locale 信息:

# locale-gen

然後創建 locale.conf(5) 文件,並 編輯設定 LANG 變量,比如:

/etc/locale.conf
LANG=en_US.UTF-8

另外對於中文用戶:

提示:
  • 用戶可以設置自己的 locale,詳情請參閱 在用戶會話中覆蓋系統區域設置設置當前區域
  • 將系統 locale 設置為 en_US.UTF-8 ,系統的 log 就會用英文顯示,這樣更容易判斷和處理問題;
    • 也可以設置為 en_GB.UTF-8en_SG.UTF-8,附帶以下優點:
      • 進入桌面環境後以 24 小時制顯示時間;
      • LibreOffice 等辦公軟件的紙張尺寸會默認為 A4 而非 Letter(US)
      • 可儘量避免不必要且可能造成處理麻煩的英制單位。
    • 設置的 LANG 變量需與 locale 設置一致,否則會出現以下錯誤:
      • Cannot set LC_CTYPE to default locale: No such file or directory
警告: 並不推薦在此設置任何中文 locale,這可能會導致 tty 上中文顯示為方塊。如果您不經常使用 tty ,或是稍後需要安裝桌面環境,則在不使用 tty 後可以設置為中文的 locale 。

如果需要修改#控制台鍵盤布局和字體,可編輯 vconsole.conf(5) 使其長期生效,例如:

/etc/vconsole.conf
KEYMAP=de-latin1

網絡配置[編輯 | 編輯原始碼]

創建 hostname 文件:

/etc/hostname
yourhostname(主機名)

請接着完成新安裝的環境的網絡配置,配置過程中可能需要安裝合適的網絡管理軟件。

警告: 請按上述網絡配置指引正確配置好網絡後再重新啟動,否則系統重新啟動後可能無法連接網絡(不過可以用 LiveCD 重新進入 arch-chroot 進行配置)。例如在虛擬機軟件 VirtualBox 安裝並使用橋接模式時就需要配置 DHCP 。

關於 initramfs[編輯 | 編輯原始碼]

通常不需要自己創建新的 initramfs,因為在執行 pacstrap 時已經安裝 linux,這時已經運行過 mkinitcpio 了。

如果是 LVM英語Install Arch Linux on LVM#Adding mkinitcpio hooks系統加密RAID 等分區配置,請修改 mkinitcpio.conf 並用以下命令重新創建一個 Initramfs:

# mkinitcpio -P

設置 root 密碼[編輯 | 編輯原始碼]

使用以下命令設置 root 密碼

# passwd

安裝引導程序[編輯 | 編輯原始碼]

需要安裝 Linux 引導加載程序,才能在安裝後啟動系統,可以使用的的引導程序已在啟動加載器中列出,請選擇一個安裝並配置它,GRUB 是最常見的選擇。

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

重新啟動計算機[編輯 | 編輯原始碼]

輸入 exit 或按 Ctrl+d 退出 chroot 環境。

可選用 umount -R /mnt 手動卸載被掛載的分區:這有助於發現任何「繁忙」的分區,並通過 fuser(1) 查找原因。

最後,通過執行 reboot 重啟系統,systemd 將自動卸載仍然掛載的任何分區。這時候不要忘記移除安裝介質,然後使用 root 賬戶登錄到新系統。

安裝後的工作[編輯 | 編輯原始碼]

創建非特權賬戶、圖形用戶界面的安裝、聲音管理、觸摸板支持等系統管理教程和後期工作參見建議閱讀

感興趣的各類程序,請參見應用程序列表

參考鏈接[編輯 | 編輯原始碼]