Arch Linux 安装笔记

最近在 VMWare 中安装了 Arch Linux。Arch Linux 的 Wiki 写得非常好,而且中文资料很丰富,加之 AI Chatbot 的帮助,安装过程总体上还是很顺利的。这里记录一下在安装指南中没有直接提到的一些细节,以及后续的一些配置。

VMWare 的配置

VMWare WorkStation Pro 目前对个人用户是免费的,您可以直接去官网下载安装。

安装完成后,创建一个新的虚拟机。然后按需求配置虚拟机硬件。两个特殊的配置是:我希望使用 UEFI 引导,所以需要在 虚拟机设置 -> 选项 -> 高级 -> 固件类型 中选择 UEFI;后续我希望安装 Hyprland,所以我还在 虚拟机设置 -> 硬件 -> 显示屏 -> 3D 图形 中勾选了 加速 3D 图形

确保您在 虚拟机设置 -> 硬件 -> CD/DVD (SATA) -> 连接 中选择了 使用 ISO 映像文件,并选择了您下载的 Arch Linux 镜像,就可以启动虚拟机,开始安装了。

安装过程

安装指南1.5 开始一步一步做到 1.8,然后进行 1.9 创建硬盘分区

磁盘分区

各种硬盘设备会被系统识别并分配为一个块设备,如 /dev/sda(此处 sd 表示 SCSI 硬盘,a 表示第一个)。

我们可以使用 lsblkfdisk 来查看这些块设备,此处我使用 fdisk

fdisk -l

按照指南中所说的:

结果中以 rom、loop 或者airootfs结尾的设备可以被忽略。结果中以 rpbm、boot0 或者 boot1 结尾的 mmcblk* 设备也可以被忽略。

我在此处看到的有效设备是 /dev/sda

lsblk 和 fdisk -l 的运行结果

接下来,我们就可以开始分区了。采用的是指南中的分区方案示例,具体如下:

  • /dev/sda1 为 EFI 系统分区,大小为 1GB,文件系统为 FAT32
  • /dev/sda2 为 Swap 分区,大小为 4GB;
  • /dev/sda3 为根分区,大小即剩余硬盘大小,文件系统为 ext4

这个分区方案是为 UEFI 引导准备的,所以有一个 EFI 系统分区。

FAT32ext4 是文件系统。前者较老但兼容性较好,EFI 分区必须使用 FAT32 以确保 UEFI 固件可读;后者是 Linux 默认的文件系统,功能更多性能更好。

我使用 fdisk 来进行分区。首先运行下面的命令来指定硬盘:

fdisk /dev/sda

进入 fdisk 后,我们可以使用以下命令来查看帮助、进行操作和保存:

  • m:查看帮助;
  • g:新建 GPT 分区表;
  • n:新建分区;
  • t:更改分区类型;
  • p:查看分区表;
  • w:保存并退出。

我们需要首先按下 g 创建一个 GPT 分区表。

下面,按下 n 创建一个分区。第一个分区是 EFI 系统分区。分区号回车默认为 1,起始扇区回车默认为 2048,结束扇区输入 +1G 后回车,这样就创建了一个大小为 1GB 的分区。然后按下 t 更改分区类型,输入分区号并更改类型为 EFI System

接着进行类似地操作,创建一个 Swap 分区,分区类型是 Linux swap

最后再创建根分区,按下 n 开始创建,结束扇区直接回车,这样就会占据剩余的硬盘空间。类型不需要手动修改,默认就是 Linux filesystem

分区完成后,按下 p 查看分区表,确认无误后按下 w 保存并退出。

分区完成后按下 p 的输出

可以用 lsblk 来查看分区情况。

格式化分区

分区完成后,就可以进行格式化操作,创建文件系统了。

在 EFI 系统分区上创建 FAT32 文件系统:

mkfs.fat -F 32 /dev/sda1

创建 Swap 分区:

mkswap /dev/sda2

在根分区上创建 ext4 文件系统:

mkfs.ext4 /dev/sda3

挂载分区

然后,我们需要挂载这些分区。首先挂载根分区:

mount /dev/sda3 /mnt

挂载 EFI 系统分区(指南中挂载到的位置是 /mnt/boot,但我查询了其他资料,似乎更建议挂载到 /mnt/boot/efi):

mount --mkdir /dev/sda1 /mnt/boot/efi

还需要激活 Swap 分区:

swapon /dev/sda2

可以用下面的命令来查看激活情况:

swapon --show

生成 fstab 文件

继续跟随指南完成 2 开始安装系统,然后进行 3 配置系统,在 3.1 生成 fstab 文件 时,我们需要生成一个 fstab 文件。fstab (File System Table) 文件的作用是告诉系统如何挂载和使用文件系统。

我们可以使用下面的命令来生成 fstab 文件:

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

含义如下:

  • genfstab 是生成 fstab 文件的工具
  • -U 表示使用 UUID 来标识设备(比设备路径更可靠)
  • /mnt 是当前挂载的目标系统
  • >> 表示将输出追加到文件
  • /mnt/etc/fstab 是生成的 fstab 文件的位置

chroot 到新安装的系统

到目前位置,我们实际上都是在 Live CD 环境中操作的,此时的 / 是 Live CD 的根目录。为了进入新安装的系统,我们需要 chroot 到新安装的系统。

在前面的操作中,我们已经挂载了根分区到 /mnt,所以我们只需要 chroot/mnt 即可。运行下面的命令:

arch-chroot /mnt

此处并没有直接使用 chroot 命令,而是使用了 arch-chroot 命令。这是 Arch Linux 提供的一个脚本,它会自动地进行包括挂载 /proc/sys/dev/run 到新系统在内的一系列操作,使用起来更方便。

安装引导程序

接着跟随指南到 3.8 安装引导程序,我们来安装 GRUB

首先安装必要的包:

pacman -S grub efibootmgr

然后安装 GRUB:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB

后续配置

添加新用户

让我们来添加一个 sudo 用户。运行下面的命令创建一个名为 username 的用户并将其添加进 wheel 组:

useradd -m -G wheel username

另一些有用的命令:

# 查看某用户所属的组
groups username

# 将现有用户加入 wheel 组
usermod -aG wheel username

然后编辑 /etc/sudoers 文件,可以这样做:

EDITOR=vim visudo

# 然后在打开的文件中找到并取消下面这一行的注释
# %wheel ALL=(ALL:ALL) ALL

虚拟机工具

我在 VMWare 中安装了 Arch Linux,配合虚拟机工具可以更方便地使用虚拟机。但我没有选择 VMWare 官方提供的版本,而是使用了 open-vm-tools

# 安装 open-vm-tools
pacman -S open-vm-tools

# 如果你使用图形界面,还需要安装
pacman -S gtkmm3 xf86-video-vmware xf86-input-vmmouse

# 启用服务
systemctl enable vmtoolsd
systemctl start vmtoolsd

# 如果需要共享文件夹功能,还要启用这个服务
systemctl enable vmware-vmblock-fuse
systemctl start vmware-vmblock-fuse

Hyprland

后续我还尝试安装了 Hyprland。不同于我们日常使用的浮动式窗口管理器,它是一个平铺式窗口管理器,这意味着,窗口会以方格的形式排列在屏幕上,永远不会重叠。

此次安装我没有自行配置,而是使用了 illogical-impulse。未来我可能会尝试自行配置。

参考资料