2489 字
12 分钟
ArchLinux安装指南备忘录

准备好最新的ISO镜像#

可以从这里下载。

使用U盘引导#

我使用的是Ventoy。

SGX错误导致不能从启动盘启动#

错误比较玄学,不懂原理。解决方法,使用grub引导进入iso。

换源#

使用vim修改/etc/pacman.d/mirrorlist,修改为Server = http://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch

联网#

有线网开机后自动配置无需联网。无线网需要连接wifi。

使用ip link检测网络接口#

一般情况下无线网络接口为wlan x,一般为wlan0。

使用iwctl认证无线网络#

使用方法:使用iwctl进入交互界面。(一定要注意dhcpd服务是否已经打开)

方法作用
help显示命令详情
device list列出所有wifi设备
station device_name scan使用某个设备扫描wifi
station device_name get-networks列出所有可用的网络
station device_name connect SSID连接到一个网络

连接完毕后验证#

使用ping baidu.com来检测连通性。

设置时间#

使用timedatectl set-timezone Asia/Shanghai

更新pacman缓存#

使用pacman -Syy

创建硬盘分区#

使用fdisk /dev/硬盘 来进行分区#

进入fidsk交互窗口之前,可以使用fdisk -l来查询设备上的硬盘有哪些。(忽略以 rom、loop 或者airootfs结尾和以 rpbm、boot0 或者 boot1 结尾的 mmcblk* 结尾的设备。)

建立挂载点 / 和 /boot 所对应分区,按需求建立SWAP分区#

建立的类型大小和挂载点对应关系见这里

本次采用GPT+UEFI模式,所以使用到EFI分区,更改分区类型#

更改分区类型,比如/分区为Linux filesystem类型,/boot为EFI System分区类型,SWAP为Linux swap分区类型。 在fdisk中 使用命令t更改。

格式化分区#

注意:这里操作的是分区不是硬盘 根目录所用分区使用mkfs.ext4 /dev/分区。 交换空间分区使用mkswap /dev/swap_partition。 EFI 系统分区使用mkfs.fat -F 32 /dev/efi_system_partition命令格为fat32格式。 注意:如果efi分区内已经有其他系统的efi记录则不要格式化,否则可能会破坏其他系统启动。

挂载分区#

注意:一定要按照顺序挂载 首先挂载根目录使用mount /dev/根目录分区 /mnt, 然后创建efi目录并挂载EFI分区使用mkdir /mnt/boot/efi && mount /dev/EFI分区 /mnt/boot/efi, 最后挂载swap分区swapon /dev/swap_partition(交换空间分区)

开始安装#

使用pacstrap -K /mnt base base-devel intel-ucode linux linux-firmware vim vi dhcpcd iwd net-tools NetworkManager如果有其他需要安装的软件一并写到后面。

这时候建议把一些中文字体一并安装好sudo pacman -S adobe-source-han-serif-cn-fonts adobe-source-han-sans-cn-fonts adobe-source-code-pro-fonts noto-fonts-cjk

配置系统#

生成 fstab 文件#

genfstab -U /mnt >> /mnt/etc/fstab

chroot 到新安装的系统#

arch-chroot /mnt

设置 root 密码#

passwd

重启继续配置#

启动网络相关服务并联网#

systemctl enable iwd dhcpcd并且start他们。 使用iwctl工具联网。

也可使用NetworkManager联网#

使用之前要start并且enableNetworkManager服务,注意大小写。然后使用nmtui联网,这个工具在装好字体后可以连接中文wifi。

检查mirrorlist是否正确#

之后运行pacman -Syyu更新pacman缓存。

添加普通用户并划分组别#

Terminal window
#创建新用户username并且使其加入到wheel组中
useradd -m -G wheel -s /bin/bash username
#更改密码
passwd username
#修改sudoers文件,使wheel用户组拥有使用sudo的权限
visudo
#然后取消%wheel ALL=(ALL) ALL这一行的注释,使其生效

更改时间#

更改时间首先需要更改时区,使用timedatectl set-timezone Asia/Shanghai。之后使用systemd-timesyncd来进行时间同步。把配置文件/etc/systemd/timesyncd.conf中的NTP字段改为如下。

NTP=0.cn.pool.ntp.org 1.cn.pool.ntp.org 2.cn.pool.ntp.org 3.cn.pool.ntp.org

然后

Terminal window
#启用ntp
timedatectl set-ntp true
#启用服务
systemctl enable systemd-timesyncd
CAUTION

如果使用Win/Linux双系统,每次开机系统时间可能错乱,因为 Linux 认为硬件时钟应该存储的是 UTC 时间,而Windows认为硬件时钟存储的就是当地时间。建议更改Linux理解硬件时钟的方式使用 sudo timedatectl set-local-rtc 1 --adjust-system-clock

bash自动补全问题#

在接下来的配置过程中,好多指令都很长,需要一个自动补全。archlinux 默认使用bash,我们可以安装一个 bash-completion 包来自动补全。如果想要安装过程中的那种补全效果可能需要安装 Zsh + Oh My Zsh。

使用引导工具(可选)#

如何使用rEFInd

安装完成后的网络问题#

此备忘录使用 NetworkManager 管理 iwd 配合 systemd-resolvconf 完成 wifi 的连接。注意不能使用 dhcpcd ,因为 dhcpcd 和 systemd-resolvconf 会冲突。

TIP

因为使用NetworkManager管理iwd,所以我们仅仅需要 systemctl enable NetworkManagersystemctl enable systemd-resolved,只需要自启动这两个服务即可。如果把 iwd 也自启动后,当 NetworkManager 想要调用时可能会端口占用或多次重复运行。使用 NetworkManager 时须在 /etc/NetworkManager/NetworkManager.conf 中注明使用 wifi 的后端为 iwd

Terminal window
[device]
wifi.backend=iwd

之后使用 nmtui 或其他的 NetworkManager 包工具,连接wifi。

安装完成后的蓝牙问题#

首先需要使用 sudo systemctl enable --now bluetooth 设置自启并启动,此时就可以使用 bluetoothctl 进行管理,但是太麻烦了,建议使用 blueman(GUI)bluetuith(TUI) 进行管理。

安装完成后的音频驱动问题#

在 archlinux 安装完毕后音频驱动 ALSA 就已经安装好了,我们可以选择安装 alsa-utils 安装一些实用工具。最好是安装一个音频服务器,我选择的是 PipeWire ,然后使用 WirePlumber 对他进行回话管理。

建议安装另外的 pipewire-pulse, pipewire-alsa, pipewire-jack 等包以获取更好地体验。

安装完成后的字体问题#

首先Linux系统中以大类字体为主:

  • Serif 衬线体,笔画末端有装饰小脚,适合长篇阅读。
  • Sans-serif 无衬线体,笔画平滑,现代感强,屏幕阅读最清晰
  • Monospace 等宽体,每个字符宽度一致,程序员写代码必用。

字体的命名方法#

后缀命名#

  • CJK: (Chinese, Japanese, Korean) 包含中日韩字符。
  • Nerd Fonts: 在原版字体基础上增加了成千上万个图标(如 GitHub 图标、文件夹图标),终端美化必装。
  • Variable (可变字体): 一个字体文件包含从细到粗的所有形态,不需要单独安装 Bold 或 Italic。

我们的配置主要以前两种为主

字重命名#

  • Light / Thin: 细体
  • Regular / Roman: 常规体
  • Medium / Semi-Bold: 中粗/半粗
  • Bold: 粗体

Linux Fonts替代原则#

在 Linux 中,有一个核心概念叫 Font Alias(字体别名)。 例如,Firefox 想要调用 Helvetica(这是苹果常用的字体),但你没安装。此时系统会根据配置文件进行“映射”:

Helvetica (请求) → Arial (第一替代) → Liberation Sans (开源替代) → Noto Sans (保底方案)

我的方案#

  1. 尽量使用苹果字体,不能用的使用其他字体补充
  2. 我的补充字体为:noto-fonts-cjk noto-fonts-emoji ttf-nerd-fonts-symbols ttf-liberation
  3. 苹果字体使用:苹方SC SF-Pro Monaco.ttf
  4. 把所有自己找到的苹果字体放到 /usr/share/fonts/apple/ 目录下(apple目录是我自己建的,名字随便取)
  5. 配置 ~/.config/fontconfig/fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test name="family"><string>monospace</string></test>
<edit name="lang" mode="assign"><string>en</string></edit>
</match>
<alias>
<family>sans-serif</family>
<prefer>
<family>SF Pro</family>
<family>PingFang SC</family>
<family>Noto Sans CJK SC</family>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Times New Roman</family>
<family>PingFang SC</family>
<family>Noto Serif CJK SC</family>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Monaco</family>
<family>Noto Sans Mono CJK SC</family>
<family>Symbols Nerd Font</family>
</prefer>
</alias>
</fontconfig>

注意#

  1. 复制 fonts 文件到指定目录时,需要把 bold,regular 等同一个字体不同字重全都复制到目录下。
  2. 在配置文件中有个 match ,因为当设置系统语言为 zh_CN 时,Fontconfig 在挑选字体时会开启一个“强匹配模式”,它会优先寻找声明了自己“支持中文(zh-cn)”的字体。但是 Monaco 声称自己并不支持中文,所以就算我们需要的是英文字母,系统也会自动跳过 Monaco,最后的结果可能会导致出现英文挤在一起。所以我们的match 的作用是当任何程序请求 monospace 字体时,Fontconfig 会强制把这个请求的语言属性标记为 en(英文)。这样系统就不会因为你处于中文环境而嫌弃 Monaco 了。

一些在配置中可能用得到命令

Terminal window
fc-match monospace //判断现在如果请求monospace字体,则会使用哪个字体
sudo fc-cache -fv //更改完 config 文件后强制刷新系统缓存
fc-list family //查看当前在字体缓存下系统可以识别到那些字体家族

更改系统语言为中文#

  1. sudo vim /etc/locale.genzh_CN.UTF-8 UTF-8en_US.UTF-8 UTF-8 解除注释。
  2. sudo locale-gen 生成locale。
  3. sudo nano /etc/locale.conf 修改为 LANG=zh_CN.UTF-8
  4. 重启系统。

安装显卡驱动#

  1. 安装 nvivia-open 包和 nvidia-ulity 包。
  2. 安装 nvidia-prime 包,用来给某些软件强制使用显卡渲染。
  3. (可选)使用 EnvyControl 配合上面的 nvidia-prime 控制显卡切换

firefox强制开启硬件加速#

  1. 确保 WebRender 已启用。导航到 about:support 并确认 合成 为“WebRender”,而不是 “软件WebRender”。
    • 可在 bout:config 中设置 gfx.webrender.all 为 true 强制启用硬件 WebRender。
  2. media.ffmpeg.vaapi.enabled 设置为 true 来开启 firefox 的 VAPPI 。
  3. 如果在 about:support 中硬件视频加速被错误代码 FEATURE_HARDWARE_VIDEO_DECODING_DISABLE 或 FEATURE_FAILURE_VIDEO_DECODING_TEST_FAILED 阻止,可以通过将 media.hardware-video-decoding.force-enabled=true 强制启用。
  4. 可以在播放视频的时候,使用 nvidia-smi 命令查看是否使用硬解。

安装rust#

  1. 安装 rustup 。
  2. rustup toolchain install stable

安装Paru#

  1. 确保已安装构建必需工具 base-devel git rust
  2. 克隆 paru 的 AUR 仓库:git clone https://aur.archlinux.org/paru.git
  3. 进入目录构建并安装 makepkg -si

Paru 不能换源,所以我们最好使用代理,可以安装 Clash meta recv,之后在命令行中激活临时代理:export https_proxy="http://127.0.0.1:xxxx"

对cpu限频#

安装 sudo pacman -S cpupower

sudo cpupower frequency-set -u 2600000 # 单位 kHz,2500000 = 2.6 GHz

可以使用 cpu-x 对其进行监控,看是否生效。

安装基本完毕#

参考教程#

官方安装指南 Linux用户管理 Linux修改权限控制

ArchLinux安装指南备忘录
https://fuwari.vercel.app/posts/archlinux安装指南备忘录/
作者
哈轰轰轰
发布于
2025-12-27
许可协议
CRAZY KF-C-V 5.0