VMware下ArchLinux的安装与配置

字号
字体
版心
外观
天空

VMware下ArchLinux的安装与配置

I

Incohua

••4 分钟阅读

本文仅为作者记录备忘使用,还原作者安装时思路环境,实际配置请结合自身环境修正

前言#

作者在使用了 macOS 后,深感类 unix 系统的 gooood 之处,决定加入 Arch-Linux 神教,所以开始了这个折腾之旅。

由于早有 ArchLinux "难入门的耳闻",所以准备先在虚拟机上试一下,避免火葬场。

正文#

1. VMware 虚拟机安装#

真的以为我会写 VMware 怎么安装吗?

哈哈

补充一下:VMware 记得调整一下网络设置
编辑 -> 🛜虚拟网络编辑器

新建的虚拟机中,网络如果有问题的话,也要自己手动调整一下。 虚拟机 -> 设置 -> 网络适配器 参考教程

还有个槽点:

VMware 安装后,默认的启动方式应该是 BIOS 启动。 现在的挺多教程应该都是 UEFI 启动,所以要注意下(因为没注意看跟着教程翻车了)。

虚拟机 -> 设置 -> 选项 -> 高级 -> 固件类型 -> UEFI

2. ArchLinux 安装#

1. 进入安装环境#

如果是 UEFI 启动的话,正常的启动是这样的:

04A9731D-1B1D-496B-88BD-37CAADDD885E.png

2. 确定是否为 UEFI 模式#

作者这一步没有确认好,所以上一次的安装翻车了。

bash
ls /sys/firmware/efi/efivars

3. 禁用 reflector 服务#

这里按照教程的原话:

2020 年,archlinux 安装镜像中加入了 reflector 服务,它会自己更新 mirrorlist(软件包管理器 pacman 的软件源)。在特定情况下,它会误删某些有用的源信息。 这里进入安装环境后的第一件事就是将其禁用。也许它是一个好用的工具,但是很明显,因为地理上造成的特殊网络环境,这项服务并不适合启用。

bash
systemctl stop reflector.service
systemctl status reflector.service

当然,有条件的宝宝可以配置一下代理。

什么? 你问我哪里来的代理? 没准翻翻我前面的文章能看出来点什么端倪。

bash
export https_proxy=http://127.0.0.1:6152
export http_proxy=http://127.0.0.1:6152
export all_proxy=socks5://127.0.0.1:6153

4. 测试网络联通性#

这还用说吗哈哈(

bash
ping www.baidu.com

5. 更新系统时钟#

bash
timedatectl set-ntp true  # 将系统时间与网络时间进行同步
timedatectl status        # 检查服务状态

6. 更换国内软件源#

输入以下命令进行编辑:

由于是虚拟机环境,所以这里图方便就直接编辑了。 生产环境建议先备份后操作!

bash
vim /etc/pacman.d/mirrorlist

部分常用的国内源:

text
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch # 中国科学技术大学开源镜像站
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch # 清华大学开源软件镜像站
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch # 华为开源镜像站
Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch # 兰州大学开源镜像站

7. 硬盘分区#

7.1 分区#

这里按照教程使用 Btrfs 文件系统。

我们按照 ArchWiki 上的教程,一般来说需要三个分区(根目录和用户主目录视作一个就好了):

  • / 根目录
  • /home 用户主目录
  • /boot EFI 分区
  • [SWAP] 分区

我们首先使用 lsblk 进行查看下硬盘:

我们需要使用 nvme0n1 这一硬盘安装。

bash
cfdisk /dev/nvme0n1

创建三个分区如下:

之后使用 fdisk -l / lsblk 进行查看分区的情况:

7.2 格式化并创建 Btrfs 子卷#

首先格式化 EFI 分区:

bash
mkfs.fat -F32 /dev/nvmexn1p1

虚拟机才可以这么干,双系统一般 EFI 分区已经有系统的文件了。

格式化 Swap 分区:

bash
mkswap /dev/nvmexn1p1

格式化 Btrfs 分区:

bash
mkfs.btrfs -L arch /dev/nvme0n1p3

创建子卷,把 Btrfs 分区挂载到 /mnt 下, 再使用 df -h 查看下挂载情况:

bash
mount -t btrfs -o compress=zstd /dev/nvme0n1p3 /mnt

通过以下命令创建两个 Btrfs 子卷,之后将分别挂载到 / 根目录和 /home 用户主目录:

bash
btrfs subvolume create /mnt/@      # 创建 / 目录子卷
btrfs subvolume create /mnt/@home  # 创建 /home 目录子卷
btrfs subvolume list -p /mnt     # 查看子卷情况

子卷创建好后,将 /mnt 卸载掉,以挂载子卷:

bash
umount /mnt

8. 挂载#

挂载有顺序,需要从根目录开始挂载。

bash
mount -t btrfs -o subvol=/@,compress=zstd /dev/nvme0n1p3 /mnt          # 挂载 / 目录
mkdir /mnt/home                                                       # 创建 /home 目录
mount -t btrfs -o subvol=/@home,compress=zstd /dev/nvme0n1p3 /mnt/home # 挂载 /home 目录
mkdir -p /mnt/boot                                                    # 创建 /boot 目录
mount /dev/nvmexn1pn /mnt/boot                                        # 挂载 /boot 目录
swapon /dev/nvmexn1pn                                                 # 挂载交换分区

然后使用 df -h 查看挂载情况:

再使用 free -h 查看下 Swap 的情况:

9. 安装系统#

安装系统:

bash
# 如果使用 btrfs 文件系统,额外安装一个 btrfs-progs 包
pacstrap /mnt base base-devel linux linux-firmware btrfs-progs

安装基础组件:

bash
pacstrap /mnt networkmanager vim sudo zsh zsh-completions

10. 生成 fstab 文件#

fstab 用来定义磁盘分区。它是 Linux 系统中重要的文件之一。使用 genfstab 自动根据当前挂载情况生成并写入 fstab 文件:

bash
genfstab -U /mnt > /mnt/etc/fstab

检查一下:

bash
cat /mnt/etc/fstab

11. 切换到新系统#

bash
arch-chroot /mnt

3. 新系统的设置#

1. 设置主机名与时区#

bash
vim /etc/hostname
vim /etc/hosts

设置时区:

bash
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

硬件时间设置:

bash
hwclock --systohc

2. 设置 Locale (语言)#

编辑 /etc/locale.gen 文件:

bash
vim /etc/locale.gen

取消以下行的注释:

text
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8

然后生成 locale:

bash
locale-gen

向 /etc/locale.conf 输入内容:

bash
echo 'LANG=en_US.UTF-8' > /etc/locale.conf

3. 为 root 用户设置密码#

bash
passwd root

4. 安装引导程序#

安装引导程序对应的包:

bash
pacman -S grub efibootmgr os-prober

安装 GRUB 到 EFI 分区:

bash
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH

编辑 grub:

bash
vim /etc/default/grub

进行如下修改:

  • 去掉 GRUB_CMDLINE_LINUX_DEFAULT 一行中最后的 quiet 参数
  • 把 loglevel 的数值从 3 改成 5。这样是为了后续如果出现系统错误,方便排错
  • 加入 nowatchdog 参数,这可以显著提高开关机速度

生成 GRUB 所需的配置文件:

bash
grub-mkconfig -o /boot/grub/grub.cfg

5. 完成安装#

bash
exit
umount -R /mnt
reboot

6. 进入系统后的设置#

密码账号就是刚刚设置的。

当然,更推荐再创建一个非 root 用户进行操作。

bash
systemctl enable --now NetworkManager # 启用网络
ping www.baidu.com

我们也可以安装一个"必玩"项目:

bash
pacman -S fastfetch

恭喜你,已经安装好 ArchLinux 啦~

结语#

其实没什么想说的,只是在折腾的路上,记录一下自己的学习过程。
学习永无止境。

参考致谢#

评论 0

按时间排序
评论还没开通
  1. 还没有评论。