本次介绍在Hyper-V虚拟机上安装Arch Linux的方法,其它虚拟机平台类似。
1. 创建和启动虚拟机
1.1 下载ArchLinux安装镜像
先登录官网下载页面:[https://archlinux.org/download/].
然后根据喜好选择具体的下载链接,比如我选择通过国内网易163下载镜像文件:
[http://mirrors.163.com/archlinux/iso/2022.06.01/archlinux-2022.06.01-x86_64.iso].
1.2 创建虚拟机

新建一个虚拟机,选择Generation 2的UEFI方式启动,接着设置内存2048M,存储50G,配置网卡(安装过程需要联网下载文件),Installation Options选项中选择加载步骤1.1中下载的ISO文件。
点击完成后,就创建了一个虚拟机,选中虚拟机,鼠标右键选择”Settings -> Security”,禁用”Enable Secure Boot”功能,保存,启动虚拟机。

1.3 测试网络
启动完成之后,就进入了控制台界面,使用ping命令测试网络是否正常。
$ ping www.baidu.com -c 4 PING www.wshifen.com (45.113.192.102) 56(84) bytes of data. 64 bytes from 45.113.192.102 (45.113.192.102): icmp_seq=1 ttl=53 time=131 ms 64 bytes from 45.113.192.102 (45.113.192.102): icmp_seq=2 ttl=53 time=94.0 ms 64 bytes from 45.113.192.102 (45.113.192.102): icmp_seq=3 ttl=53 time=91.1 ms 64 bytes from 45.113.192.102 (45.113.192.102): icmp_seq=4 ttl=53 time=93.1 ms --- www.wshifen.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 91.123/102.347/131.195/16.687 ms
2. 分区
2.1 查看分区
$ fdisk -l Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/loop0: 688.21 MiB, 721641472 bytes, 1409456 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
2.2 创建分区
50G的存储空间,这里分为3个部分,如下表:
| No. | Area | Caps | Fromat |
| 1 | boot | 512M | FAT32 |
| 2 | swap | 4096M | – |
| 3 | / | 45.5G | EXT4 |
## 分区.
$ fdisk /dev/sda
Welcome to fdisk (util-linux 2.38).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x9842a669.
## 查看帮助.
$ Command (m for help): m
Help:
GPT
M enter protective/hybrid MBR
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
## 创建GPT分区表.
$ Command (m for help): g
Created a new GPT disklabel (GUID: D28F168D-BC76-E244-B6AC-FE77F9960EA1).
## 增加第1个新分区.
$ Command (m for help): n
Partition number (1-128, default 1): 1
First sector (2048-104857566, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-104857566, default 104855551): +512M
Created a new partition 1 of type 'Linux filesystem' and of size 512 MiB.
## 增加第2个新分区.
$ Command (m for help): n
Partition number (2-128, default 2): 2
First sector (1050624-104857566, default 1050624):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1050624-104857566, default 104855551): +4096M
Created a new partition 2 of type 'Linux filesystem' and of size 4 GiB.
## 增加第3个新分区.
$ Command (m for help): n
Partition number (3-128, default 3): 3
First sector (9439232-104857566, default 9439232):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (9439232-104857566, default 104855551):
Created a new partition 3 of type 'Linux filesystem' and of size 45.5 GiB.
## 改变第一个分区类型为EFI.
$ Command (m for help): t
Partition number (1-3, default 3): 1
Partition type or alias (type L to list all): 1
Changed type of partition 'Linux filesystem' to 'EFI System'.
## 查看分区情况.
$ Command (m for help): p
Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: D28F168D-BC76-E244-B6AC-FE77F9960EA1
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 9439231 8388608 4G Linux filesystem
/dev/sda3 9439232 104855551 95416320 45.5G Linux filesystem
## 写入分区表并退出.
$ Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
3. 格式化和挂载
3.1 格式化
## /dev/sda1格式化为FAT32格式.
$ mkfs.fat -F32 /dev/sda1
mkfs.fat 4.2 (2021-01-31)
## /dev/sda2格式化为SWAP.
$ mkswap /dev/sda2
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=ac0de06e-33cd-4533-b8f3-31268a41c606
## /dev/sda3格式化为EXT4格式.
$ mkfs.ext4 /dev/sda3
mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 11927040 4k blocks and 2981888 inodes
Filesystem UUID: de318dc5-0d09-459c-9a59-2904219d58d2
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done
3.2 挂载硬盘
$ mount /dev/sda3 /mnt $ mkdir /mnt/boot $ mount /dev/sd1 /mnt/boot $ swapon /dev/sda2 $ lsblk -a
4. 安装系统
4.1 添加国内源
$ vim /etc/pacman.d/mirrorlist
在原有的Server基础上,增加两个:
Server = http://mirrors.163.com/archlinux/$repo/os/$arch Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
保存退出,更新源:
$ pacman -Syy :: Synchronizing package databases... core 156.4 KiB 23.1 KiB/s 00:07 [################################] 100% extra 1717.5 KiB 198 KiB/s 00:09 [################################] 100% community 6.7 MiB 226 KiB/s 00:30 [################################] 100%
4.2 安装系统
$ pacstrap /mnt base linux linux-firmware linux-headers base-devel
根据网速的不同,此过程需要一段不等的时间,我安装的这个版本需要下载558.64 MiB,如果中途出现断网等导致下载的情况,重新执行命令即可.
4.3 生成fstab
$ genfstab -U /mnt >> /mnt/etc/fstab
5. 系统配置
5.1 进入系统
$ arch-chroot /mnt
5.2 增加国内源
$ vim /etc/pacman.d/mirrorlist
增加两个国内源,其它源根据喜好自行添加:
Server = http://mirrors.163.com/archlinux/$repo/os/$arch Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
5.3 网络配置
安装网络工具:
$ pacman -S iw wpa_supplicant dialog net-tools networkmanager dhcpcd
安装完成后,进行配置网络:
$ systemctl enable NetworkManager $ systemctl enable dhcpcd
5.4 用户配置
设置root密码:
$ passwd New password: Retype new password: passwd: password updated successfully
添加新用户,示例添加一个名字叫test的新用户:
$ useradd -d /home/test -g root -m -s /bin/bash test $ passed test New password: Retype new password: passwd: password updated successfully
安装sudo:
$ pacman -S sudo vim $ visudo
执行上述命令后,会自动打开/etc/sudoers,定位并编辑如下内容:
## ## User privilege specification ## root ALL=(ALL:ALL) ALL ## 增加新建的test用户 test ALL=(ALL:ALL) ALL ## Uncomment to allow members of group wheel to execute any command ## 去掉注释 %wheel ALL=(ALL:ALL) ALL
5.5 安装Grub和efibootmgr
$ pacman -S grub efibootmgr $ grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchLinuxGrub $ grub-mkconfig -o /boot/grub/grub.cfg
5.6 安装基础开发工具
$ pacman -S gcc make bc flex bison git openssh axel unzip bzip2 texinfo binutils patch python3
激活sshd:
$ systemctl enable sshd
5.7 完成安装
[root@archiso /]# exit $ umount -R /mnt $ poweroff
6. 启动系统
在Hyper-V此虚拟机中设置,移除安装镜像*.iso, CPU核心数默认是1个,可以适当增加,之后,启动虚拟机.

启动后的效果:

原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/270471.html