QcN3ep's Blog

Arch Linux 与 Windows 双系统安装指南

2026-05-01·Misc·7 min read#Arch#Windows

Arch Linux 与 Windows 双系统安装指南 本文记录在搭载 NVIDIA 独立显卡的 amd64 架构电脑上,将 Arch Linux 与 Windows 11 分别安装到两块独立硬盘中组成双系统的过程 准备 首先准备一个大小不小于 16GB 的 U 盘或移动硬盘。 1. 访问 https://www.v...

Arch Linux 与 Windows 双系统安装指南

本文记录在搭载 NVIDIA 独立显卡的 amd64 架构电脑上,将 Arch Linux 与 Windows 11 分别安装到两块独立硬盘中组成双系统的过程

准备

首先准备一个大小不小于 16GB 的 U 盘或移动硬盘。

  1. 访问 https://www.ventoy.net/cn/download.html 下载 Ventoy 并安装到 U 盘中。
  2. 访问 https://www.microsoft.com/zh-cn/software-download/windows11 下载 Windows 11 安装镜像,并复制到 U 盘中。
  3. 访问 https://archlinux.org/download/ 下载 Arch Linux 镜像,并复制到 U 盘中。

安装 Windows

由于 Windows 在安装完成后会修改引导优先级,导致 Arch 不能正常引导,所以先安装 Windows 系统。

将 U 盘插入待安装的电脑,启动。

首先进入 BIOS 关闭安全启动,这是因为 Arch Linux 不支持安全启动。

退出 BIOS ,此时会进入 Ventoy 引导界面,进入 Windows ISO,将 Windows 安装到第一个磁盘中。

安装完成后拔出 U 盘,进入 Windows 系统,在终端运行以下命令关闭快速启动。

shell
powercfg /h off

使 Windows 系统使用 UTC 时间。

shell
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_QWORD /f

之后插入 U 盘,重启电脑。

安装 Arch Linux

再次进入 Ventoy 引导界面,选择 Arch Linux ISO。

在听到蜂鸣器 “哔~” 的一声后,按回车进入 Live CD。

连接网络

  • 如果使用有线网络,可以跳过这一步。

  • 对于无线网络,启动 iwd 连接网络

shell
iwctl
device list # 列出无线网卡,一般是 wlan0
station wlan0 scan # 扫描网络
station wlan0 get-networks # 列出所有网络
station wlan0 connect wifi-name # wifi-name 为你的 WiFi 名称,密码不会回显,回车直接输入即可。
exit
  • 测试网络连通性
shell
ping archlinux.org -c 3

如果收到响应,说明网络已连通。

更新时钟

同步本地时间与网络时间,这一步是必须的。

shell
timedatectl set-ntp true

硬盘分区

使用 lsblk 查看磁盘信息,会得到类似输出:

text
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 931.5G  0 disk
nvme1n1     259:3    0 953.9G  0 disk
├─nvme1n1p1 259:4    0   200M  0 part
├─nvme1n1p2 259:5    0    16M  0 part
├─nvme1n1p3 259:6    0 952.8G  0 part
└─nvme1n1p4 259:7    0   841M  0 part

其中 nvme1n1 是我们刚刚安装 Windows 系统的磁盘,我们在 nvme0n1 上安装 Arch。

使用 cfdisk 对磁盘进行分区。

shell
cfdisk /dev/nvme0n1 # 将 nvme0n1 换成实际磁盘

如果硬盘没有分区表,则选择 GPT 建立分区表。

  • Free Space 上选择 [New] 建立新 EFI 分区,大小设为 256MB1GB,之后选择 [Type] 将类型改为 EFI System
  • Free Space 上选择 [New] 建立文件分区,大小直接回车即可(使用整块磁盘),默认类型是 Linux Filesystem,无须改动。
  • 选择 [write] 并输入 yes 应用更改。
  • 选择 [quit] 退出 cfdisk。
  • 使用 lsblk 复查,得到类似输出:
text
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 931.5G  0 disk
├─nvme0n1p1 259:1    0   512M  0 part
└─nvme0n1p2 259:2    0   931G  0 part
nvme1n1     259:3    0 953.9G  0 disk
├─nvme1n1p1 259:4    0   200M  0 part
├─nvme1n1p2 259:5    0    16M  0 part
├─nvme1n1p3 259:6    0 952.8G  0 part
└─nvme1n1p4 259:7    0   841M  0 part

格式化分区

  1. 格式化 EFI 分区
shell
mkfs.fat -F32 /dev/nvme0n1p1
  1. 格式化为 Btrfs 文件系统
shell
mkfs.btrfs -L Arch /dev/nvme0n1p2

-L 选项用于指定该分区的 LABEL,可以自定义,但不能使用特殊字符以及空格。

  1. 创建子卷
shell
mount /dev/nvme0n1p2 /mnt
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
umount /mnt
  1. 挂载分区
shell
mount -o compress=zstd,subvol=/@ /dev/nvme0n1p2 /mnt
mkdir -p /mnt/{home,boot}
mount -o compress=zstd,subvol=/@home /dev/nvme0n1p2 /mnt/home
mount /dev/nvme0n1p1 /mnt/boot

使用 lsblk 复查。

text
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 931.5G  0 disk
├─nvme0n1p1 259:1    0   512M  0 part /boot
└─nvme0n1p2 259:2    0   931G  0 part /home
                                      /
nvme1n1     259:3    0 953.9G  0 disk
├─nvme1n1p1 259:4    0   200M  0 part
├─nvme1n1p2 259:5    0    16M  0 part
├─nvme1n1p3 259:6    0 952.8G  0 part
└─nvme1n1p4 259:7    0   841M  0 part

安装系统

首先编辑 /etc/pacman.d/mirrorlist

shell
vim /etc/pacman.d/mirrorlist

之后运行

shell
pacstrap /mnt base base-devel linux linux-firmware linux-headers btrfs-progs networkmanager vim sudo zsh

系统配置

  1. 生成 fstab
shell
genfstab -U /mnt > /mnt/etc/fstab
  1. chroot
shell
arch-chroot /mnt
  1. 设置主机名 将 hostname 替换为你的主机名
shell
echo hostname > /etc/hostname
  1. 配置 hosts
shell
vim /etc/hosts

加入以下内容

text
127.0.1.1   hostname.localdomain hostname
  1. 设置时区
shell
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
  1. 设置 locale 编辑 /etc/locale.gen,将 en_US.UTF-8zh-CN.UTF-8 取消注释。
shell
vim /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
  1. 设置 root 密码
shell
passwd
  1. 安装引导系统
shell
pacman -S grub efibootmgr os-prober
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch

编辑 /etc/default/grub

shell
vim /etc/default/grub

设置 GRUB_CMDLINE_LINUX_DEFAULT

text
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 nowatchdog"

找到 GRUB_DISABLE_OS_PROBER 并取消注释

text
GRUB_DISABLE_OS_PROBER=false

由于 Windows 的 EFI 分区位于另一块磁盘,需要先挂载。

shell
mkdir /boot/windows
mount /dev/nvme1n1p1 /boot/windows

生成配置

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

得到类似输出

text
正在生成 grub 配置文件 ...
找到主题:/usr/share/grub/themes/omokage/theme.txt
找到 Linux 镜像:/boot/vmlinuz-linux
找到 initrd 镜像:/boot/initramfs-linux.img
警告: os-prober 将运行以检测其它可引导分区。
将使用 os-prober 的输出,以检测分区中可引导的二进制文件,并为其创建新的启动项。
发现了 Windows Boot Manager,位于 /dev/nvme1n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
正在添加 UEFI 固件设置的引导菜单项……

结束安装

shell
umount /boot/windows
exit
umount -R /mnt
reboot

之后拔出 U 盘,等待系统重启。

重启后进入 Arch Linux,以 root 身份登录。

启动网络

shell
systemctl enable --now NetworkManager
  • 对于无线网络,使用 nmtui 连接。
  • 如果使用有线网络,无需额外操作。
  • 检查网络连通性
shell
ping archlinux.org -c 3

Fastfetch

shell
pacman -S fastfetch
fastfetch

恭喜

Arch Linux 与 Windows 双系统的基础安装已经完成。