Arch Linux 与 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 盘或移动硬盘。
- 访问 https://www.ventoy.net/cn/download.html 下载 Ventoy 并安装到 U 盘中。
- 访问 https://www.microsoft.com/zh-cn/software-download/windows11 下载 Windows 11 安装镜像,并复制到 U 盘中。
- 访问 https://archlinux.org/download/ 下载 Arch Linux 镜像,并复制到 U 盘中。
安装 Windows
由于 Windows 在安装完成后会修改引导优先级,导致 Arch 不能正常引导,所以先安装 Windows 系统。
将 U 盘插入待安装的电脑,启动。
首先进入 BIOS 关闭安全启动,这是因为 Arch Linux 不支持安全启动。
退出 BIOS ,此时会进入 Ventoy 引导界面,进入 Windows ISO,将 Windows 安装到第一个磁盘中。
安装完成后拔出 U 盘,进入 Windows 系统,在终端运行以下命令关闭快速启动。
powercfg /h off使 Windows 系统使用 UTC 时间。
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 连接网络
iwctl
device list # 列出无线网卡,一般是 wlan0
station wlan0 scan # 扫描网络
station wlan0 get-networks # 列出所有网络
station wlan0 connect wifi-name # wifi-name 为你的 WiFi 名称,密码不会回显,回车直接输入即可。
exit- 测试网络连通性
ping archlinux.org -c 3如果收到响应,说明网络已连通。
更新时钟
同步本地时间与网络时间,这一步是必须的。
timedatectl set-ntp true硬盘分区
使用 lsblk 查看磁盘信息,会得到类似输出:
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 对磁盘进行分区。
cfdisk /dev/nvme0n1 # 将 nvme0n1 换成实际磁盘如果硬盘没有分区表,则选择 GPT 建立分区表。
- 在
Free Space上选择[New]建立新 EFI 分区,大小设为256MB到1GB,之后选择[Type]将类型改为EFI System。 - 在
Free Space上选择[New]建立文件分区,大小直接回车即可(使用整块磁盘),默认类型是Linux Filesystem,无须改动。 - 选择
[write]并输入yes应用更改。 - 选择
[quit]退出 cfdisk。 - 使用 lsblk 复查,得到类似输出:
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格式化分区
- 格式化 EFI 分区
mkfs.fat -F32 /dev/nvme0n1p1- 格式化为 Btrfs 文件系统
mkfs.btrfs -L Arch /dev/nvme0n1p2-L 选项用于指定该分区的 LABEL,可以自定义,但不能使用特殊字符以及空格。
- 创建子卷
mount /dev/nvme0n1p2 /mnt
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
umount /mnt- 挂载分区
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 复查。
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
vim /etc/pacman.d/mirrorlist之后运行
pacstrap /mnt base base-devel linux linux-firmware linux-headers btrfs-progs networkmanager vim sudo zsh系统配置
- 生成 fstab
genfstab -U /mnt > /mnt/etc/fstab- chroot
arch-chroot /mnt- 设置主机名 将 hostname 替换为你的主机名
echo hostname > /etc/hostname- 配置 hosts
vim /etc/hosts加入以下内容
127.0.1.1 hostname.localdomain hostname- 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc- 设置 locale
编辑
/etc/locale.gen,将en_US.UTF-8和zh-CN.UTF-8取消注释。
vim /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf- 设置 root 密码
passwd- 安装引导系统
pacman -S grub efibootmgr os-prober
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch编辑 /etc/default/grub
vim /etc/default/grub设置 GRUB_CMDLINE_LINUX_DEFAULT 为
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 nowatchdog"找到 GRUB_DISABLE_OS_PROBER 并取消注释
GRUB_DISABLE_OS_PROBER=false由于 Windows 的 EFI 分区位于另一块磁盘,需要先挂载。
mkdir /boot/windows
mount /dev/nvme1n1p1 /boot/windows生成配置
grub-mkconfig -o /boot/grub/grub.cfg得到类似输出
正在生成 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 固件设置的引导菜单项……结束安装
umount /boot/windows
exit
umount -R /mnt
reboot之后拔出 U 盘,等待系统重启。
重启后进入 Arch Linux,以 root 身份登录。
启动网络
systemctl enable --now NetworkManager- 对于无线网络,使用
nmtui连接。 - 如果使用有线网络,无需额外操作。
- 检查网络连通性
ping archlinux.org -c 3Fastfetch
pacman -S fastfetch
fastfetch恭喜
Arch Linux 与 Windows 双系统的基础安装已经完成。