QcN3ep's Blog
← 返回文章列表

Arch Linux 与 Windows 双系统安装指南

2026-05-01/Misc/11 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 建立分区表。如果磁盘上已有旧分区,需先逐一删除(Delete)再继续。

  • 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,保留 #China 下的国内源。

shell
vim /etc/pacman.d/mirrorlist

之后运行

shell
pacstrap /mnt base base-devel linux-zen linux-zen-headers linux-firmware 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 分区位于另一块磁盘,通过 lsblk 找到 Windows 所在硬盘上约 100MB–200MB 的小分区(通常是第一个分区),记下设备名,挂载到 /boot/windows。

shell
mkdir /boot/windows
mount /dev/nvme1n1p1 /boot/windows # 将 /dev/nvme1n1p1 替换为实际的 Windows EFI 分区

生成配置

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

得到类似输出

text
正在生成 grub 配置文件 ...
找到主题:/usr/share/grub/themes/omokage/theme.txt
找到 Linux 镜像:/boot/vmlinuz-linux-zen
找到 initrd 镜像:/boot/initramfs-linux-zen.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

安装微码

对于 Intel CPU

shell
pacman -S intel-ucode

对于 AMD CPU

shell
pacman -S amd-ucode

之后重新生成 Grub 配置

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

恭喜

恭喜!Arch Linux 与 Windows 已经成功安装到您的电脑中,下一步开始基础配置。

shell
pacman -S fastfetch
fastfetch

Arch 基础配置

启用 multilib 与 archlinuxcn 支持

编辑 /etc/pacman.conf 文件

shell
vim /etc/pacman.conf

取消 [multilib] 的注释并加入 [archlinuxcn] 条目

text
[multilib]
Include = /etc/pacman.d/mirrorlist

[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

运行

shell
pacman -Syyu

准备普通用户

shell
echo "EDITOR='vim'" >> ~/.bash_profile
useradd -m -G wheel -s /bin/zsh <username>
passwd <username>

编辑 sudoers

shell
EDITOR=vim visudo

取消注释

text
#%wheel ALL=(ALL:ALL) ALL

切换到普通用户

shell
su - <username>

安装 Kde Plasma

shell
sudo pacman -S plasma-meta plasma-workspace xdg-desktop-portal-kde egl-wayland sddm konsole dolphin

安装过程中会提示选择包组成员,推荐 noto-font 字体和 pipewire 音频后端。

启动 sddm 桌面管理器

shell
sudo systemctl enable --now sddm

安装基础软件包

  • 中文字体
shell
sudo pacman -S noto-fonts-cjk noto-fonts-extra

System Settings > Regional Settings > Language 中添加中文。

  • AUR Helper

首次从 archlinuxcn 安装软件时,pacman 会提示缺少 GPG 公钥,遇到时直接确认导入即可。

shell
sudo pacman -S archlinuxcn-keyring
sudo pacman -S paru

安装输入法(使用 fcitx5 中州韵)

shell
sudo pacman -S fcitx5-im fcitx5-rime rime-ice fcitx5-material-color

设置环境变量

shell
mkdir -p ~/.config/environment.d/
echo "XMODIFIERS=@im=fcitx" > ~/.config/environment.d/im.conf

设置 Rime

shell
mkdir -p ~/.local/share/fcitx5/rime
vim ~/.local/share/fcitx5/rime/default.custom.yaml

写入

text
patch:
  # 仅使用「雾凇拼音」的默认配置,配置此行即可
  __include: rime_ice_suggestion:/
  # 以下根据自己所需自行定义
  __patch:
    menu/page_size: 7   #候选词个数

安装显卡驱动

  • Intel 核显
shell
sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel
  • AMD 核显
shell
sudo pacman -S mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon
  • NVIDIA 显卡
shell
sudo pacman -S nvidia-open-dkms nvidia-settings nvidia-utils lib32-nvidia-utils

如果在重启后发现黑屏,使用 Ctrl + Alt + F3 进入 tty3 并登录。 修改 /etc/mkinitcpio.conf,去除 HOOKS 里的 kms 钩子。 运行 sudo mkinitcpio -P 重建映像并重启。

多媒体支持

shell
sudo pacman -S pipewire pipewire-pulse wireplumber pipewire-alsa alsa-utils pavucontrol pw-cli
# 以下命令由普通用户执行,不加 sudo
systemctl --user enable --now pipewire pipewire-pulse wireplumber

参考资料

ArchWiki archlinux 简明指南 Arch Linux 现代化安装与基础配置指南

版权说明

网站源代码采用 MIT License 开源,本文采用 CC-BY-SA-4.0 许可。