Linux系统
archlinux 最小化安装指南
一份面向新手的 Arch Linux 完整安装教程,从 UEFI 引导到 Btrfs 分区,从系统配置到哲学思考。不仅教你如何安装,更让你理解\"为什么这样做\",体验亲手赋予操作系统生命的过程。
目录 · 14 节
🧭 我所理解的 Arch 哲学它要求的只有三件事:我为什么要教你安装 Arch🧩 结语🧰 安装教程🧩 安装 - 准备工作🧩 安装 - 环境配置🧩 安装 - 磁盘分区🧩 安装 - 基础系统🧩 安装 - 配置系统🧩 安装 - 结束🧩 在这一切之后🌟 最后作者的话如果本教程与 wiki 有出入, 请永远以 wiki 为准
官方文档: Arch Linux - ArchWiki
🧭 我所理解的 Arch 哲学
在正式开始安装之前, 我希望向你介绍 我认为的 Arch 是一个怎样的系统
Arch 不「贴心」
Arch 不「安全」
Arch 甚至不「友好」
它要求的只有三件事:
阅读, 思考, 为自己的系统负责
具体来说就是:
查 wiki, 看文档, 在系统坏掉时不怪系统
我为什么要教你安装 Arch
不是为了 "让你觉得自己很酷" "让你加入某个圈子"
而是为了让你体验一次
从零开始,亲手把一个操作系统「活过来」
哪怕你最后不用 Arch, 这段经历也会改变你看待 linux, 看待软件, 甚至看待 "工具与人" 的方式
🧩 结语
Arch 不适合所有人
但如果你:
- 讨厌 "系统替你做决定"
- 想真正理解你每天使用的系统
- 愿意为自由付出时间
那么 Arch 不会背叛你, 他只会如实的回应你的每一个选择
当你看到 Login 提示符时, 那就是你思考的结果
🧰 安装教程
如果你准备好了, 接下来我会手把手带你看到那个 Login:
🧩 安装 - 准备工作
(1) 物理机, 虚拟机 与 WSL:
虽然本教程侧重于物理机安装, 但你可能在不同的环境下尝试:
- 物理机安装: 最真实的体验, 性能最强, 但风险最高. 你需要准备一个 容量 > 2GB 的U盘1
- 虚拟机 (VMWare/VirtualBox): 最安全, 你不需要U盘, 直接挂载
.iso文件即可, 通常也不需要调试网络 (因为有虚拟网卡). 但是在创建虚拟机时请开启 EFI引导模式, 否则与本教程不符 - WSL (Windows Subsystem for Linux): 这是一个在 Windows 里跑的 子系统, 如果你想学习 Linux 架构, WSL 会屏蔽掉底层硬件细节, 但是它非常适合临时体验 Linux
(2) 电脑是如何醒来的
理解开机过程, 能够帮你搞清楚 为什么我们要折腾 BIOS:
- 通电 (Power On): 硬件开始供电
- 固件初始化 (UEFI/BIOS): 这是主板自带的一段小软件, 负责 硬件上电自检, 初始化CPU, 创建最小运行环境, 找到并启动引导程序 (bootloader)
- 启动内核: 将 Linux 内核加载进内存
- 进入系统
(3) 你是 UEFI 还是 BIOS ?
现代电脑几乎都使用 UEFI, 它是传统 BIOS 的升级版. Arch Linux 的安装方式在 UEFI 和 BIOS 下不同, 本教程基于主流的 UEFI + GPT
如何查看当前系统的模式?
- Windows 用户: 按下
Win + R, 输入msinfo32, 在 "系统摘要" 里找 "BIOS模式". 如果是"UEFI"那就对了, 如果是 "Legacy", 说明你的电脑很老 - Linux 用户: 查看路径
/sys/firmware/efi是否存在 (在终端输入ls /sys/firmware/efi), 如果存在, 就是 UEFI
(4) 获取 Arch ISO 与 磁链
前往 Arch Linux 下载页面. 你会看到很多国家镜像, 但最醒目的是 Magnet (磁链)
科普: 磁链是什么?
磁链 (Magnet Link) 不依赖某个固定的服务器, 而是通过 P2P 协议从全球其他正在下载的人那里获取数据。
- 工具: 你可以使用 BitComet, qBittorrent, 甚至迅雷、百度网盘
- 优点: 不限速, 下载人数越多越快
(5) 烧录启动盘
下载好 .iso 后, 我们需要把它 "烧" 进 U盘
- Windows 推荐工具: Rufus
- 分区类型: 选 GPT
- 目标系统类型: 选 UEFI (非 CSM2)
- 重要提示: 点击开始后, 如果弹出提示, 请务必选择 DD模式 写入, 因为 Arch 的镜像本身就是很完整的
- Linux 推荐工具: Ventoy
- 你只需要把 U盘 格式化为 Ventoy, 然后把
.iso文件拖进去即可
- 你只需要把 U盘 格式化为 Ventoy, 然后把
(6) BIOS 避坑指南
插入 U盘, 重启电脑后, 在 Logo 出现时狂按 F2 (不同电脑的按键可能不同) 进入 BIOS 设置, 请务必确认以下几点:
- 关闭安全启动 (Secure Boot3): 必须设置为
Disabled - SATA 模式: 如果你有多块硬盘, 确保 SATA 模式不是
RAID而是AHCI(现代 NVMe 固态通常默认即可) - 调整启动顺序: 将你的 U盘 (通常带有
UEFI:前缀) 设为第一启动项 - 保存并重启
🧩 安装 - 环境配置
当你重启电脑并从 U盘 启动后, 你会看到一个菜单, 选择第一项 Arch Linux install medium (x86_64, UEFI)
当屏幕停止滚动, 出现 root@archiso ~ # 时, 你已经成功进入了 Arch 的临时内存系统
(0) 【可选】确认引导模式
在终端输入 ls /sys/firmware/efi/efivars, 如果你看到了一堆文件, 说明你确实是以 UEFI 模式启动的
(1) 连接网络
Arch 本身不包含所有软件包, 它需要通过网络实时拉取最新的软件
- 如果你插了网线: 通常系统会通过 DHCP4自动获取 IP, 输入
ping -c 4 google.com或ping -c 4 baidu.com5 - 如果你使用 Wi-Fi: 我们需要使用
iwctl这个交互式工具
Wi-Fi 连接步骤
- 输入
iwctl进入交互页面 device list: 查看网卡名称 (通常是wlan0)station wlan0 scan: 让网卡扫描附近的信号station wlan0 get-networks: 列出搜到的 Wi-Fi 名字station wlan0 connect <你的WiFi名称>: 输入密码连接quit: 连接成功后退出工具
避坑: WiFi 名称不要有中文
Arch 默认不支持中文显示, 如果你的 WiFi 名称有中文, 这里会显示成乱码或连接失败, 建议把路由器名称改回英文。
(2) 更新系统时间
如果你的系统时间与真实时间相差太大, 会导致下载软件包时由于 "证书过期" 而报错
- 开启网络时间同步
timedatectl set-ntp true
- 设置时区 (亚洲/上海)
timedatectl set-timezone Asia/Shanghai
(3) 刷新镜像源 (mirrorlist)
这是最影响下载速度的一步, 默认的镜像源可能在国外, 速度极慢. 我们使用 reflector 自动挑选最快的国内镜像:
- 生成镜像源列表
reflector --country China --protocol https --latest 10 --sort rate --save /etc/pacman.d/mirrorlist
这条命令的意思是: 在中国镜像站中, 寻找 10 个最近同步过的 HTTPS 服务器, 按速度排序, 并把结果存入配置文件
- 查看生成结果
cat /etc/pacman.d/mirrorlist
🧩 安装 - 磁盘分区
这是整个安装过程中最硬核的部分, 给我们的硬盘分个区, 规定不同的文件住在不同的分区里
科普: Btrfs 是什么?
Btrfs 是一种先进的文件系统。传统文件系统 (如 Ext4) 像一张纸, 改错了只能擦掉重写; Btrfs 像一本书, 它的特性是:
- 子卷 (Subvolumes): 你可以把根目录
/和用户目录/home分为不同的子卷 - 快照 (Snapshots): 如果你玩坏了系统, 可以通过快照恢复到之前还没坏的状态
科普: EFI 分区是什么?
EFI 分区是主板固件 (UEFI) 唯一能读懂的分区, 你可以理解为开机的第一站。
它里面存放着引导程序 (Bootloader, 如 GRUB 或 systemd-boot)。UEFI 非常简单, 它只认识最原始的 FAT32 格式 —— 如果没有 EFI 分区, 你的电脑连操作系统都找不到。
(1) 分区规划
我们将采用 GPT6 分区表, 这是现代电脑的标准
| 分区名 | 挂载点 | 建议大小 | 文件系统类型 | 说明 |
|---|---|---|---|---|
| EFI 分区 | /boot | 512MB | FAT32 | 存放引导程序的"小隔间" |
| Swap 分区 | 无 | 8GB - 16GB | Linux swap | 虚拟内存, 内存不够时会使用这一部分 |
| 根分区 | / | 剩余所有 | Btrfs | 存放你的整个系统和所有文件 |
(2) 配置分区
分区工具有很多种, 你可以选择命令行交互页面 fdisk, 也可以选择图形化页面的 cfdisk
输入 lsblk 找到你的硬盘名称 (例如 /dev/nvme0n1 或 /dev/sda), 然后:
fdisk /dev/nvme0n1 # 使用 fdisk cfdisk /dev/nvme0n1 # 使用 cfdisk
使用 cfdisk
- Select Label Type: 选择
gpt - 新建 EFI:
New->512M->Type选EFI System - 新建 Swap:
New->16G->Type选Linux swap - 新建根分区:
New->剩余空间->Type默认Linux root (x86-64) - 写入: 写入
Write并输入yes, 最后Quit退出
使用 fdisk
在 fdisk 的提示符下
- 创建 GPT 分区表:
g(设置分区类型) - 新建 EFI:
n(新建分区) ->1(分区号) -> 回车 (默认起始位置) ->+512M(容量), 然后设置分区类型:t->1(一号分区) ->1(EFI System) - 新建 Swap:
n->2(二号分区) -> 回车 ->+16G, 然后设置分区类型:t->2->19(Linux swap) - 新建根分区:
n->3-> 回车 -> 回车 (使用剩余全部空间) - 查看分区无误:
p - 写入分区表并退出:
w
如果磁盘之前有数据, fdisk 会询问是否删除旧签名, 这里一定要选 Y
(3) 格式化
这一步才是将分区数据实际写入磁盘, 所以如果上一步你做错了也不要紧, 不写入/清空重分 就好了
- 格式化 EFI 分区 (一号分区)
mkfs.vfat -F 32 /dev/nvme0n1p1
- 格式化并启用 Swap 分区
mkswap /dev/nvme0n1p2 swapon /dev/nvme0n1p2
- 格式化根分区为 Btrfs (myarch 你可以随便取名)
mkfs.btrfs -L myarch /dev/nvme0n1p3
【可选】Btrfs 子卷挂载
为了实现 系统 和 数据 的分离, 我们不在 Btrfs 的物理根上直接安装, 而是建立子卷
当你给系统做备份的时候, 你可以只备份 系统核心卷, 不必备份 用户卷 和 日志卷, 节省空间且逻辑清晰
挂载物理分区并创建子卷
mount /dev/nvme0n1p3 /mnt btrfs subvolume create /mnt/@ btrfs subvolume create /mnt/@home btrfs subvolume create /mnt/@var umount /mnt
挂载子卷
mount -o subvol=@ /dev/nvme0n1p3 /mnt mkdir -p /mnt/{boot,home,var} mount -o subvol=@home /dev/nvme0n1p3 /mnt/home mount -o subvol=@var /dev/nvme0n1p3 /mnt/var mount /dev/nvme0n1p1 /mnt/boot
最后查看你的磁盘情况
lsblk -f
🧩 安装 - 基础系统
现在的 /mnt 目录已经挂载好了我们的硬盘, 接下来我们要通过网络, 把最核心的系统文件下载并解压进去
(1) 安装基础软件包
我们使用 pacstrap 脚本来安装基础软件包
pacstrap -K /mnt base linux linux-firmware base-devel btrfs-progs networkmanager vim sudo
软件包说明:
base: 最基础的系统环境linux: 操作系统内核linux-firmware: 各种硬件驱动的固件 (显卡, 声卡, 网卡等)base-devel: 使用源码编译软件的工具包btrfs-progs: Btrfs 文件系统管理硬盘的工具networkmanager: 网络管理器 (极其重要, 没有它就连不了网啦)vim: 文本编辑器, 你也可以选择nanoneovim等喜欢的编辑器sudo: 权限管理工具
让网络管理器开机自启
systemctl enable NetworkManager
(2) 生成分区表
现在的磁盘挂载关系只存在于内存中, 如果你重启, 系统就会忘记它们, 我们需要把它们永久写入文件 /etc/fstab 中
- 生成 fstab 文件 (使用 UUID7 标识硬盘, 更稳定)
genfstab -U /mnt >> /mnt/etc/fstab
检查生成结果
cat /mnt/etc/fstab
【可选】Btrfs 压缩优化
- 手动修改 fstab: 使用 vim 编辑器
vim /mnt/etc/fstab8 - 添加参数: 在 所有
btrfs分区的参数项中 (通常是在relatime后面), 手动加上compress=zstd:3
就像这样:
UUID=da9c58a4-d828-45b5-a42e-7396218da611 / btrfs rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=/@ 0 0
UUID=da9c58a4-d828-45b5-a42e-7396218da611 /home btrfs rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=/@home 0 0
UUID=da9c58a4-d828-45b5-a42e-7396218da611 /var btrfs rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=/@var 0 0
🧩 安装 - 配置系统
现在我们要进入系统进行配置
(1) 进入新系统 (Chroot9)
arch-chroot /mnt
如果你看到提示符变了, 说明你已经从 "安装盘" 切换到了 "硬盘里的系统"
我们将要在这里进行基本的系统配置
(2) 时区 与 语言 配置
- 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 同步硬件时钟
hwclock --systohc
本地化设置
- 编辑
/etc/locale.gen, 找到en_US.UTF-8 UTF-8和zh_CN.UTF-8 UTF-8, 删掉前面的#注释符号
- #en_US.UTF-8 UTF-8- #zh_CN.UTF-8 UTF-8+ en_US.UTF-8 UTF-8+ zh_CN.UTF-8 UTF-8
- 执行
locale-gen生成语言包 - 设置系统语言
echo "LANG=en_US.UTF-8" > /etc/locale.conf
进入图形化界面前, 建议保持系统语言为英文
否则命令行下中文会显示为方块。
(3) 网络 与 主机名
可以给你的电脑取个名字:
echo "你的主机名" > /etc/hostname
(4) 创建用户 配置权限
设置 Root 密码: 输入 passwd, 按提示输入两次密码10
创建普通用户: Arch 不建议日常使用 Root 账号, 所以我们要创建一个普通账户使用
useradd -m -G wheel 你的用户名 passwd 你的用户名
配置 Sudo: 执行 visudo11, 找到这一行删除开头的 # 号, 这样你刚才创建的用户就能用 sudo 执行高级命令了:
- # %wheel ALL=(ALL:ALL) ALL+ %wheel ALL=(ALL:ALL) ALL
(5) 安装引导程序 (Bootloader)
我们选择 GRUB 作为安装引导程序, 它的作用是: 在电脑刚启动时扫描操作系统,并负责将系统内核加载进内存。
- 安装相关工具
pacman -S grub efibootmgr os-prober
- 将引导程序安装到 EFI 分区
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
- 生成配置文件
grub-mkconfig -o /boot/grub/grub.cfg
双系统用户注意
os-prober 是用来检测电脑里有没有其他操作系统的。如果你是双系统, 记得编辑文件 /etc/default/grub, 最后加上 GRUB_DISABLE_OS_PROBER=false 再执行生成配置的命令。
🧩 安装 - 结束
到这一步, 系统就已经完全装入硬盘了, 我们现在要做的就是关机, 拔掉 U盘, 进入系统
- 退出 Chroot 环境
exit
- 递归卸载所有分区, 确保缓存写入磁盘
umount -R /mnt
- 重启电脑
reboot
在屏幕黑掉之后, 拔掉你的 U盘12
如果一切顺利, 你就会看到 GRUB 的引导菜单, 选择 Arch Linux 并回车, 最后屏幕会定格在
主机名 login:
输入你之前创建的 用户名, 然后输入 密码, 当你看到这个提示符: [用户名@主机名 ~]$
恭喜你, 你已经亲手赋予了一个操作系统生命
🧩 在这一切之后
这里有一些之后的建议, 可以帮助你快速入手 Arch:
(1) 经常更新系统
sudo pacman -Syu # -S 同步云端软件包 -y 刷新数据库 -u 升级
Arch 是一个滚动更新13的系统, 这意味着它几乎 三天一大更, 一天一小更, 每天进入系统后, 都推荐你马上进行更新
(2) Arch Linux CN 与 AUR
这是国内 Arch 用户必做的一步。Arch Linux CN 是一个由国内社区维护的非官方仓库,里面包含了大量符合中国用户习惯的软件(如 QQ、微信、腾讯会议)
添加源
编辑配置文件: sudo vim /etc/pacman.conf, 在文件末尾添加:
[archlinuxcn]
Server = https://mirrors.aliyun.com/archlinuxcn/$arch
# 下面这个是清华大学镜像源
# Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
安装密钥与核心工具
sudo pacman -Sy sudo pacman -S archlinuxcn-keyring # 导入社区密钥
AUR (Arch User Repository) 是社区维护的软件仓库, 这里提供大量额外的软件
推荐安装 paru 作为新的包管理器代替 pacman14
sudo pacman -S paru
以后你的所有 sudo pacman ... 都可以换成 paru ... 了, 这里宣传一下我自己做的包管理器前端:
一行命令即可安装, 关于这个软件的详情请看这里: Github-lian
paru -S lian-bin # 运行 lian
这个 TUI前端 非常适合新手小白使用, 还支援了 AI自动总结, 让你了解在 安装/卸载/升级 时系统发生了什么
(3) 图形环境
现在你看到的 Arch 大概只是黑底白字的命令行, 如果要看到好看的页面, 你还需要安装 桌面环境
安装显卡驱动
- NVIDIA:
sudo pacman -S nvidia-open-dkms, 最近 nvidia 驱动彻底拥抱了开源内核, 所以我们安装这一个包 - intel/AMD: 通常已经包含在内核中, 但也建议安装
sudo pacman -S mesa
Arch 的魅力在于你可以自由选择桌面, 这里做几种推荐:
- KDE Plasma: 最像 Windows, 自带大量软件包开箱即用15
- GNOME: 像 MacOS, 简单, 圆滑, 稳定的桌面
- Hyprland / Sway / niri: 我心目中最
linux的平铺式窗口管理器, 支持全键盘操作和极高程度自定义
劝退警告: Hyprland 这类桌面是"完全由用户搭建的桌面环境"
它的缺点只有一个: 学习路线陡峭。 进入桌面后你往往只会看到一张壁纸, 其余什么页面都没有 —— 状态栏、应用管理器、锁屏、登录页面、应用通知……几乎全都要你自己配置, 就连快捷键、截图、剪贴板、输入法这样最基本的需求也要你去管理。
桌面具体如何配置, 这篇博客不做说明, 之后会专门有博客分享我的桌面环境配置的
(4) 网络代理
如果没有网络代理, 你在 linux 的世界将寸步难行
简单来说网络代理就是让你能自由访问国际互联网, 浏览外网的技术社区, 软件商店 ...
这里推荐使用 mihomo-party 作为代理客户端
paru -S mihomo-party-bin
关于网络代理的详情(例如终端代理), 我会另开一篇博客说明
🌟 最后
安装 Arch 并不是终点,而是你作为 "系统主人" 的起点。
现在的你已经拥有了一个干净、纯粹、完全由你控制的 Linux 环境。
虽然未来你可能会遇到 "系统滚挂" "驱动冲突" 等各种挑战,但请记住:
阅读, 思考, 为自己的系统负责
这就是 Arch 赋予你的自由
作者的话
本篇博客非常啰唆, 如果影响到你 "以最快速度安装好", 我表示非常抱歉
但因为它面向小白撰写, 所以我想让你明白 自己做的每一步
祝你在 Arch 的世界玩的开心!
评论
0 条暂时还没有评论。