记一次安装 Arch Linux
制作 U 盘启动盘
推荐找个靠谱的 u 盘安装 ventoy。
ISO 文件可去 Arch 官网 下载, 一定要检验下载下来的文件的完整性, 如 sha256sums 等。 如果没问题,把 ISO 文件拷进 u 盘的数据分区即可。
安装
然后插着 u 盘启动电脑,按 f10 或 f12 进 BIOS 设置界面, 在设置里把引导模式改为 uefi only(或关掉 legacy、csm)。记得保存设置。然后进入 ventoy 菜单,选择刚刚的 ISO 文件。
禁用 reflector 服务
进入 Live 环境后,先禁用 reflector 服务,方便后续选择镜像。 运行:
1 |
|
可以检查一下是否成功禁用。
1 |
|
验证引导模式
用下列命令列出 efivars 目录:
1 |
|
如果命令结果显示了目录且没有报告错误,则系统以 UEFI 模式引导。 如果目录不存在,则系统可能以 BIOS 模式 (或 CSM 模式) 引导。
连接网络
通过以下代码连接网络。注意,Wifi 名不能为中文, 不然只能看到一堆方块, 当然也不能输入中文。
1 |
|
连接成功后可以 ping 一下检查网路连接
1 |
|
更新系统时钟
在 Live 环境中 systemd-timesyncd 默认启用,建立互联网连接后,时间将自动同步。当然可以再手动同步并确认。
1 |
|
修改 Mirror
修改 /etc/pacman.d/mirrorlist
文件(使用 vim 等)。把 China 相关的源放在最上面,可以适当保留其他源,不需要的使用 #
注释掉即可。
分区与格式化
以下操作具有风险性!!!
用 cfdisk
进行分区
1 |
|
具体分区大小和类型如下,因为后续使用 Btrfs 文件系统,所以根目录和用户主目录实际在一个分区上。
挂载点 | 分区 | 分区类型 | 建议大小 |
---|---|---|---|
/mnt/boot/efi | /dev/efi_system_partition | EFI System | 至少 300 MiB |
[SWAP] | /dev/swap_partition | Linux swap | 大于等于内存 |
/mnt | /dev/root_partition | Linux filesystem | 剩余空间 |
操作完后记得写入。可以使用 fdisk -l
查看分区情况。
格式化 EFI 分区
1 |
|
格式化 swap 分区。
1 |
|
格式化 btrfs 分区。
1 |
|
为了创建子卷,我们需要先将 Btrfs 分区挂载到 /mnt 下:
1 |
|
-t 选项后指定挂载分区文件系统类型
-o 选项后添加挂载参数: compress=zstd —— 开启透明压缩
创建两个 Btrfs 子卷,之后将分别挂载到 /
根目录和 /home
用户主目录:
1 |
|
复查子卷情况:
1 |
|
子卷创建好后,我们需要将 /mnt
卸载掉,以挂载子卷:
1 |
|
挂载
注意挂载的顺序:
1 |
|
可使用 df -h
和 free -h
复查挂载情况。
安装系统
使用 pacstrap
1 |
|
生成 fstab
1 |
|
复查:
1 |
|
Chroot
chroot 到新安装的系统:
1 |
|
其他工作
在 /etc/hostname
设置主机名(直接加入想取的主机名即可, 如 myarch)
/etc/hosts
添加以下内容:
1 |
|
设置时区:
1 |
|
然后运行 hwclock 以生成 /etc/adjtime
:
1 |
|
本地化:
- 编辑
/etc/locale.gen
,去掉en_US.UTF-8 UTF-8
以及zh_CN.UTF-8 UTF-8
行前的注释符号(#)。 - 执行
locale-gen
以生成 locale 信息。 - 向
/etc/locale.conf
加入LANG=en_US.UTF-8
(注意,不要在此设置为中文)。
为 root 用户设置密码:
1 |
|
安装引导
1 |
|
安装 GRUB 到 EFI 分区:
1 |
|
如果后续发现安装失败则尝试加入 removable
参数。
1 |
|
编辑 /etc/default/grub
文件:
- 去掉
GRUB_CMDLINE_LINUX_DEFAULT
一行中的quiet
参数 - 把
loglevel
的数值从 3 改成 5 - 加入
nowatchdog
参数
生成配置文件:
1 |
|
重启
输入 exit
或按 Ctrl+d
退出 chroot 环境。然后 umount -R /mnt
手动卸载被挂载的分区。拔掉 u 盘重启即可。