最近从 Debian 转到了 Arch Linux,记录一下完整的安装过程。Arch 的安装确实比 Ubuntu 系列复杂不少,但跟着官方 Wiki 和这篇笔记走,其实也没那么难。
硬件配置
先交代一下我的硬件环境:
- CPU: Intel Ultra 7 265KF
- GPU: NVIDIA GeForce RTX 5080
- 内存: 64GB DDR5
- 存储: 2TB NVMe SSD × 2
- 网络: 有线 + WiFi
1. 准备工作
下载镜像
从 Arch Linux 官网 下载最新的 ISO 镜像。
制作启动盘
# Linux 下使用 dd
sudo dd if=archlinux-*.iso of=/dev/sdX bs=4M status=progress oflag=sync
# Windows 下推荐使用 Rufus 或 Ventoy
启动 Live 环境
- 插入 U 盘,重启电脑
- 进入 BIOS/UEFI,关闭 Secure Boot
- 选择从 U 盘启动
2. 连接网络
# 有线网络通常自动连接
# WiFi 需要手动配置
iwctl
station wlan0 connect <SSID>
exit
# 测试网络
ping -c 3 archlinux.org
3. 磁盘分区
我的分区方案:双系统 + btrfs 文件系统
# 查看磁盘
lsblk
# 使用 cfdisk 分区
cfdisk /dev/nvme0n1
分区表
| 分区 | 大小 | 类型 | 挂载点 | 说明 |
|---|---|---|---|---|
| nvme0n1p1 | 200M | EFI System | /efi | EFI 分区 |
| nvme0n1p2 | 16M | Microsoft reserved | - | Windows 保留 |
| nvme0n1p3 | 540G | Microsoft basic | - | Windows 系统盘 |
| nvme0n1p4 | 839M | Windows RE | - | Windows 恢复 |
| nvme0n1p5 | 1.3T | Linux filesystem | / | Arch 根分区 |
格式化分区
# EFI 分区
mkfs.fat -F32 /dev/nvme0n1p1
# Arch 根分区 (btrfs)
mkfs.btrfs -f /dev/nvme0n1p5
创建 btrfs 子卷
mount /dev/nvme0n1p5 /mnt
# 创建子卷
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
umount /mnt
挂载分区
# 挂载根子卷
mount -o compress=zstd,ssd,discard=async,space_cache=v2,subvol=/@ /dev/nvme0n1p5 /mnt
# 创建必要目录
mkdir -p /mnt/{efi,home}
# 挂载 EFI
mount /dev/nvme0n1p1 /mnt/efi
# 挂载 home 子卷
mount -o compress=zstd,ssd,discard=async,space_cache=v2,subvol=/@home /dev/nvme0n1p5 /mnt/home
4. 安装基础系统
# 安装基础包
pacstrap -K /mnt base base-devel linux linux-headers linux-firmware
# 如果用 NVIDIA 显卡,还需要安装
pacstrap -K /mnt nvidia nvidia-utils nvidia-settings
5. 生成 fstab
genfstab -U /mnt >> /mnt/etc/fstab
# 检查生成的 fstab
cat /mnt/etc/fstab
6. 系统配置
chroot 进入新系统
arch-chroot /mnt
设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
设置语言
# 编辑 locale.gen,取消注释需要的语言
vim /etc/locale.gen
# en_US.UTF-8 UTF-8
# zh_CN.UTF-8 UTF-8
locale-gen
# 设置默认语言
echo "LANG=zh_CN.UTF-8" > /etc/locale.conf
设置主机名
echo "cola" > /etc/hostname
配置 hosts
cat > /etc/hosts << EOF
127.0.0.1 localhost
::1 localhost
127.0.1.1 cola.localdomain cola
EOF
设置 root 密码
passwd
7. 安装引导程序
使用 systemd-boot:
# 安装引导
bootctl install
# 创建 Arch 启动项
cat > /boot/loader/entries/arch.conf << EOF
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=UUID=<你的分区UUID> rw rootflags=subvol=/@ intel_iommu=on
EOF
# 设置默认启动
cat > /boot/loader/loader.conf << EOF
default arch.conf
timeout 3
console-mode max
editor no
EOF
获取分区 UUID
blkid /dev/nvme0n1p5
NVIDIA 用户额外配置
# 编辑 mkinitcpio.conf
vim /etc/mkinitcpio.conf
# 在 MODULES 中添加:nvidia nvidia_modeset nvidia_uvm nvidia_drm
# 重新生成 initramfs
mkinitcpio -P
8. 创建用户
# 创建用户
useradd -m -G wheel -s /bin/zsh cola
# 设置密码
passwd cola
# 编辑 sudoers
EDITOR=vim visudo
# 取消注释:%wheel ALL=(ALL:ALL) ALL
9. 安装桌面环境
KDE Plasma
pacman -S plasma kde-applications sddm
# 启用 SDDM
systemctl enable sddm
# 启用网络
systemctl enable NetworkManager
安装常用软件
# 浏览器
pacman -S firefox
# 终端
pacman -S kitty
# 开发工具
pacman -S git vim neovim
# 字体
pacman -S ttf-firacode-nerd noto-fonts noto-fonts-cjk
# 输入法
pacman -S fcitx5-im fcitx5-rime
10. 安装后配置
配置输入法
# 环境变量
cat > /etc/environment.d/fcitx.conf << EOF
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
EOF
安装 AUR 助手
# 安装 yay
cd /tmp
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
安装 NVIDIA 驱动(如果之前没装)
yay -S nvidia-dkms nvidia-utils nvidia-settings
11. 重启系统
exit
umount -R /mnt
reboot
踩坑记录
1. NVIDIA 驱动问题
安装后如果黑屏,尝试在内核参数添加:
nvidia-drm.modeset=1
2. WiFi 连接问题
如果 iwctl 连不上,检查:
# 确认 WiFi 设备被识别
ip link show
# 启用设备
ip link set wlan0 up
3. 引导丢失
如果 Windows 引导丢失:
# 安装 os-prober
pacman -S os-prober
# 编辑 /etc/default/grub 或 loader.conf
# 添加探测
当前系统状态
安装完成后,我的系统配置:
- 内核: Linux 7.0.14-arch1-1
- 桌面: KDE Plasma 6.7.2
- 显示管理器: SDDM
- 文件系统: btrfs (压缩 + SSD 优化)
- 引导: systemd-boot
- Shell: zsh + oh-my-zsh + starship
- 终端: kitty
- 编辑器: VS Code (Code OSS)
总结
Arch Linux 的安装过程确实比 Debian/Ubuntu 系列复杂,但好处是:
- 系统完全自定义,没有预装不需要的软件
- 滚动更新,软件永远是最新版
- AUR 仓库几乎什么软件都有
- 文档非常详细(Arch Wiki 是最好的 Linux 文档)
如果你是 Linux 新手,建议先在虚拟机里练习几次,熟悉了再在真机上安装。
下一篇我会记录当前系统的详细配置,包括 VS Code、Kitty 终端、KDE 桌面的美化和优化。