AKR

在 UTM 中安装 Arch Linux

优先看官方 guide,本文是对 UTM/macOS 上特殊环境的补充说明。使用方法是阅读完本篇文章,再阅读官方文档。

坑1:无需配置网络

在启动的时候会看到若干报错指示无法连接到 archlinux.org,实际上是误报,UTM 会配置好网络,Arch Linux 的安装过程不需要使用 iwctlip 命令来配置网络。

坑2:时区配置

默认是 UTC 时间,需要设置为 Asia/Shanghai:

timedatectl list-timezones # 先看有哪些时区
timedatectl set-timezone Asia/Shanghai # 得知是 Asia/Shanghai 后设置时区

坑3:磁盘分区

默认推荐的 fdisk 对新手并不友好,建议使用 cfdisk。分区的大小和类型可以参考文档中的,我这里是把 boot 和 swap 都比推荐的大了一倍。

坑4:安装软件包

文档里是这么说的:

pacstrap -K /mnt base linux linux-firmware

实际上这样会缺非常多的包,导致启动之后连网都连不上,所以建议使用下面的命令:

pacstrap -K /mnt base base-devel linux linux-firmware efsprogs dhopod networkmanager vim neovim man-db man-pages texinfo

如果你非常不幸,在看到这个之前就把 arch 安装完了,你应该插入 livecd,重新进入 chroot 环境:

mount /dev/sda3 /mnt # 挂载根分区
# 然后执行 pacstrap 命令

坑5:安装 grub

文档有点模糊,这里讲的清晰一点。

pacman -S grub efibootmgr

然后 cd/boot 下面,执行:

# {ESP} 代指 EFI 系统分区的挂载点,在这个例子中是 /boot
mkdir {ESP}/EFI
# 根据系统的名字来创建目录,这里是 arch
mkdir {ESP}/EFI/arch
grub-install --target=x86_64-efi --efi-directory={ESP} --bootloader-id=arch

grub-mkconfig -o {ESP}/grub/grub.cfg

坑6:安装后没网

systemctl enable NetworkManager

如果你找不到 NetworkManager,请回到坑4,重新安装软件包。

坑7:你本来并不需要学习安装 arch

现代的 arch 提供了 archinstall 工具,可以用于自动化安装。类似的,从 archboot 下载的镜像也有自动化配置工具。