zzxworld

VirtualBox 虚拟机体验 Arch Linux 基础安装小记

Arch Linux 是我继 Ubuntu 后比较关注的一个桌面级 Linux 发行版本。不过关注归关注,一直没怎么付诸行动。近些年 Ubuntu 日渐臃肿的姿态终于让我下定决心要抛弃它了,准备转投 Arch Linux。

稳妥起见,我没有选择直接实机安装。而是准备先在虚拟机上安装并体验这个 Linux 系统,并慢慢引入一些日常的工作事项,直到确定没问题了再开始实机安装。本文是这项工作的一个开端,先尝试在虚拟机上安装一个最基础的 Arch Linux 系统。

准备工作

在开始安装 Arch Linux 之前,需要先下载安装映像文件并创建好虚拟机环境。我使用的是免费的虚拟机软件: VirtualBox。如果有兴趣了解这个软件的安装和使用,可以参考下面这篇文章:

下载安装镜像

下面是 Arch Linux 官方的安装文件下载地址:

点击并打开这个页面后,可以看到目前 Arch Linux 最新的版本和下载包的文件信息。往下翻页,在页面下方有各个国家可用的下载加速镜像。

选择距离自己所在位置最近的加速镜像可以有效提升安装包的下载速度,我们找到 "China",然后选择其中一个任意可用的加速镜像地址,比如 163.com。

点击镜像链接后,就会打开一个类似文件列表的页面,我们选择 iso 后缀的那个文件,直接点击文件名称进行下载操作。

screenshort 1

创建虚拟机

VirtualBox 是一个开源免费的虚拟机软件。下载后安装,创建一个新的虚拟机,并把上面下载的 ISO 文件加载到启动光盘。

安装 Arch Linux

启动虚拟机,一切操作正常的话,开机后会看到如下画面:

screenshort 2

通过上下方向键可以自由选择相关的菜单。选择第一项“Arch Linux Install medium (x86_64, BIOS)“,按回车键确认,进入 Arch Linux 的安装环境。

screenshort 3

磁盘分区

开始正式安装系统前,需要先对硬盘做分区操作。这需要指定可操作的硬盘,可以通过以下命令来确定当前系统有哪些可用的硬盘设备:

fdisk -l

命令会返回类似如下的输出结果:

screenshort 4

其中 /dev/sda 就是一个可用的硬盘设备。记下这个名称,等下分区时会用的上。在正式开始分区前,需要先确定好分区规划。

对于正式使用的场景,我会建议你多参考一些 Linux 分区方案,可以使日后在磁盘的利用方面更加妥当。不过对于本文仅做体验的场景,我自己的方案如下:

  • 一个交换分区,大小为 1 GiB。
  • 最后所有的空间都留给根分区。

如果不熟悉 Linux 分区的相关概念,可以通过查看这篇文章来了解:《Linux 硬盘分区指南》。

有了分区方案,输入以下命令开始分区操作:

fdisk /dev/sda

命令执行后,会进入如下界面:

screenshort 5

这就是 fdisk 提供的分区操作界面了,通过如下操作来创建一个 1 GiB 的交换分区:

  1. 输入 n 新建分区。
  2. 输入 p 新建主分区。
  3. 分区编号输入 1
  4. 开始扇区不用输入,直接回车键进入下一项。
  5. 结束扇区输入 +1G

然后用同样的流程完成主分区的创建。这一步的分区号为 2,后面的扇区输入都保持空,然后直接回车键就可以了,程序会自动分配剩余的所有空间。

以上操作完成后,输入 w 写入分区信息。然后再次输入 fdisk -l 命令,会发现输出信息中多了如下内容:

screenshort 6

这说明分区操作成功了。

格式化分区

硬盘分区后,还需要做格式化操作。Linux 针对不同的分区类型,提供了有不同的格式化命令。首先来格式化交换分区:

mkswap /dev/sda1

主分区使用 ext4 格式的分区:

mkfs.ext4 /dev/sda2

挂载分区

完成分区格式化后,接下来需要挂载分区。首先挂载根分区:

mount /dev/sda2 /mnt

然后启用交换分区:

swapon /dev/sda1

安装系统

完成了以上磁盘操作步骤,就可以正式开始安装 Arch Linux 系统了。不过开始之前,为了提升安装包的下载速度,可以通过以下命令自动选择并配置 5 个国内可用的软件仓库镜像源地址:

reflector \
    --save /etc/pacman.d/mirrorlist \
    --country China \
    --protocol https \
    --latest 5

然后安装基础软件包,Linux 内核,常见硬件的固件和常用软件工具:

pacstrap /mnt base linux linux-firmware vim sudo

等待安装完成。

结束后,生成新的自动挂载文件,并写入到新安装的系统:

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

然后进入到新安装的系统:

arch-chroot /mnt

接下来,将开始对新系统做配置操作。

配置 Arch Linux

配置网络

安装网络 DHCP 动态 IP 软件包和网络管理软件包:

pacman -S dhcpcd networkmanager

启用相关服务:

systemctl enable dhcpcd
systemctl enable NetworkManager

配置时区

Arch Linux 默认为 UTC 时区,调整为国内时区使用下面的命令:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

配置本地字符编码

  • 编辑 /etc/locale.gen 文件,取消 en_US.UTF-8 UTF-8 这一行前的注释信息。
  • 执行 locale-gen 命令生成本地字符集信息。
  • 创建 /etc/locale.conf 文件,内容为:LANG=en_US.UTF-8

使用 en_US.UTF-8 而不使用中文字符编码的原因是为了避免系统输出无法显示的中文信息,以方便排查问题。

配置用户

设置 root 账号密码:

passwd

添加新的普通用户,并加入到 wheel 用户组,以方便使用 sudo 命令来执行一些需要超级用户权限的操作:

useradd -m -G wheel -s /bin/bash zzxworld

最后面的 zzxworld 是新用户名称,需要自己定义。

编辑 /etc/sudoers 文件,移除 # %wheel ALL=(ALL) ALL 这一行前的井号,使 wheel 用户组的用户都可以正常执行 sudo 命令。

给新用户设置密码:

passwd zzxworld

再次提示:最后面的 zzxworld 是上面创建的新用户名称,请替换成自己的。

配置系统引导程序

安装 GRUB 启动加载器:

pacman -S grub

安装 GRUB 引导信息至指定的硬盘:

grub-install --recheck /dev/sda

生成并写入 GRUB 配置信息:

grub-mkconfig -o /boot/grub/grub.cfg

登录新系统

完成以上步骤后,Arch Linux 的基础安装工作就完成了,可以尝试退出安装环境并进入新系统。

首先输入以下命令退出 chroot 环境:

exit

然后卸载之前挂载的分区:

umount -R /mnt

把挂载的安装镜像文件取消,然后重新启动系统。正常的话,应该会看到新的启动选项选择界面:

screenshort 7

直接按回车键,就可以进入新安装的 Arch Linux 系统了。

继续深入

2021-09-02 更新:安装好基础的 Arch Linux 系统后,如何安装图形化桌面程序,以及搭建开发环境的过程已经记录成文,有兴趣的朋友可以通过下面的链接进入查看。

2021-09-12 更新:经过几天的虚拟机体验后,我在自己的 Intel NUC 上实机安装了 Arch Linux。过程中踩了一些虚拟机安装时不会碰到的坑,还好都顺利解决了。如果你也准备实机安装 Arch Linux,请不要错过这篇过程和经验总结。