一、安装准备
1. 获取安装映像
访问下载页面,根据您想要的启动方式,获取 ISO 文件或网络启动映像,以及相应的GnuPG签名。
2. 验证签名
建议在使用前验证镜像签名,特别是从HTTP 镜像下载时,下载通常容易被拦截以服务恶意镜像。
在与系统的GnuPG安装,做到这一点通过下载PGP签名(下校验在下载页)到ISO目录,并验证它:
$ gpg --keyserver-options auto-key-retrieve --verify archlinux- version -x86_64.iso.sig
或者,从现有的 Arch Linux 安装运行:
$ pacman-key -v archlinux- version -x86_64.iso.sig
注意:
- 如果签名是从镜像站点下载的,而不是从上面的archlinux.org下载,则签名本身可以被操纵。在这种情况下,请确保用于解码签名的公钥由另一个可信赖的密钥签名。该
gpg
命令将输出公钥的指纹。 - 另一种验证签名真实性的方法是确保公钥的指纹与签署 ISO 文件的Arch Linux 开发人员的密钥指纹相同。有关验证密钥的公钥过程的更多信息,请参阅Wikipedia:Public-key cryptography。
3. 准备安装介质(U盘)
安装映像可以通过USB 闪存驱动器、光盘或带有PXE的网络提供给目标机器:按照相应的文章从所选映像为自己准备安装介质。
windows建议Rufus,Linux直接使用dd命令。
4. 启动安装环境
注意: Arch Linux 安装映像不支持安全启动。您需要禁用安全启动(Security Boot)才能启动安装介质。如果需要,可以在完成安装后设置安全启动。
-
将当前引导设备指向具有 Arch Linux 安装介质的设备。通常它是通过在POST阶段按下一个键来实现的,如启动屏幕所示。有关详细信息,请参阅您的主板手册。
-
当出现安装介质的引导加载程序菜单时,选择
Arch Linux 安装介质 并按
Enter
进入安装环境。提示: 安装映像使用systemd-boot在 UEFI 模式下启动,使用syslinux在 BIOS 模式下启动。有关引导参数的列表,请参阅README.bootparams。
-
Archlinux的安装镜像内嵌入了一个mini的linux环境,并且您将以root 用户身份登录第一个虚拟控制台,并显示Zsh shell 提示。
要切换到不同的控制台(例如,在安装的同时查看Lynx 的本指南),请使用Alt+arrow
快捷方式. 要编辑配置文件,可以使用mcedit(1)、nano和vim。有关安装介质中包含的包的列表,请参阅packages.x86_64。 ``
5. 设置控制台键盘布局(非必需)
# ls /usr/share/kbd/keymaps/**/*.map.gz
要修改布局,请将相应的文件名附加到loadkeys(1),省略路径和文件扩展名。例如,要设置德语键盘布局:
# loadkeys de-latin1
# 自定义
vim xxx.conf
loadkeys xxxx.conf
6. 设置显示(控制台)字体(可跳过)
控制台字体位于/usr/share/kbd/consolefonts/
并且同样可以使用setfont(8)进行设置。
可用的字体可以列出:
# ls /usr/share/kbd/consolefonts/
建议选择一个较大的字体,方便识别。
# setfont /usr/share/kbd/consolefonts/LatGrkCyr-12x22.psfu.gz
7. 验证启动模式(重要)
要验证引导模式(EFI或者BIOS),请列出efivars目录:
# ls /sys/firmware/efi/efivars
如果该命令显示的目录没有错误,则系统以 UEFI 模式启动。如果该目录不存在,系统可能会以BIOS(或CSM)模式启动。如果系统没有以您想要的模式启动,请参阅您的主板手册。
8. 连接到互联网
安装过程需要下载软件包,所以必须联网,要在实时环境中设置网络连接,请执行以下步骤:
-
1.确保您的网络接口已列出并启用,例如使用
# ip link # 显示如:wlan0 <UP>,确保是UP状态,如果是down,请手动开启 ip link set wlan0 UP
-
2.连接到网络:
- 以太网(有线) — 插入电缆。
- 最简单办法是手机连接电脑选择USB网络共享(非常推荐)。
- Wi-Fi (无线)— 使用iwctl对无线网络进行身份验证(推荐)。
iwctl #进入交互式命令行 device list #列出设备名,比如无线网卡看到叫 wlan0 station wlan0 scan #扫描网络 station wlan0 get-networks #列出网络 比如想连接CMCC-5AQ7这个无线 station wlan0 connect CMCC-5AQ7 #进行连接 输入密码即可 exit #成功后exit退出
无线设备有时会被禁用,如果
device list
输出的 Powered 字段为 off(断电),则需要使用rfkill
来启用 WIFI。若无法正确建立连接,先检查无线设备状态rfkill list
如果看到 blocked: yes 字样,说明无线连接被禁用,首先再次确保硬件无线开关属于开启状态。
其次尝试启用无线连接[1]:
ip link set wlan0 up #比如无线网卡看到叫 wlan0
若看到类似
Operation not possible due to RF-kill
的报错,继续尝试rfkill unblock wifi
来解锁无线网卡。rfkill unblock wifi
-
3.配置您的网络连接:
连接到网络之后,你需要一个IP地址才能正常上网。
-
DHCP:动态 IP 地址和 DNS 服务器分配(由systemd-networkd和systemd-resolved 提供)应该适用于以太网、WLAN 和 WWAN 网络接口。
# dhcpcd &
-
静态 IP 地址:遵循网络配置#静态 IP 地址。
-
-
4.可以使用
ping
验证连接:# ping archlinux.org
注意: 以上命令之所以能够使用,是因为在安装镜像的mini环境中,systemd-networkd、systemd-resolved、iwd和ModemManager是预先配置并默认启用的,不过我们要安装的新系统可是从零开始的哦。
9. 更新系统时钟
使用timedatectl(1)确保系统时钟准确:
# timedatectl set-ntp true
要检查服务状态,请使用timedatectl status
。
10. 对磁盘进行分区
当被实时系统识别时,磁盘被分配给块设备,例如/dev/sda
、/dev/nvme0n1
或/dev/mmcblk0
。要识别这些设备,请使用lsblk或fdisk。
# 查看磁盘分区情况
# fdisk -l
选择好要分盘的区块, /dev/xxx ,提前做好规划,MBR格式这里不做介绍。
# fdisk /dev/the_disk_to_be_partitioned
笔记:
- 如果磁盘未显示,请确保磁盘控制器未处于 RAID 模式。
- 如果要从中引导的磁盘已经有 EFI 系统分区,请不要创建另一个分区,而是使用(设置挂载)现有分区。
- 可以在交换文件上为支持它的文件系统设置交换空间。
示例布局
划分 | 分区类型 | 建议尺码 | 挂载点 |
---|---|---|---|
/dev/efi_system_partition | 引导分区 | 至少 300 MiB | /mnt/boot |
/dev/swap_partitio | Linux交换 | 超过 512 MiB | [SWAP] |
/dev/root_partition | Linux x86-64 根分区 (/) | 设备的剩余部分 | /mnt |
注意:
/
和 /boot
是必须划分的两个分区,swap
分区可不划分,如果不单独划分交换分区,可以在系统安装完成后设置swap
文件实现。另外,可以单独划分分区并挂载到 /home
,这样,之后若要安装其他系统则可以直接挂载之前的/home
,个人之前的文件就会保留。
11. 格式化分区
使用 fdisk 或cfdisk 或者其他方式创建好分区后,必须使用适当的文件系统格式化每个新创建的分区。有关详细信息,请参阅文件系统#创建文件系统。
引导分区必须是 Fat32 格式,根分区和home分区,linux通常是 ext4格式,你也可以使用其他格式,如 btrfs。
将各分区格式化为指定格式
例如,要在上创建 Ext4 文件系统,请运行: /dev/partition
# mkfs.ext4 /dev/xxxx
如果你为swap创建了一个分区,用mkswap(8)初始化它:
# mkswap /dev/swap_partition
如果您创建了 EFI 系统分区,请使用mkfs.fat(8) 将其格式化为 FAT32 。
警告: 仅当您在分区步骤中创建 EFI 系统分区时才对其进行格式化。如果预先在磁盘上已经有 EFI 系统分区,重新格式化它可能会破坏其他已安装操作系统的引导加载程序。
# mkfs.fat -F 32 /dev/efi_system_partition
12. 挂载文件系统
将根分区挂载到/mnt
. 例如,如果根卷是: /dev/root_partition
# mount /dev/root_partition /mnt
/mnt/efi
使用mkdir(1)创建任何剩余的挂载点(例如)并挂载它们对应的卷。
对于 UEFI 系统,创建对应efi目录,并挂载你的 EFI分区到这个目录:
# 这个目录叫什么你随便,但是记住这个目录,后面装系统要用到
# 通常是 /mnt/efi 或 /mnt/boot
# mkdir /mnt/efi
# mount /dev/efi_system_partition /mnt/boot
# swapon /dev/swap_partition
genfstab(8)稍后将检测已安装的文件系统和交换空间。
二、基本安装
1. 选择镜像(仓库源)
要安装的包必须从镜像服务器下载,镜像服务器在/etc/pacman.d/mirrorlist
. 在实时系统上,连接到互联网后,反射器通过选择最近同步的 20 个 HTTPS 镜像并按下载速率排序来更新镜像列表。
- 可以手动添加你知道的源
# vim /etc/pacman.d/mirrorlist
# 添加到最上面
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch # 中国科学技术大学开源镜像站
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch # 清华大学开源软件镜像站
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch # 华为开源镜像站
Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch # 兰州大学开源镜像站
镜像在列表中的位置越高,下载包时它的优先级就越高。您可能需要检查文件以查看它是否令人满意。如果不是,则相应地编辑文件,并将地理上最近的镜像移动到列表顶部,但应考虑其他条件。
- 也可以使用命令自动更新并选择最近的源(推荐)
# 选择位于中国的5个镜像,然后根据下载速度进行排序,最后将结果覆写到 /etc/pacman.d/mirrorlist 文件
reflector -c China --sort rate -l 5 --save /etc/pacman.d/mirrorlist
笔记: 此文件稍后将被pacstrap复制到新系统
你新装的系统也是archlinux也会有这个配置文件,所以我建议第二种方式,手动添加多累啊。
2. 安装基本包
使用pacstrap(8)脚本安装基本包、Linux内核和通用硬件固件:
# pacstrap /mnt base linux linux-firmware
# 上面几个是必须是,建议 把 vim 也加上,后面编辑一些配置文件可能会用到。
# pacstrap /mnt base linux linux-firmware vim
提示:
该基地包不包括从实况安装所有的工具,所以在安装其它软件包可以为一个全功能的基本系统是必要的。特别是,请考虑安装:
- 用于管理将在系统上使用的文件系统的用户空间实用程序,
- 用于访问RAID或LVM分区的实用程序,
- 具体固件不包括在其它设备Linux的固件(例如SOF固件为声卡),
- 网络所需的软件,
- 一个文本编辑器,
- 用于访问man和info页面中的文档的包:man-db、man-pages和texinfo。
要安装其他软件包或软件包组,请将名称附加到上面的pacstrap命令(空格分隔)或在chroot 到新系统时使用pacman。为了进行比较,可以在 packages.x86_64 中找到实时系统中可用的包。
三、配置系统
1. 生成分区表
生成一个fstab文件(使用-U
或分别-L
由UUID或标签定义):
# genfstab -U /mnt >> /mnt/etc/fstab
检查生成的/mnt/etc/fstab
文件,并在出现错误时对其进行编辑。
cat /mnt/etc/fstab
# 这个里面实际上就是保存,硬盘分区和目录的映射关系,也就是所谓的挂载规则,比如 /dev/sda1 挂载到 /
2. 进入系统
我们之前所有的操作都是在archlinux安装镜像所提供的mini的linux环境中完成了。所以你看到之前很多对目录的操作的 /mnt/xxx,这是因为我们将新系统的根分区挂载到了 /mnt 目录,所以 访问 /mnt 就是访问新系统的根目录 /。
之后的操作为了方便,我们直接进入到这个系统里面。
这里的进入系统其实就是 进入 /mnt 目录,只不过进入这个目录后就相当于进入了一个新的linux环境。
进入新系统:
# arch-chroot /mnt
注意:
接下来的配置都是在新系统中进行,所以确保你已经进入了 /mnt 目录。
3. 设置时区
设置时区:
# 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。有关详细信息,请参阅系统时间#时间标准。
4. 语言环境
编辑 /etc/locale.gen
和取消注释en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8 zh_HK.UTF-8 UTF-8
以及其他需要的语言环境。通过运行生成语言环境:
# vim /etc/locale.gen
# locale-gen
注意: 如果这里提示 vim 命令没找到,则先安装 vim pacman -Sy vim
创建的locale.conf(5)文件,并设置LANG变量相应:
vim /etc/locale.conf
输入
LANG= en_US.UTF-8
# 不要直接改成zh_CN,可能造成乱码
如果您设置了控制台键盘布局,请在vconsole.conf(5)中保持更改:
vim /etc/vconsole.conf
KEYMAP=de-latin1
....如按键设置等
5. 网络配置
修改主机名:
vim /etc/hostname
myhost
为新安装的环境完成网络配置。修改hosts文件
vim /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhost.localdomain myhost
6. 初始文件(跳过)
通常不需要创建新的initramfs,因为mkinitcpio是在使用pacstrap安装内核包时运行的。
对于LVM、系统加密或RAID,修改mkinitcpio.conf(5)并重新创建 initramfs 映像:
# mkinitcpio -P
7. 设置密码
设置root用户密码:
# passwd
8. 安装引导加载程序(重要)
选择并安装支持 Linux 的引导加载程序。如果您有 Intel 或 AMD CPU,请另外启用微码更新。
以 grub为例
# intel-ucode 是微码。如果是 amd cpu, 则安装 amd-ucode , os-prober加载其他引导,ntfs-3g用于识别 ntfs文件系统
pacman -S grub efibootmgr intel-ucode os-prober ntfs-3g
# 确认系统架构
# uname -m # x86_64
# /boot是你之前创建和u挂载EFI分区时设置的引导分区所在目录
grub-install --target=x86_64-efi --efi-directory=/boot
# 生成 grub 配置文件(默认位置 /etc/default/grub)
grub-mkconfig -o /boot/grub/grub.cf
注意:
os-prober
是用于搜索其他操作系统引导(比如你在windows电脑上安装linux系统),也就是保证你重启时界面上能同时看到windows和arch启动项。通常,os-prober会自动发现包含 Windows 的分区。但是,使用默认 Linux 驱动程序挂载时,可能无法始终检测到 NTFS
分区。如果 GRUB
没有检测到它,请尝试安装NTFS-3G并重新安装。
如果 grub-mkconfig
遇到错误:
Warning: os-prober will not be executed to detect other bootable partitions
请编辑/etc/default/grub
文件并添加/取消注释:
GRUB_DISABLE_OS_PROBER=false
然后再试一次
9. 重启
通过键入exit
或按退出 chroot 环境Ctrl+d
。
可以选择手动卸载所有分区umount -R /mnt
:这允许注意任何“繁忙”分区,并使用fuser(1)查找原因。
最后,输入reboot
以下命令重新启动机器:systemd将自动卸载任何仍在安装的分区。记得移除(拔掉启动U盘)安装介质,然后使用root帐户登录新系统。
四、后续工作
1. 联网
安装网络管理软件。
注意: 各种网络管理组件是不能同时使用的。这里使用 NetworkManager
pacman -S networkmanager
# 如果dpcpcd或者iwd以启动,请禁用
systemctl disable dhcpcd
systemctl stop dhcpcd
# 使用networkmanager
systemctl enable --now NetworkManager
2. 更新系统
pacman -Syyu
3. 安装基本软件工具
pacman -S base-devel vim zsh git
# 若之前安装过则跳过。
4. 创建用户并授权
前面的操作都是以root用户身份进行,在windows下就是Administrator,所以你可以为所欲为,你都没见过 sudo 吧,但实际上,你会让管理员一直操作电脑吗?万一不小心删库呢,是不是要跑路了?
所以我们需要建立一个普通用户,我们使用这个用户登录系统并进行日常使用,也就是你装windows系统时会让你创建用户,一个道理。
# -m 是为其创建家目录,-G 指定 所属组
useradd -m -G wheel arch
# 设置密码
passwd arch
# 赋予权限
ln -s /bin/vim /bin/vi
visudo
# 现在是命令模式,输入 / %wheel 回车 找到这行,按 x 删除当前字符 '#'(取消注释)
%wheel ALL=(ALL) ALL
# :wq 退出
注意我们现在还是root,除非你退出同普通用户登录,或重启重登录。为了方便,我们继续以root身份完成后续安装过程。
5. 安装显示驱动
AMD显卡
pacman -S vf86-video-amdgpu
Intel显卡
pacman -S xf86-video-intel
6. 安装图形界面
安装Display Server(图形支持),这里用的是开源世界最为流行的xorg
pacman -S xorg
出现选择直接回车即可
安装Desktop Environment(桌面),推荐 KDE 或者 Gnome
- Gnome:
pacman -S gnome
- KDE:
pacman -S plasma kde-applications packagekit-qt5
# kde-applications 包含了kde桌面基本的应用程序,很齐全。如果你想最简化,这里只需要装最必要的
# pacman -S plasma dolphin konsole pckagekit-qt5
- Xfce:
pacman -S xfce4 xfce4-goodies
- DDE:
pacman -S deepin deepin-extra
安装Display Manager(登录界面)
这里需要按你要安装的桌面环境而定,这里没有列出的可以自己去ArchWiki查
推荐 sddm
Gnome:
pacman -S gdm
KDE:
pacman -S sddm
Xfce || DDE:
pacman -S lightdm lightdm-gtk-greeter
设置开机自动启动,以sddm为例:
systemctl enable sddm
如果是别的请将这里的sddm替换为你安装的那个
7. 添加archlinuxcn源
vim /etc/pacman.conf
去掉[multilib]一节中两行的注释,来开启 32 位库支持。
在文档结尾处加入下面的文字,来开启 ArchLinuxCN 源。
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
上面服务器的地址是中科大的,也可用下清华的。
最后:wq 保存退出,刷新 pacman 数据库
#cn源中的签名(archlinuxcn-keyring在archLinuxCn)
pacman -Syu && pacman -S archlinuxcn-keyring
安装yay(下载来自AUR的软件包)
pacman 和 yay 都是包管理工具,pacman 用于下载官方仓库的包,yay 用于下载aur里面的包。二者的命令参数什么的都是一样的,所以非常方便。
# 安装yay
pacman -S yay
8. 中文和输入法
- 安装中文字体
这一步不装进去图形界面之后还是要装:更纱黑体
#安装几个开源中文字体
pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
- 设置系统中文
打开 System Settings > Regional Settings > Language -> Add languages 中选择中文加入,再拖拽到第一位,Apply。
再将System Settings > Regional Settings > Formats 中的值设为中文-简体中文(zh_CN)
- 安装输入法
推荐,fcitix5, Fcitx5 官方文档
pacman -S fcitx5-im #基础包组
pacman -S fcitx5-chinese-addons #官方中文输入引擎
pacman -S fcitx5-pinyin-zhwiki #中文维基百科词库
pacman -S fcitx5-material-color #主题
设置环境变量 编辑文件 sudo vim /etc/environment
加入以下内容。konsole 以及 dolphin 都需要这些环境变量,倒是 chrome 和 firefox 都不需要就可以输入中文
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
打开 系统设置 > 区域设置 > 输入法,先点击运行Fcitx
即可,拼音为默认添加项,如果没有,你就选择添加一个新的,选择 拼音, 然后放置到第一位。。如你还需要更多输入法如五笔,则再点击添加输入法
,找到简体中文下的五笔 ,点击添加即可加入五笔输入法。
- 重启。

