TL;DR:使用 EndeavourOS 的 LiveCD 可以与官方 ISO 一样安装 Arch Linux,还能享受 Gparted、浏览器、文字编辑器等图形界面软件的便利。
在数次尝试中,使用 Arch Linux 官方 LiveCD 的 tty 界面安装系统总是令我感觉十分不便,或许我还是需要一个带图形界面的安装器,但又不愿意抛弃命令行安装方法。然而,虽然 Arch Linux 并没有提供图形化 LiveCD,但是与其共享同一个软件库的 EndeavourOS 有啊!LiveCD 里带的工具也算比较全乎。
理论存在,开始实践。
分区
分区反倒是我觉得最困难的。
这一步要先考虑好将内核镜像装到 EFI 分区还是系统分区 /boot 里面(对应 EFI 分区的挂载点)。前者会多花至少 100MB 空间,但不管怎么样,都应该先保证 EFI 分区空间足够。联想给了一个仅 260MB 的 EFI 分区(/dev/nvme1n1p1),而且后面跟着的就是 MSR 和 Windows 系统分区,不敢动,所以选择后者,又不是不能用.jpg。
然后可以先将 Arch 的系统分区分出来了。我分了一个 Btrfs 分区(/dev/nvme0n1p2),有两个子卷 @ 和 @home,分别挂载到 / 和 /home。分区操作很容易使用 Gparted 搞定,然后在终端中输入:
sudo btrfs subvolume create /mnt/@
sudo btrfs subvolume create /mnt/@home
sudo umount -R /mnt
sudo mount -o subvol=@ /dev/nvme1n1p2 /mnt
sudo mount --mkdir -o subvol=@home /dev/nvme1n1p2 /mnt/home
sudo mount /dev/nvme1n1p1 /mnt/efi
1
2
3
4
5
6
|
sudo btrfs subvolume create /mnt/@
sudo btrfs subvolume create /mnt/@home
sudo umount -R /mnt
sudo mount -o subvol=@ /dev/nvme1n1p2 /mnt
sudo mount --mkdir -o subvol=@home /dev/nvme1n1p2 /mnt/home
sudo mount /dev/nvme1n1p1 /mnt/efi
|
这时候带一个桌面环境的 LiveCD 的优势又体现出来了:可以一边用 Gparted 看分区,一边在终端里操作。
安装
然后就是正常的安装流程了。换完源之后进入 root 账户,然后:
pacstrap -K /mnt base linux linux-firmware nano intel-ucode btrfs-progs networkmanager iwd man-db man-pages # 每人需要的包不同
genfstab -U /mnt >> /mnt/etc/fstab
1
2
|
pacstrap -K /mnt base linux linux-firmware nano intel-ucode btrfs-progs networkmanager iwd man-db man-pages # 每人需要的包不同
genfstab -U /mnt >> /mnt/etc/fstab
|
建议在生成完 fstab 之后检查一下,确定 btrfs 的子卷挂载点是对的。然后就是 chroot 进入新系统,设置时区和硬件时间:
arch-chroot /mnt
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
1
2
3
|
arch-chroot /mnt
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
|
以及本地化、主机名、密码等等,参考 Arch Wiki 就行了,不要忘了。也可以先 enable 一下 NetworkManager 和 iwd 的 service。
然后是引导器,我使用 rEFInd,先按照 Wiki 中的步骤安装即可,会自动添加 Btrfs 驱动。注意其 chroot 环境下会添加 LiveCD 的分区信息(而非新系统的),所以不如全图图掉,从 Arch Wiki 示例上换个新的 /boot/refind_linux.conf
(chroot 路径),以下配置已加入 Btrfs 子卷配置。
"Boot using default options" "root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw rootflags=subvol=@ add_efi_memmap initrd=@\boot\intel-ucode.img initrd=@\boot\amd-ucode.img initrd=@\boot\initramfs-%v.img"
"Boot using fallback initramfs" "root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw rootflags=subvol=@ add_efi_memmap initrd=@\boot\intel-ucode.img initrd=@\boot\amd-ucode.img initrd=@\boot\initramfs-%v-fallback.img"
"Boot to terminal" "root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw rootflags=subvol=@ add_efi_memmap initrd=@\boot\intel-ucode.img initrd=@\boot\amd-ucode.img initrd=@\boot\initramfs-%v.img systemd.unit=multi-user.target"
1
2
3
|
"Boot using default options" "root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw rootflags=subvol=@ add_efi_memmap initrd=@\boot\intel-ucode.img initrd=@\boot\amd-ucode.img initrd=@\boot\initramfs-%v.img"
"Boot using fallback initramfs" "root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw rootflags=subvol=@ add_efi_memmap initrd=@\boot\intel-ucode.img initrd=@\boot\amd-ucode.img initrd=@\boot\initramfs-%v-fallback.img"
"Boot to terminal" "root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw rootflags=subvol=@ add_efi_memmap initrd=@\boot\intel-ucode.img initrd=@\boot\amd-ucode.img initrd=@\boot\initramfs-%v.img systemd.unit=multi-user.target"
|
这时候图形界面的另一个优点就体现出来了,可以直接从 Arch Wiki 里方便地复制内容。这里的 PARTUUID 可以用 blkid
查看,输入 Btrfs 分区的 UUID 即可(子卷的你也找不到啊)。另外不要忘了针对性地更改 /efi/EFI/refind/refind.conf
(chroot 路径),以检测 Arch Linux initramfs 和 Btrfs 子卷。
确定步骤都正确走完了的话,就可以重启了。rEFInd 会自动把自己设为默认的。
后续工作
重新启动后当然是 tty 了,用 NetworkManager 连上网之后,就可以装些别的了。我装了这些:
sudo pacman -S gnome sudo vi adobe-source-han-sans-otc-fonts
1
|
sudo pacman -S gnome sudo vi adobe-source-han-sans-otc-fonts
|
仅供参考,有需要的自己装就行。