前面把开发环境切换到 WSL 了,但是在使用过程中遇到一个无法解决的 Bug microsoft/WSL#5118,因为我使用 symlink 也是挺频繁的,无法忍受这个 Bug,所以决定将开发环境迁移到虚拟机 😂,经过一番了解决定使用 Arch Linux,下面是虚拟机中安装 Arch Linux 的过程。
检查网络
ping baidu.com
检查时间是否正确
timedatectl
创建硬盘分区
# 用 sgdisk 将 MBR 分区表转换为 GPT
sgdisk -g /dev/sda
# 列出磁盘分区 找到要分区的磁盘
fdisk -l
/boot
# 分区
fdisk /dev/sda
# 创建一个新分区
Command (m for help):n
Partition number (1-128,default 1):
First sector (34-209715166,default 2048):
Last sector,+/-sectors or +/-sizefK,M,G,T,P}(2048-209715166,default 209713151):+512m
Created a new partition 1 of type 'Linux filesystem'and of size 512 MiB.
# 修改分区类型为 EFI
Command (m for help): t
Partition type or alias (type L to list all):1
Changed type of partition 'Linux filesystem'to 'EFI System'.
Swap
Command (m for help):n
Partition number (2-128,default 2):
First sector(1050624-209715166,defau1t1050624):
Last sector,+/-sectors or +/-sizefK,M,G,T,P}(1050624-209715166,default 209713151):+512M
Created a new partition 2 of type 'Linux filesystem'and of size 512 MiB
Command (m for help):t
Partition number (1,2,default 2):
Partition type or alias (type L to list all):19
Changed type of partition 'Linux filesystem'to 'Linux swap'.
根分区
Command (m for help):n
Partition number (3-128,default 3):
First sector(2099200-209715166,defau1t2099200):
Last sector,+/-sectors or +/-sizeK,M,G,T,P}(2099200-209715166,default 209713151):+44G
Created a new partition 3 of type'Linux filesystem'and of size 44 GiB.
/home
Command (m for help):n
Partition number (4-128,default 4):
First sector(94373888-209715166,defau1t94373888):
Last sector,+/-sectors or +/-sizefK,M,G,T,P}(94373888-209715166,default 209713151):
Created a new partition 4 of type 'Linux filesystem'and of size 55 GiB.
挂载分区
# 查看创建的分区
fdisk -1 /dev/sda
Disk /dev/sda:100 GiB,107374182400 bytes,209715200 sectors
Disk model:VMware Virtual S
Units:sectors of 1 512512 bytes
Sector size (logical/physical):512 bytes 512 bytes
I/0 size (minimum/optimal):512 bytes 512 bytes
Disklabel type:gpt
Disk identifier:52A3723F-2C9F-400A-B70F-E65393F881C0
Device Start End Sectors Size Type
dev/sda1 2048 1050623 1048576 512M EFI System
dev/sda2 1050624 2099199 1048576 512M Linux swap
dev/sda3 2099200 94373887 92274688 44G Linux filesystem
dev/sda4 94373888 209713151 115339264 55G Linux filesystem
# 格式化分区
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4
mkswap /dev/sda2
mkfs.fat -F 32 /dev/sda1
# 挂载分区
mount /dev/sda3 /mnt/
mount --mkdir /dev/sda1 /mnt/boot
mount --mkdir /dev/sda4 /mnt/home
swapon /dev/sda2
切换软件源
编辑 /etc/pacman.d/mirrorlist
,在文件的最顶端添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
安装必需的软件包
pacstrap -K /mnt base linux linux-firmware
# 一个有线所需 一个编辑器 一个补全工具
pacstrap -K /mnt dhcpcd vim bash-completion
生成 fstab 文件
通过以下命令生成 fstab 文件 (用 -U
或 -L
选项设置 UUID 或卷标):
genfstab -U /mnt >> /mnt/etc/fstab
chroot 到新安装的系统
通过以下命令 chroot 到新安装的系统:
arch-chroot /mnt
设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
区域和本地化设置
程序和库如果需要本地化文本,都依赖区域设置,后者明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。
需要设置这两个文件:locale.gen
与 locale.conf
。
编辑 /etc/locale.gen
,然后取消掉 en_US.UTF-8 UTF-8
和其他需要的区域设置前的注释(#)。
接着执行 locale-gen
以生成 locale 信息:
locale-gen
然后创建 locale.conf(5) 文件,并 编辑设定 LANG 变量,比如:
创建编辑 /etc/locale.conf
LANG=en_US.UTF-8
网络配置
vim /etc/hostname
# 写入
archlinux
vim /etc/hosts
# 写入
127.0.0.1 localhost
::1 localhost
127.0.1.1 archlinux.localdomain archlinux
设置 root 密码
passwd
安装引导程序
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
# 如果报错 在检查一下 分区挂载 `df -h` 没挂载重新挂载一下
# 生成主配置文件
grub-mkconfig -o /boot/grub/grub.cfg
重启
# 退出 chroot 环境
exit
# 重启
reboot