檢查#
- 你的電腦支持 UEFI 啟動。
- 你的電腦已經關閉安全啟動。
- 你擁有 Linux 基礎。
- 好的心態 😉
如果您在安裝過程中遇到問題,請嘗試使用搜索引擎搜索問題或者查閱 Arch Wiki,最好不要詢問他人。
您硬碟上的所有信息將會被抹除,所以請提前備份,如出現數據丟失等情況,後果自負。
準備#
- 一個 Arch Linux 鏡像。
- 使用寫盤工具將鏡像文件寫入你的 USB。
準備好後,請從 USB 中啟動您的 Arch Linux ISO。進入 Grub 引導界面選擇後請第一個。
連網#
這一步僅限使用 WLAN 連接網絡的設備需要操作。如果你已經使用網線連接了網絡,請跳過這一步。
我們可以使用 iwctl
命令連接網絡。
iwctl
device list # 查看你的無線網卡名稱
station wlan0 scan # 掃描網絡,一般無線網卡為 wlan0
station wlan0 get-networks # 列出 Wi-Fi 列表
station wlan0 connect 你的網絡名 # 連接網絡
exit # 退出
然後,你需要測試是否已經連接網絡。
ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=54 time=185 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=54 time=184 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=54 time=185 ms
出現類似以上的持續輸出後可以按下 Ctrl+C 結束。
換源#
在此之前,請先禁用 Reflector,因為 Reflector 可能會更新你的 mirrorlist 文件。
systemctl stop reflector.service
刪掉 mirrorlist 文件。
sudo rm -rf /etc/pacman.d/mirrorlist
然後就可以更換了,你需要輸入以下內容使用 vim 編輯器打開。
vim /etc/pacman.d/mirrorlist
請在此加入以下內容:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
完成後請按下 ESC 並輸入 :wq
,回車。
分區#
在分區之前,你需要查看你磁碟的編號。
fdisk -l
Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: KBG50ZNV512G KIOXIA
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0B70F9F0-7C38-4F81-9EAB-754397E6079D
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 2099199 2097152 1G EFI System
/dev/nvme0n1p2 2099200 1000214527 998115328 475.9G Linux filesystem
你會看到一個或者多個 Disk /dev/* 等磁碟,請查看磁碟的分區或磁碟大小來辨別你要安裝的磁碟。例如我的電腦,就只有一個磁碟: /dev/nvme0n1。在你辨別完成後,記住你的磁碟編號,然後輸入:
cfdisk /dev/你的磁碟
你就會看到一個界面
Disk: /dev/nvme0n1
Size: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Label: gpt, identifier: 0B70F9F0-7C38-4F81-9EAB-754397E6079D
Device Start End Sectors Size Type
>> /dev/nvme0n1p1 2048 2099199 2097152 1G EFI System
/dev/nvme0n1p2 2099200 1000214527 998115328 475.9G Linux filesystem
┌────────────────────────────────────────────────────┐
│ Partition UUID: D3F1CADC-8559-44B4-A98F-3DCBD07C7B0B │
│ Partition type: EFI System (C12A7328-F81F-11D2-BA4B-00A0C93EC93B) │
│ Filesystem UUID: 59A1-A47E │
│ Filesystem LABEL: EFI │
│ Filesystem: vfat │
│ Mountpoint: /boot (mounted) │
└────────────────────────────────────────────────────┘
[ Delete ] [ Resize ] [ Quit ] [ Type ] [ Help ] [ Write ] [ Dump ]
- 你需要刪除所有的分區,選中分區後選擇第一個 DELETE,直到你的設備一欄裡只剩餘 Free Space。
- 你需要選中 Free Space,然後選擇 Create,分區大小修改為
1G
,然後選擇 Type,找到第一個,EFI,選中。這個分區在後面會被稱之為 EFI 分區。請記住他是/dev/***
。 - 繼續把光標放在 Free Space 上,直接回車,然後選擇 Write ,輸入
y
後,你的磁碟就完成分區了。這個分區在後面會被稱之為系統分區。請記住他是/dev/***
。
創建文件系統#
你需要做的就是(創建 EFI 分區的文件系統、)創建系統分區的文件系統,然後創建一些子卷,最後掛載。你可以按照下面的命令操作。
# 創建 EFI 分區的文件系統
mkfs.fat -F32 /dev/(EFI分區)
# 創建系統分區的文件系統
mkfs.btrfs -L ArchLinux /dev/(系統分區)
# 掛載分區
mount /dev/(系統分區) /mnt
# 創建子卷
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
# 卸載
umount /mnt
# 掛載
mount -t btrfs -o subvol=/@,compress=zstd /dev/sdxn /mnt
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sdxn /mnt/home --mkdir
mount /dev/(EFI分區) /mnt/boot --mkdir
安裝基本系統#
使用如下命令更新 Keyring 以及安裝基本軟件包到你的分區。這一步的速度和你的網速有關,可能會持續 5 分鐘左右。
pacman -Sy archlinux-keyring
pacstrap /mnt base base-devel linux linux-firmware btrfs-progs networkmanager vim nano sudo iwd net-tools
完成後,輸入以下命令將你現在掛載的位置寫入你系統中的 fstab。
genfstab -U /mnt > /mnt/etc/fstab
你還需要輸入以下命令檢驗你的 fstab 中是否存在子卷 ID。
grep "subvolid" /mnt/etc/fstab
如果這一步執行後存在輸出,請立刻使用編輯器刪除類似 subvolid=xxx
這樣的字符。記得同時刪除後面的逗號。
vim /mnt/etc/fstab
完成後請按下 ESC 並輸入 :wq
,回車。
配置#
給新系統換源#
mkdir -p /mnt/etc/pacman.d
cp -r /etc/pacman.d/mirrorlist /mnt/etc/pacman.d
切換到系統#
arch-chroot /mnt
主機名稱#
輸入下面的命令設置你電腦的名字(不要出現除了 "-" 的符號)。例如我的電腦叫 Silver:
echo "Silver" > /etc/hostname
Hosts#
打開 /etc/hosts:
vim /etc/hosts
請使用編輯器加入以下內容:
127.0.0.1 localhost
::1 localhost
127.0.1.1 archlinux.localdomain archlinux
完成後請按下 ESC 並輸入 :wq
,回車。
語言支持#
執行以下命令添加中文以及英文的支持,並將默認語言設置為英語:
如果你想問為什麼不設置中文,答案是你的終端裡沒有中文字符的支持,即使直接安裝了桌面環境也不行,因為你沒有安裝中文字體。
echo 'zh_CN.GBK GBK' > /etc/locale.gen
echo 'zh_CN.UTF-8 UTF-8' > /etc/locale.gen
echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen
locale-gen
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
Root 的密碼#
當你執行下面的命令後會讓你設置 Root 的密碼。輸入的字符不會顯示。
passwd root
安裝 Plasma 桌面 (可選)#
這會同時安裝中文字體。
pacman -S adobe-source-han-sans-cn-fonts plasma konsole dolphin xorg ark neofetch sddm
開機啟動網絡管理器#
systemctl enable sddm
systemctl enable NetworkManager
添加用戶#
useradd -m -G wheel -s /bin/bash 你的用戶名
passwd 你的用戶名
你還需要擁有 sudo 的權限:
vim /etc/sudoers
# ↓ 尋找這一行並且刪掉 `#`,如後面有空格,就刪掉 `#` 後面的空格。
# %wheel ALL=(ALL:ALL) ALL
完成後請按下 ESC 並輸入 :wq
,回車。
安裝微碼#
pacman -S intel-ucode
# or
pacman -S amd-ucode
配置引導#
- 使用下列命令安裝軟件:
pacman -S grub efibootmgr os-prober
- 使用下列命令安裝引導器:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
- 允許發現其他系統:
vim /etc/default/grub
打開後去掉最後一行前面的 #
,完成後請按下 ESC 並輸入 :wq
,回車。
- 生成配置文件:
grub-mkconfig -o /boot/grub/grub.cfg
設置為中文#
如果您在前面安裝了 Plasma 桌面以及 SDDM,那麼現在你就可以把系統切換為中文了。
rm -rf /etc/locale.conf
echo "zh_CN.UTF-8" >> /etc/locale.conf
最後一步#
你需要退出 Chroot 並且重啟。
exit
reboot
大功告成#
恭喜你,成功的安裝了 Arch Linux。