安装 Arch Linux 到 VMware Workstation 的完全指南

Arch Linux 是一款非常受欢迎的发行版,基于它所提供的基本系统,用户可以自由地搭建一款真正个性化的操作系统。但 Arch Linux 并不是用户友好型的操作系统,它的基本操作是基于命令行的,所以很多人认为 Arch 难安装,原因就是它没有图形化安装程序,不像 Ubuntu、Fedora 这类发行版可以"下一步、下一步"完成安装。

而本文就是对 Arch Linux 的安装做的一个完全的指南。

安装 VMware Workstation Pro

在桌面虚拟化领域,Oracle 的 VirtualBox 和 Broadcom 的 VMware Workstation 是两款最主流、最强大的工具。其中 VirtualBox 遵循 GPLv2 开源协议,对任何用户都完全免费。而 VMware Workstation 之前是收费的,不过自 2024 年 5 月起,VMware 宣布其旗舰产品 VMware Workstation Pro 对个人使用完全免费。

虽然免费了,但是其下载链接也变得更难以找到了,而且要下载还需要登录。其地址为:https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion

登录后就能够找到可下载的 VMware Workstation Pro:

这里我使用最新的 25H2 版本 VMware Workstation Pro 虚拟机。

如果不想注册,可以选择 VirtualBox,对于个人使用来说,使用体验也没有太大差别,而且VirtualBox 可以很容易地从其官网下载到:https://www.virtualbox.org/

下载 Arch Linux

在下载 Arch Linux 之前,咱们必须先了解一下 Arch 社区。

大多数 Linux 发行版都有"前辈",是基于更早的发行版演变而来的。比如 Linux Mint 基于 Ubuntu LTS,而 Ubuntu 又源于 Debian;Fedora 归属于 Red Hat 家族;Manjaro 和 EndeavourOS 则是基于 Arch Linux。但如果追溯这些发行版的起源,会发现只有少数几个最早独立开发的 Linux 发行版,比如 Slackware、Gentoo、Red Hat/Fedora、Debian 和 Arch。

与其他发行版不同,Arch 没有企业赞助或商业化运作,完全由社区驱动。它不需要从上游继承改动,也不会受商业决策影响,能够完全按照自己的理念构建和维护。这种自由度,使得 Arch 始终坚持其核心哲学:简洁(Simplicity)、自由(Freedom)、用户掌控(User Control)。

正是由于其极简的理念,在安装完 Arch 后,你会发现系统里只有最基本的核心组件,没有任何额外的软件。不像 Ubuntu、Fedora 这类发行版默认提供完整的桌面环境和应用,Arch 不会默认安装网络管理工具、桌面环境、甚至 GUI。它从一开始就给你一个完全干净的系统,让你可以根据需求定制自己的系统。如果你想要 GNOME、KDE、i3 或 Sway,需要自己安装配置。

因此如果你是第一次安装 Arch Linux,那么这将会是一个挑战,你需要耐心、耐心和耐心。否则,尝试体验 Arch Linux 只会给你带来挫败感。

Arch Linux 的官网为:https://archlinux.org/

这里我们可以很容易下载到 Arch Linux 的 ISO 镜像文件。

创建 VMware 虚拟机

安装完 VMware Workstation Pro 之后,我们先新建一个虚拟机。在创建虚拟机时,有一个步骤需要注意,就是在选择客户机系统时,需要选择 Linux,并在下拉列表中选择 Other Linux 6.x kernel 64-bit:

以下是我创建的虚拟机的配置,各位可作参考:

创建完虚拟机后,我们指定 CD/DVD 的内容到刚才下载好的 Arch 镜像文件,然后就可以启动了:

安装 Arch Linux

打开刚刚创建的虚拟机之后,在第一个界面,直接选择第一个选项启动:

启动后,我们就进入到了 Arch 的 live 环境(安装环境),更准确地说,这是从 ISO 启动的临时运行系统,运行在内存里的最小 Arch 用户空间。

此时还并没有使用虚拟机的硬盘,这个环境的文件系统是挂载在内存中的。我们将在这个环境中完成 Arch 的安装。

事实上,这就是 Arch 的保持简单的哲学体现,因为图形界面只是可选项,所以 Arch 只给用户提供了一个最小的环境,所有的安装操作都需要在命令行中完成。因此这也让人觉得 Arch 的上手难度很高。

Arch 的官方文档也有安装指南:https://wiki.archlinux.org/title/Installation_guide

这里我们就捡必要的几步来说明,而其中最重要的,莫过于对硬盘进行分区了。

创建硬盘分区

我们可以通过以下命令来查看系统中的硬盘:

复制代码
fdisk -l

在我们的虚拟机中,能看到 /device/sda :

结果中以 rom、loop 或者 airootfs 结尾的设备可以被忽略。

下面我们就对这个硬盘进行分区。由于我的 VMware Workstation 创建的虚拟机默认的固件都是 BIOS 模式,因此这里我们创建两个分区就行:一个挂载到 swap 作为交换空间,另一个就直接挂载到根目录上。

这里有几个概念,可以通过下面的文章了解一下:
从 BIOS 到 UEFI:PC 固件的演变
MBR 和 GPT 区别

使用 fdisk 创建分区其实很简单:

  • 输入 m,查看操作提示;
  • 输入 F,列出未分区的磁盘空间;
  • 输入 n,创建新的分区,进入分区流程后按提示进行操作;
  • 输入 w,保存分区的操作并退出 fdisk;

下面是使用 fdisk 对硬盘进行分区的所有流程:

复制代码
root@archiso ~ # fdisk /dev/sda

Welcome to fdisk (util-linux 2.41.3)
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n       //创建一个新分区流程
Partition number:             //默认分区号是1,直接回车即可
First sector:                //起始扇区位置,直接回车即可
Last sector: +4G             //分区大小,设置为4G
Current type is 'Linux'

Command (m for help): t       //更改第一个分区的类型
修改分区类型为 swap(82)

Command (m for help): n       //创建一个新分区流程
Partition number:             //默认分区号会变成2,直接回车即可
First sector:                //起始扇区位置,直接回车即可
Last sector:                 //分区大小,直接回车就会占用硬盘剩余空间
Current type is 'Linux'

现在我们已经有两个分区了,一个 4G 的分区作为 swap 交换空间;另一个分区挂载到根目录上。下面就需要对这两个分区进行格式化了。

格式化分区

创建分区后,必须使用合适的文件系统对每个新创建的分区进行格式化。

格式化交换分区的命令如下:

复制代码
mkswap /dev/sda1

在根分区上创建 ext4 文件系统的命令如下:

复制代码
mkfs.ext4 /dev/sda2

挂载分区

将根磁盘挂载到 /mnt:

复制代码
mount /dev/sda2 /mnt

对于交换分区,需要使用 swapon 启用它:

复制代码
swapon /dev/sda1

稍后 genfstab 将自动检测挂载的文件系统和交换空间。

选择镜像站

安装 Arch Linux 时会下载很多软件包,需安装的软件包会从文件 /etc/pacman.d/mirrorlist 中所列的镜像站下载。下载软件包时,列表中越靠前的镜像站会拥有越高的优先级。

如果你直接打开这个文件,会发现里面的包含了所有的国家的地址,受限于中国的网络环境,使用特别的地址列表会比较好。下面的代码将下载一份位于中国大陆的 HTTPS 镜像站:

复制代码
curl -L 'https://archlinux.org/mirrorlist/?country=CN&protocol=https' -o /etc/pacman.d/mirrorlist

这个下载好的文件包含了大陆的镜像站点,不过其内容都是使用 # 注释掉的,因此我们需要选择一些镜像站点放开:

复制代码
nano /etc/pacman.d/mirrorlist

此处注意,arch 的 live 环境中没有 vi,只有 nano。这里我选择了一个镜像站放开:

做好上面的几步之后就可以安装 Arch 到硬盘了。

安装 Arch 到硬盘

安装系统很简单,就是把 Arch Linux 的基本系统组件下载并安装到磁盘上。Arch Linux 官方推荐使用 pacstrap 脚本来安装基本系统。一个仅包含 Linux 内核和常见硬件固件的基本安装命令如下:

复制代码
pacstrap -K /mnt base linux linux-firmware

注意,这是一个最简安装方式,安装后的系统基本不包括其他应用程序。真的极简。

配置 Arch Linux

完成 Arch Linux 基本系统组件的安装后,还不能着急重启计算机,需要先进行一些基本配置。

生成 /etc/fstab 文件

fstab 文件用于记录系统启动时需要自动挂载的分区信息,Linux 操作系统会根据 fstab 文件的内容把硬盘的各个分区正确地挂载到目录树上。例如根目录分区需要挂载到根目录下,交换分区需要挂载到 swap 交换空间下,这些信息都是记录在 /etc/fstab 文件中的。

刚完成安装的 Arch Linux 还没有自己的 fstab 文件,需要使用以下命令来生成它:

复制代码
genfstab -U /mnt > /mnt/etc/fstab

在生成后,可以用 cat 检查一下 /mnt/etc/fstab,看其是否正确。

切换到新系统

接下来的步骤需要在刚刚安装的新的系统中进行配置,我们需要下面的命令,切换到新安装的系统:

复制代码
 arch-chroot /mnt

在新系统中,我们会使用到一些软件,可以通过 pacman 先安装上:

复制代码
pacman -S nano                # 安装文本编辑器
pacman -S networkmanager      # 安装网络管理软件

设置时间和时区

默认情况下,通过 hwclock 显示的时间是不对的,这主要是时区的关系。对于中国来说,需要使用下面的命令来调整时区到北京时间:

复制代码
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime        # 注意这里是上海而不是北京
hwclock --systohc    # 同步系统时钟

配置区域和本地化设置

程序和库如果需要本地化文本,都依赖区域设置,后者明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。

Linux 操作系统使用 locale 程序来管理系统的多语言环境,其配置信息保存在 /etc/locale.conf 文件中。因此,需要通过编辑 locale.gen 来生成 locale 信息,然后再创建 /etc/locale.conf 文件。

需要依次执行下面的指令:

复制代码
nano /etc/locale.gen        # 编辑 locale.conf 文件,取消下面两行前面的 #,以取消注释
                            # 找到 en_US.UTF-8 UTF-8 这一行,取消注释
                            # 找到 zh_CN.UTF-8 UTF-8 这一行,取消注释
locale-gen         # 生成 locale 信息
echo LANG=en_US.UTF-8 > /etc/locale.conf    # 创建 locale.conf 并写入英文语言环境

配置主机名

计算机的主机名会显示到系统的命令提示符上,因此读者可以自行命名计算机。

创建文件 /etc/hostname,然后将主机名添加到该文本中:

复制代码
nano /etc/hostname

设置 root 密码

目前系统中只有一个 root 用户,为了后续登录,需要设置 root 用户密码:

复制代码
passwd

安装引导程序

安装引导程序的时候,需要先考虑计算机的启动方式,UEFI 与 BIOS 安装引导程序的方式是不一样的。我的 VMware 创建的虚拟机是 BIOS 的,因此可以使用以下步骤来安装 GRUB:

复制代码
pacman -S grub os-prober                            # 安装 GRUB
grub-install --target=i386-pc --recheck /dev/sda    # 安装 GRUB 到硬盘

GRUB 安装完成后,还需要执行以下命令生成配置文件:

复制代码
grub-mkconfig -o /boot/grub/grub.cfg

重新启动

再完成上述配置之后,就可以先卸载分区,重启计算机了:

复制代码
exit
umount -R /mnt
reboot

重启后输入用户 root,以及刚刚设置的密码,就可以进入到 Arch Linux 了:

写在最后

如果是第一次安装,即使按照上述所有步骤来,也肯定会碰到很多坑,此时最好的办法就是借助 ChatGPT 这种 AI 工具来帮助解决问题了。而当你安装完成后,面对单调的命令行屏幕,可能会产生巨大的失落感,因为你还无法拿这个系统做任何事情。你还要配置的东西有很多,所以不要担心安装 Arch 时碰到的问题太少,你以后使用 Arch 会碰到更多的问题。

有人会说,这样的系统有什么用呢,费那么大的劲安装,结果还不能立即使用。确实,如果不进行一番装修,这系统确实没什么太大的用,因此 Arch 往往也被称为邪教。因此有人也说,Arch 的流行就是一小撮人的自嗨而已。其实不仅是 Arch,几乎所有的非主流的 Linux 发行版,在商业上都不是那么的成功。而这些发行版的开发者,似乎每个人都想特立独行地构造一个全新的系统,而不是为现有系统添砖加瓦,以至于 Linux 的发行版五花八门,说好听点是百花齐放,说难听点就是不断地造轮子,正方形的轮子,三角形的轮子、椭圆形的轮子等等。而 Linux 的真正使用者,也只是那几个老牌的发行版,而且都是运行在服务器上。真正个人桌面使用 Linux 作为生产力工具的,也只有 Ubuntu 了吧。

很多 Linux 的拥趸总是会把 Linux 在服务端的统治地位作为自己使用各种不同发行版的理由,以彰显自己的聪明和远见,实际上只是满足自己的虚荣心而已:似乎自己使用的系统不同于平常人,就能在电脑桌面上找到优越感。甚至越是难用、越是从零开始的系统越受其追捧,好像是毛胚房里被水电工打了一颗钉子就会让他们直接卖房走人一样。

系统是要服务与人的,总是让人折腾的系统不会是个好系统,安装个输入法都能崩溃的系统更不是个好系统。不过有些人就是喜欢折腾,成就感也在折腾中产生。

相关推荐
香蕉你个不拿拿^2 小时前
Linux粘滞位和文件,目录权限
linux·运维·服务器
2401_858286113 小时前
OS52.【Linux】System V 共享内存(1)
linux·运维·服务器·共享内存
wbs_scy3 小时前
Linux 实战:从零实现动态进度条(含缓冲区原理与多版本优化)
linux·运维·服务器
之歆4 小时前
Linux 网络配置与 TCP/IP 协议
linux·网络·tcp/ip
REDcker4 小时前
curl开发者快速入门
linux·服务器·c++·c·curl·后端开发
成震19714 小时前
UBUNTU 安装虚拟机
linux·运维·ubuntu
海盗猫鸥4 小时前
Linux基础指令1
linux·服务器
最贪吃的虎4 小时前
windows上如何可视化访问并远程操作linux系统上运行的浏览器或者linux可视化桌面
java·linux·运维·windows·分布式·后端·架构
mzhan0174 小时前
Linux: socket创建之后 interface down 然后再up起来
linux·运维