Arch Linux 虚拟机安装指南

Arch Linux 虚拟机安装指南
Lay本指南将详细引导您在虚拟机中完成 Arch Linux 的安装与配置,并完整保留了操作过程中的详细步骤与说明。
一、准备工作
步骤 1:下载 Arch Linux ISO 镜像
首先,您需要从官方网站获取 Arch Linux 的安装镜像 (ISO 文件)。这是最安全可靠的来源。
- 官方下载页面: https://archlinux.org/download/
如何选择下载链接?
在下载页面,向下滚动找到 “HTTP Direct Downloads” 部分。这里列出了全球各地的镜像服务器。为获得最佳下载速度,建议中国大陆用户选择 “China” 分类下的镜像站点,例如:
- 清华大学开源软件镜像站:
https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/- 中国科学技术大学开源软件镜像站:
https://mirrors.ustc.edu.cn/archlinux/iso/latest/进入镜像站点后,点击以
.iso结尾的最新文件(如archlinux-2025.08.01-x86_64.iso)即可开始下载。
步骤 2:配置虚拟机
在您的虚拟化软件(如 VMware, VirtualBox)中创建一个新的虚拟机。以下是关键配置步骤的图文说明。
- 操作系统类型与命名


- 处理器与内存
分配的核心总数不要超过您电脑的逻辑处理器上限。内存建议分配 4GB 或以上。



- 硬盘
选择”创建新的虚拟磁盘”,建议容量为 50GB 或以上。

因为我们是新建的虚拟机,所以选择创建新磁盘,而不是使用现有磁盘。


- 完成创建
后续步骤若无特殊需求,保持默认推荐选项即可。


- 加载ISO并启动
在虚拟机设置中,将下载好的 Arch Linux ISO 文件加载到虚拟光驱中,然后启动虚拟机。

注意: 启动时如果出现如下提示,点击”否”即可。
完成以上设置后,启动虚拟机。
二、系统安装
步骤 1:启动进入安装环境
启动虚拟机后,会看到一个启动菜单。选择第一个选项 Arch Linux install medium,系统将自动加载并进入一个临时的命令行安装环境。

步骤 2:验证网络连接
Arch Linux 的安装过程需要网络连接。在虚拟机中,网络通常会自动配置好。您可以通过 ping 命令来测试网络连通性:
1 | ping archlinux.org |
如果能收到来自服务器的回复 (reply),则说明网络正常。按
Ctrl+C可以停止ping命令。
步骤 3:磁盘分区 (cfdisk)
这是整个安装过程中最关键也最容易出错的一步。我们将使用 cfdisk 这个相对友好的工具来为虚拟硬盘分区。
在终端中输入以下命令启动分区工具:
1 | cfdisk /dev/sda |
3.1 选择分区表类型
cfdisk首先会要求您选择分区表类型。对于现代计算机和UEFI启动,gpt是唯一正确的选择。直接按回车键确认即可。

3.2 创建分区
您现在会看到
cfdisk的主界面。我们将创建两个最核心的分区:一个用于启动 (EFI),一个用于存放系统 (根分区)。

第一步:创建 EFI 启动分区
这个分区是启动系统所必需的。
- 确保
>> Free space(空闲空间) 这一行被选中(它默认就是选中的)。 - 在键盘上,使用左右箭头键移动到屏幕下方的
[ New ]选项上,然后按 回车 (Enter) 键。 - 它会提示您输入分区大小
Partition size。请输入512M然后按 回车。(512MB 对于启动分区来说绰绰有余)。 - 创建后,您会看到一个新的分区
/dev/sda1。现在需要把它标记为启动分区。确保/dev/sda1这一行被选中,然后移动到下方的[ Type ]选项,按 回车。 - 在弹出的类型列表中,使用上下箭头键找到并选中
EFI System,然后按 回车。
做完这一步,您的屏幕看起来应该像这样:
Device Size Type/dev/sda1 512M EFI System
第二步:创建根 (Root) 分区
这个分区用来存放整个操作系统。
- 使用向下箭头键,选中剩下的那一行
Free space(大约 49.5G)。 - 和刚才一样,移动到下方的
[ New ]并按 回车。 - 它会再次提示输入分区大小。这次我们想用掉所有剩余空间,所以直接按回车即可,不需要输入任何数字。
- 创建后,您会看到第二个分区
/dev/sda2。它的默认类型Linux filesystem就是我们想要的,无需更改。
第三步:保存并写入更改 (最关键!)
到目前为止,所有的操作都还只是预演。必须执行”写入”操作才会真正生效。
- 移动到屏幕下方的
[ Write ]选项,按 回车。 - 它会用英文警告您,这个操作会把分区表写入磁盘。它会问
Are you sure you want to write the partition table to disk?(您确定要把分区表写入磁盘吗?)。 - 输入
yes然后按 回车 确认。

当您完成以上所有步骤后,您的分区方案如下:
分区 (设备) 大小 (Size) 类型 (Type) 用途 /dev/sda1512M EFI System 启动分区 (存放引导程序) /dev/sda2约 49.5G Linux 文件系统 根分区 (存放操作系统)
第四步:退出分区工具
- 移动到屏幕下方的
[ Quit ]选项,按 回车。 - 您将会退出
cfdisk工具,并返回到黑色的命令行界面。
步骤 4:格式化分区和挂载
分区完成后,需要对它们进行格式化,然后挂载到指定目录。
格式化 EFI 分区:
1
mkfs.fat -F32 /dev/sda1
格式化根分区:
1
mkfs.ext4 /dev/sda2
关于交换空间 (Swap) 怎么办?
您不用担心。我们可以在系统安装完成之后,在根分区里创建一个
swapfile(交换文件),这是比创建独立swap分区更现代、更灵活的方式。现在请先不要处理 swap 的问题。
接下来,开始挂载。
第一步:挂载根分区
这个命令告诉系统,
/mnt目录就是我们即将安装的 Arch Linux 的根目录 (/)。
1 | mount /dev/sda2 /mnt |
(执行这条命令后,如果没报错,就说明成功了)
第二步:创建启动挂载点
在刚刚挂载好的根目录里,创建一个叫
boot的文件夹。
1 | mkdir /mnt/boot |
第三步:挂载 EFI 启动分区
将您的 EFI 启动分区 (
/dev/sda1) 挂载到刚刚创建的/mnt/boot目录上。
1 | mount /dev/sda1 /mnt/boot |
第四步:检查挂载状态
当您完成以上全部三步操作后,可以输入以下命令来检查挂载状态:
1 | lsblk |
您应该会看到类似下面的输出,
sda1和sda2都有了对应的MOUNTPOINT(挂载点):
1
2
3
4 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 512M 0 part /mnt/boot
└─sda2 8:2 0 49.5G 0 part /mnt如果您的输出和这个结构类似,就说明挂载圆满成功,您可以进行下一步了。
步骤 5:更新镜像列表(可选但推荐)
为了在安装基本系统时获得更快的下载速度,建议先更新软件源镜像列表,优先使用国内的服务器。
1 | reflector --verbose --country China --age 12 --protocol https --sort rate --latest 6 --save /etc/pacman.d/mirrorlist |
步骤 6:安装基本系统 (pacstrap)
现在,我们使用 pacstrap 命令将 Arch Linux 的核心软件包安装到刚刚挂载好的根分区 (/mnt) 中。
1 | pacstrap -K /mnt base linux linux-firmware |
关于安装过程中的警告信息:
您可能会在屏幕上看到许多黄色的
WARNING: Possibly missing firmware for module: ...信息。
- 这是什么? 这是因为
linux-firmware包包含了海量硬件的固件,而安装程序检测到您的虚拟机环境并不需要其中大部分(例如服务器专用网卡的固件)。- 需要处理吗? 完全不需要。 这些警告是正常现象,可以安全地忽略,对您的系统没有任何影响。
三、系统配置
步骤 1:进入新系统 (arch-chroot)
安装完基本系统后,我们需要进入到这个新系统中进行配置。arch-chroot 命令可以让我们仿佛”登录”到 /mnt 目录下的新系统里。
1 | arch-chroot /mnt |
关键变化: 执行此命令后,您会发现命令提示符从
root@archiso ~ #变成了[root@archiso /]#。这个变化标志着您已经成功进入了硬盘上的新系统。从现在起,所有命令都将直接作用于您的系统。
步骤 2:设置时区
将系统时区设置为上海,并同步硬件时钟。
1 | ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
步骤 3:本地化 (Localization)
此步骤用于配置系统的语言和字符集。
安装文本编辑器:
1
pacman -S nano
编辑
/etc/locale.gen文件:1
nano /etc/locale.gen
在
nano编辑器中,您需要找到并取消注释(即删除行首的#)以下两行:en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8
Nano 操作技巧:
- 使用
Ctrl + W搜索关键字(如en_US.UTF-8)。 - 使用方向键和退格键删除
#。 - 完成后,按
Ctrl + X退出,程序会提示是否保存,按Y确认,然后按回车键确认文件名。
生成 Locale:
1
locale-gen
创建
locale.conf文件:此文件用于设定系统的默认语言。这里我们设为美式英语。
1
echo "LANG=en_US.UTF-8" > /etc/locale.conf
步骤 4:设置主机名
主机名是您的计算机在网络中的名字。
1 | echo "my-arch-vm" > /etc/hostname |
您可以将
my-arch-vm替换为您喜欢的任何名字。
步骤 5:设置 Root 用户密码
root 是系统的超级管理员用户,必须为其设置一个安全的密码。
1 | passwd |
按照提示,输入两次新密码。注意,输入时屏幕不会有任何显示,这是正常的安全机制。
步骤 6:安装并配置引导加载程序 (GRUB)
引导加载程序(Bootloader)是开机时第一个运行的软件,负责加载操作系统。
安装 GRUB 和相关工具:
1
pacman -S grub efibootmgr
部署 GRUB 到 EFI 分区:
1
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
生成 GRUB 配置文件:
1
grub-mkconfig -o /boot/grub/grub.cfg
四、完成安装与首次启动
步骤 1:退出 Chroot 环境并关机
所有配置已完成。现在可以安全地退出并关机了。
退出 Chroot:
1
exit
此时,命令提示符会恢复为
root@archiso ~ #。卸载分区:
1
umount -R /mnt
关机:
1
shutdown now
步骤 2:移除 ISO 并重启
在虚拟机完全关机后,务必在虚拟机设置中移除或断开 ISO 镜像文件,否则下次开机又会进入安装环境。
完成此操作后,重新启动虚拟机。
步骤 3:登录新系统
如果一切顺利,您将看到黑色的命令行登录界面。
- 输入用户名: 在
login:提示符后,输入root,按回车。 - 输入密码: 输入您之前为
root用户设置的密码,按回车。
成功登录后,您将看到 [root@my-arch-vm ~]# 这样的命令提示符。
恭喜!您已成功安装并登录了您亲手打造的 Arch Linux 系统。
五、网络配置故障排除
一、问题现象
在 Arch Linux 虚拟机完成基础安装后,执行以下操作时出现典型网络故障:
尝试更新系统时失败:
1
2
3# pacman -Syu
error: failed retrieving file 'core.db' from mirrors...
warning: failed to retrieve some files尝试进行域名解析时失败:
1
2# ping archlinux.org
ping: archlinux.org: Temporary failure in name resolution
此时,系统虽然具备基础网络功能,但无法访问互联网资源,表现为软件源连接失败和 DNS 解析错误。
二、根本原因分析
通过分层排查,我们可以定位问题的根源:
| 网络层次 | 命令/操作 | 现象/输出 | 结论 |
|---|---|---|---|
| 应用层 | pacman -Syu |
failed retrieving file |
无法访问软件源 |
| DNS 解析层 | ping archlinux.org |
Temporary failure in name resolution |
DNS 配置缺失或错误 |
| 网络管理服务 | systemctl status NetworkManager |
Unit NetworkManager.service could not be found |
未安装网络管理工具 |
| 物理链路层 | ip link show |
ens33: DOWN |
网卡未被管理或处于关闭状态 |
核心矛盾:系统因未安装网络管理服务(如 NetworkManager)而无法自动配置网络;而安装网络管理工具又必须依赖网络连接。这形成了一个典型的”初始网络配置死锁”。
三、解决方案
我们将分三个阶段解决此问题:
- 第一阶段:手动启用
systemd-networkd服务,建立临时网络连接。 - 第二阶段:解决
pacman镜像源访问缓慢或失败的问题。 - 第三阶段:安装并切换到功能更强大的
NetworkManager作为永久网络方案。
第一阶段:激活网卡并配置 systemd-networkd
这是解决问题的核心步骤。我们将手动激活网卡,并使用系统内置的 systemd-networkd 服务来自动获取 IP 和 DNS。
激活网络接口
运行以下命令,将名为
ens33的网卡从DOWN状态切换为UP状态。1
ip link set ens33 up
创建网络配置文件
使用
nano编辑器创建一个新的网络配置文件。1
nano /etc/systemd/network/20-wired.network
提示:如果提示目录
/etc/systemd/network不存在,请先创建它:mkdir -p /etc/systemd/network写入配置内容
在打开的
nano编辑器中,输入以下内容。这会告诉系统对ens33接口使用 DHCP(动态主机配置协议)来自动获取网络配置。1
2
3
4
5[Match]
Name=ens33
[Network]
DHCP=yes完成后,按
Ctrl+X保存,接着按Y确认,最后按Enter退出。启动网络与 DNS 服务
启动
systemd-networkd(负责网络连接) 和systemd-resolved(负责 DNS 解析) 两个核心服务。1
2systemctl start systemd-networkd
systemctl start systemd-resolved建立永久网络连接
要建立永久网络连接,需要启用服务以便在系统启动时自动启动:
1
2systemctl enable systemd-networkd
systemctl enable systemd-resolved说明:
start命令只在当前会话中启动服务,而enable命令会创建符号链接,使服务在系统启动时自动启动,从而建立永久网络连接。配置 DNS 解析文件
这是确保域名能被正确解析的关键一步。运行以下命令,将系统的 DNS 解析配置链接到
systemd-resolved生成的配置文件。1
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
验证网络连接
稍等几秒钟,然后测试网络。如果一切顺利,你应该能看到来自服务器的回应。
1
ping archlinux.org
看到回应后,按
Ctrl+C停止 ping。这表示临时网络已成功建立。
四、创建普通用户(推荐)
出于安全考虑,在日常使用中应避免以 root 用户身份登录系统。我们需要创建一个普通用户,并赋予其使用 sudo 命令获取管理员权限的能力。
创建用户账户
使用 useradd 命令创建一个新用户。我们以创建名为 myuser 的用户为例(请将 myuser 替换为您想要的用户名):
1 | useradd -m -G wheel -s /bin/bash myuser |
参数说明:
useradd:创建用户的命令-m:非常重要!同时创建用户的家目录(通常是 /home/myuser)-G wheel:将用户添加到 wheel 组,该组在 Arch Linux 中默认被配置为可以通过 sudo 获得 root 权限-s /bin/bash:设置用户的默认登录 shell 为 bashmyuser:要创建的用户名
设置用户密码
创建用户后,必须为其设置密码:
1 | passwd myuser |
系统会提示您输入两次新密码。输入时密码不会显示出来。
现在,您已经成功创建了一个具有 sudo 权限的普通用户。
使用普通用户登录
完成用户创建后,您可以使用新创建的用户登录系统:
- 输入用户名: 在
login:提示符后,输入您创建的用户名(如 myuser),按回车。 - 输入密码: 输入您之前为该用户设置的密码,按回车。
成功登录后,您将看到 [myuser@my-arch-vm ~]$ 这样的命令提示符。
如果您需要执行管理员操作,可以使用
sudo命令,例如:sudo pacman -Syu
通过使用普通用户账户,您可以提高系统的安全性,遵循最小权限原则。





