Skip to content

Instantly share code, notes, and snippets.

@codefz840
Last active October 23, 2025 03:59
Show Gist options
  • Select an option

  • Save codefz840/af93c00a3e6314cd55f1239229a7157e to your computer and use it in GitHub Desktop.

Select an option

Save codefz840/af93c00a3e6314cd55f1239229a7157e to your computer and use it in GitHub Desktop.

安裝流程參照以下網站,有些流程可以自己調整

確認時間是否同步

timedatectl

列出硬碟設備跟分區

lsblk

硬碟分區,建議分3個分區

cfdisk

/dev/sda1 # boot | 1G | EFI
/dev/sda2 # swap | 60%RAM | swap
/dev/sda3 # data | 任意

格式化

mkfs.fat -F 32 /dev/sda1
mkswap /dev/sda2
mkfs.btrfs /dev/sda3

子卷配置

# 掛載後再配置
mount /dev/sda3 /mnt
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home

# 檢查
btrfs subvolume list -p /mnt

# 卸載
umount /mnt

掛載子卷 & boot & swap

mount -t btrfs -o subvol=/@,compress=zstd /dev/sda3 /mnt
mkdir -p /mnt/{home,boot}
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sda3 /mnt/home
mount /dev/sda1 /mnt/boot
swapon /dev/sda2

安裝 linux 跟其他軟體套件

pacstrap /mnt base base-devel linux linux-firmware btrfs-progs sudo networkmanager

你可以在這更換其他或裝多個Linux內核,推薦下列幾個

  • linux-zen
  • linux-lts

安装微碼

  • intel-ucode - Intel
  • amd-ucode - AMD

你可以先裝你想要的軟體,常用的軟體如下

  • networkmanager - 現代的網路管理軟體
  • openssh - 遠端使用終端
  • nano、vim - 文件編輯器
  • curl - URL請求
  • wget - 下載工具

你也可以先預裝桌面

常用的 DM:

  • sddm
  • gdm
  • lightDM

現代主流的 DE:

  • gnome (最小安裝)
  • plasma-desktop (最小安裝)
  • hyprland
  • niri
  • xfce4

生成 fstab 文件

genfstab -U /mnt > /mnt/etc/fstab
cat /mnt/etc/fstab # 確認

切換root & 配置

arch-chroot /mnt

# 設置主機名
echo "archlinux" > /etc/hostname

# 設置 domain
echo "127.0.0.1        archlinux" >> /etc/hosts

# 設定時區
ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime

# 同步硬體時間
hwclock --systohc

設置 locale

# 把需要生成的語言前面的 # 刪除保存
nano /etc/locale.gen

# 生成語言檔
locale-gen

# 設定系統語言為英文 (不建議改中文,會亂碼)
echo "LANG=en_US.UTF-8" > /etc/locale.conf

用戶設置

# 給 root 設定密碼
passwd

# 新增用戶
useradd -m -G wheel code840
passwd code840

sudo 設定

EDITOR=/bin/nano visudo
# 把 %wheel ALL=(ALL:ALL) ALL 的 # 刪除,保存

安裝 & 設定開機引導 我這裡使用內建的 systemd-boot

bootctl install

# 編輯 loader.conf
nano /boot/loader/loader.conf

timeout 3
console-mode keep
default  arch.conf
default  @saved

# 複製 /dev/sda3 的 UUID
blkid

# 新建 arch.conf
nano /boot/loader/entries/arch.conf

title   Arch Linux
linux   /vmlinuz-linux
initrd  /initramfs-linux.img
options root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rootflags=subvol=@ rw

最後一步! 離開 root 解除掛載,重啟

exit
umount -R /mnt
swapoff /dev/sda2
reboot

安裝後

設定網路

sudo systemctl enable --now NetworkManager
sudo nmtui

設定 SSH (可選)

sudo pacman -S openssh
sudo systemctl enable --now sshd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment