在 Hyper-V 中安装 Archlinux(上)
这既是一篇 Hyper-V 安装虚拟机的教程,也是一篇安装 Archlinux 的教程。
Archlinux 向来以“难安装”著称,一直以来是我心头的白月光。曾经用 Arch Liunx GUI 安装过一次并且用了很久,但是从命令行安装还真的没有完整尝试过,加之 Archlinux 在官方网站上提供了安装指南,所以再一次尝试一下 Archlinux 的安装。
先去搞一个 Archlinux 镜像
创建与配置虚拟机
Hyper-V 管理器概览
打开 Hyper-V 管理器,界面如图1-1所示

可以看到界面除了菜单栏外主要分为左中右三栏
- 左栏为 Hyper-V 管理服务器列表,可以添加远程管理器。图中只有本地 Hyper-V 管理器。
- 中栏为当前管理器下管理的虚拟机,虚拟机的检查点(快照),虚拟机的详细信息等三行消息。图中可以看到已经有两个虚拟机
i3wm-demo
和mininet
了(它们会在后面的文章中出现)。 - 右栏为操作栏,对选定的虚拟机可以执行相应的操作。
话不多说,我们开始吧。
创建虚拟机
在右栏中选择“新建→虚拟机→下一步”设置虚拟机名称和储存的位置,勾选“将虚拟机存储在其他位置”后可以选择一个C盘以外的位置(建议勾选,别把C盘撑爆)。如图1-2-1所示。
点击下一步,选择虚拟机版本,1代 Hyper-V 虚拟机显然是没二代好呀,选二代。如图1-2-2所示
点击下一步,设置虚拟机内存大小,这里我设置了6GB也就是6144MB内存。如图1-2-3所示
点击下一步,设置虚拟机的网络。默认设置中,虚拟机存在一个网卡,在后面的设置中可以添加网卡。默认设置中只有
Default Switch
一个交换机,所以就连接到它。如图1-2-4所示在后续的实验中,我们会创建新的交换机以及新的网卡来满足隔离、组网等需求。
点击下一步,创建虚拟磁盘,该磁盘就是虚拟机的磁盘了。默认名称和位置就好,改一下大小为32G,因为就是做实验嘛这么大够了,要是电脑存储不够,8G也能对付,再少就不太好了。如图1-2-5所示
点击下一步,选择安装介质,这里就选择我们刚刚下载的 Archlinux 镜像。如图1-2-6所示。
最后,点击“下一步→完成”即可完成虚拟创建。
设置虚拟机
你先别急,这里还需要几步配置才能启动虚拟机,不然后面有你急的
中栏选中新创建的虚拟机
archlinux-demo
,在右栏中选择设置,选择“安全”,取消“启用安全启动”的勾选,点击右下角“应用”保存设置。如图1-3所示这是安装 Linux 系统需要的操作,至于安装 Windows 和 MacOS,以及启动 Linux系统是否可以打开,大家可以尝试一下
安装 Archlinux
Archlinux,启动!(并连接)
Archlinux 安装的过程在安装指南及其附带的链接中有详细的叙述,但是文章过于冗长。本文着重记录其中的关键步骤,关键步骤按顺序包括:
- 连接互联网并更新系统时间
- 创建并格式化硬盘分区
- 设置镜像并安装系统
- 配置系统
连接互联网并配置时间
与 Ubuntu、Debian 的安装介质不同,Archlinux 安装光盘并不包含 Linux 系统的相关组件,所以需要从互联网下载,那么连接互联网是安装系统的基础。
在物理机上连接互联网有时候并不是一件很轻松的事情,特别是当互联网服务需要
Web
认证的时候(校园网:报我身份证号得了)。然而在虚拟机中倒是相当简单,Hyper-V
的默认交换机提供了 NAT 功能,只需要虚拟机通过 DHCP 获取 IP
即可连接到互联网。而 Archlinux 安装系统在启动过程中就启动了 DHCP
服务器,所以一切都不用配置。如果不放心,可以使用 ip link
查看网卡的 IP 地址情况,以及使用 ping bing.com
确认是否真的能联网。
联网后应当使用 NTP 服务同步时间,因为一些镜像站在本地时间(虚拟机的时间)与系统时间(镜像站的时间)差别过大的时候,无法同步消息。命令如下:
1 |
|
运行结果如图2-1所示:

创建并格式化硬盘分区
这是 Archlinux 甚至所有操作系统不可或缺的一步。主要分为:寻找可用设备、划分分区、格式化分区三步。
寻找可用设备
要查找系统中可用的存储设备,使用
fdisk -l
可以看到一些设备,其中结果中以rom
、loop
或者airootfs
结尾的设备可以被忽略。结果中以rpbm
、boot0
或者boot1
结尾的mmcblk*
设备也可以被忽略。一般情况下是以sd*
或者nvme*
结尾。运行结果如图2-2-1所示:划分分区
其次,使用分区工具在磁盘的空余空间上划分分区。对于 Linux 系统而言,至少需要:一个根分区,用于挂载根目录;对于 UEFI 启动模式,一个EFI系统分区。此外,还可以设置磁盘阵列等功能,实现更多特性。然而本实验中并不需要这样多的特性,本文中规划了三个分区:
分区 挂载点 类型 分区大小 /dev/sda1
/boot
EFI系统分区 1G /dev/sda2
/
Linux Root (x86_64) 16G /dev/sda3
/home
Linux文件系统 剩余空间 使用
cfdisk
对磁盘执行分区(Linux Root (x86_64)也可以换成Linux文件系统),结果如图2-2-2所示:格式化分区
最后,格式化各个分区,创建文件系统。文件系统是组织文件数据的方式,不同的文件系统有不同的特点。对于这里所分的三个分区,设置如下文件系统:
分区 文件系统 说明 /dev/sda1
fat32 EFI系统分区必须是fat32文件系统 /dev/sda2
ext4 Linux 默认文件系统,各方面属性很均匀 /dev/sda3
ext4 命令如下,运行结果如图2-2-4所示:
1
2
3mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
mkfs.fat -F 32 /dev/sda1
配置镜像并安装系统
前面说到 Archlinux 安装需要连接网络下载 Linux 相关的文件。而 Archlinux 提供的镜像远在海外,即使没有众所周知的原因,下载速度也会大打折扣,所以需要配置一下镜像。这里我使用了清华大学开源镜像站的 Archlinux 镜像,点击获取配置教程。
接着就该将 Archlinux 安装到磁盘中了。在安装之前需要将安装系统的磁盘挂载到系统中,且一定要按照层级顺序挂载目录,否则会出现无法访问目录的情况。以下是挂载的命令:
1 |
|
接着就是安装系统。首先先更新软件库,接着更新密钥环(如果长时间不更新密钥环会导致过期证书无法更新,软件安装检查过不了),最后一键安装系统。
1 |
|
这里说明一下 pacstrap
安装的几个软件包:
base
是必须的linux
可以选择其变种grub
和efibootmgr
是为了安装和管理 GRUB 启动器的包,后面会用到neovim
是为了防止没有趁手的编辑器。
如果你还想要安装其它软件(AUR仓库的得到后面安装了),可以直接在后面添加就完事了。
配置系统
系统已经安装完啦,下面我们应该来配置系统了。有两项工作要做,一是生成
fstab
,在后面的启动过程中如何挂载磁盘,二是配置 GRUB
引导器来引导操作系统。
生成
fstab
命令如下,结果如图2-2-5所示
1
genfstab -U /mnt >> /mnt/etc/fstab
配置 GRUB
首先切换到安装好的系统下面
1
arch-chroot /mnt
然后,安装 GRUB 并生成配置
1
2grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
善后工作
至此,Archlinux 已经完整地安装在你的虚拟硬盘中了。用
exit
退出安装好的 Archlinux 系统,再 poweroff
关掉安装系统以关闭虚拟机。设置启动顺序,这里需要将 DVD
驱动器删除,接着将 grubx64.efi
移动到最上面,保存设置后就算完成啦。最终结果如图3-1所示

下一篇主要介绍系统中桌面环境的安装及配置。