Archlinux + Windows 双系统安装笔记

一直馋arch,但是不敢装,怕自己手残搞寄了,得亏得到高人指点,装好了,现在写个笔记避免忘记(

注意:
* 先备份 Windows 和重要文件!
* 操作有风险,请注意。
* 设备名可能不同, 比如硬盘分区名 (/dev/nvme0n1pX, /dev/sdaX),根据你自己的 fdisk -l 结果替换。

1. 准备镜像

  1. 下载 ISO:
  2. 写入 U 盘:
    • 把 ISO 文件弄到 U 盘里。
    • 我用的 Ventoy,直接拷进去就行。也可以用 Rufus 或 BalenaEtcher 刻录。

2. 分区 (Windows 环境下)

  1. 打开磁盘管理:
    • Windows 里右键开始菜单 -> “磁盘管理”。
  2. 压缩卷:
    • 找个盘,右键 -> “压缩卷”,腾出空间给 Arch。
  3. 创建分区 (不格式化):
    • 在”未分配”空间上右键 -> “新建简单卷”。
    • 建 Boot 分区: 大小给 1G (1024 MB)。不分配盘符,不格式化。
    • 建 Root 分区: 把剩下空间都给它 (比如我给了 200G)。不分配盘符,不格式化。
    • EFI 分区: Windows 自带的那个,不用动。

3. 安装 Arch (基础部分)

  1. U 盘启动:
    • 重启进 BIOS (按 F2, F12, DEL 等),**关掉 Secure Boot**,设置 U 盘启动优先。
  2. 识别分区:
    • 进 Arch 安装环境后,执行:
      1
      2
      fdisk -l
      # 或者 lsblk
    • 记下你的 EFI 分区、Boot 分区、Root 分区的名字 (比如我的是 /dev/nvme0n1p1, /dev/nvme0n1p5, /dev/nvme0n1p6)。后面命令要用。
  3. 格式化分区:
    • 把下面的设备名换成你自己的!!!
      1
      2
      3
      4
      5
      # Boot 分区格式化成 ext4
      mkfs.ext4 /dev/nvme0n1p5

      # Root 分区格式化成 Btrfs (-f 是强制)
      mkfs.btrfs -f /dev/nvme0n1p6
  4. 挂载分区:
    • 按顺序挂载。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      # 挂载 Root 分区 (Btrfs) 到 /mnt,开了 zstd 压缩
      mount -t btrfs -o compress=zstd:5 /dev/nvme0n1p6 /mnt

      # 创建挂载点
      mkdir -p /mnt/boot/efi

      # 挂载 Boot 分区 (ext4) 到 /mnt/boot
      mount -t ext4 /dev/nvme0n1p5 /mnt/boot

      # 挂载 EFI 分区到 /mnt/boot/efi
      mount /dev/nvme0n1p1 /mnt/boot/efi
  5. 装基本系统:
    • 注意: 这一步需要基础网络连接才能下载包。
      1
      2
      # 只安装最基础的包、内核和固件
      pacstrap /mnt base base-devel linux linux-firmware
  6. 生成 fstab:
    • 生成分区挂载配置文件。
      1
      2
      3
      # -U 用 UUID 识别分区,>> 追加到新系统 fstab 文件
      genfstab -U /mnt >> /mnt/etc/fstab
      # 可以 cat /mnt/etc/fstab 检查下
  7. Chroot 进去:
    • 切换到新安装的系统环境进行配置。
      1
      arch-chroot /mnt

4. 配置 Arch (Chroot 环境里)

现在在新系统环境里操作。

  1. 联网:

    • Chroot 进来后,需要在这里配置网络才能继续装包和更新。
    • 可以使用 iwctl 或其他工具连接 WiFi,或者手机USB网络共享也可以用。
    • 确保网络通畅才能进行下一步。
  2. 换源:

    • 建议换国内源, 提升后续下载速度。
      1
      2
      3
      4
      5
      6
      7
      8
      # 用自带的 vi 编辑器 (此时可能还没装 nano)
      vi /etc/pacman.d/mirrorlist
      # 在文件最顶上,加一行清华源 (或者其他国内源)
      # Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
      # 保存退出 (:wq 保存退出 vi)

      # 刷新一下软件包数据库,让新源生效
      pacman -Syy
  3. 安装常用工具:

    • 安装 nano/vim 编辑器、NetworkManager 网络管理器、btrfs-progs 工具(如果根分区是 btrfs)
      1
      pacman -S nano vim networkmanager btrfs-progs
  4. 设置时区:

    1
    2
    3
    # 让硬件时钟用本地时间,避免 Windows 时间错乱
    timedatectl set-local-rtc 1 --adjust-system-clock
    # 我装完之后发现Windows和linux时间不一致,所以装好之后才搞了这个,记得进系统在日期和时间那打开自动设置日期和时间,然后应该就没问题了
  5. 设置 Locale (语言):

    1
    2
    3
    4
    5
    6
    7
    # 编辑 locale.gen 
    vi /etc/locale.gen
    # 把需要的语言 (如 en_US.UTF-8, zh_CN.UTF-8) 前面的 # 去掉
    # 保存退出后执行:
    locale-gen
    # 设置系统默认语言
    echo "LANG=zh_CN.UTF-8" > /etc/locale.conf
  6. 设置主机名:

    1
    2
    3
    4
    hostnamectl set-hostname 主机名
    # (可选) 编辑 hosts 文件,添加主机名映射
    # nano /etc/hosts
    # 加上 127.0.1.1 你的主机名.localdomain 你的主机名
  7. 启用网络服务:

    • 让 NetworkManager 开机自动运行。
      1
      systemctl enable NetworkManager
  8. 配置 Initramfs (Btrfs 需要):

    • 如果 Root 分区是 Btrfs,需要这步。
      1
      2
      3
      4
      5
      # 编辑 mkinitcpio.conf
      nano /etc/mkinitcpio.conf
      # 在 HOOKS=(...) 行的 filesystems 后面加上 btrfs
      # 保存退出后执行:
      mkinitcpio -P
    • Ext4 Root 分区跳过此步。
  9. 设置 Root 密码 (可选):

    1
    passwd
  10. 安装 GRUB (启动引导):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 装 GRUB 相关包
    pacman -S grub efibootmgr os-prober
    # 安装 GRUB 到 EFI 分区
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Arch Linux"
    # 配置 GRUB 检测其他系统 (如 Windows)
    vi /etc/default/grub
    # 找到 #GRUB_DISABLE_OS_PROBER=false,去掉 #
    # 保存退出后生成 GRUB 配置
    grub-mkconfig -o /boot/grub/grub.cfg
  11. 创建普通用户:

    1
    2
    3
    4
    5
    6
    7
    8
    # 把 "用户名" 换成你的
    useradd -m -G wheel 用户名
    # 给用户设置密码
    passwd 用户名
    # 允许 wheel 组用户使用 sudo
    vi /etc/sudoers
    # 找到 # %wheel ALL=(ALL:ALL) ALL,去掉 #
    # 保存退出
  12. 安装桌面环境和软件 (我的选择):

    1
    2
    3
    4
    5
    6
    7
    # 装 KDE Plasma 和常用应用、SDDM 登录器
    pacman -S plasma kde-applications sddm
    # 装中日韩字体
    pacman -S noto-fonts-cjk
    # (可选) 装蓝牙工具并启用服务
    pacman -S bluez bluez-utils
    systemctl enable bluetooth
  13. 启用登录界面:

    1
    2
    # 让 SDDM 开机启动
    systemctl enable sddm
  14. 配置 DNS (可选):

    • 如果想手动指定 DNS。
      1
      2
      3
      4
      5
      6
      # 编辑 systemd-resolved 配置
      sudo nano /etc/systemd/resolved.conf
      # 在 [Resolve] 下面取消注释并修改 DNS= 和 FallbackDNS=
      # DNS=8.8.8.8 1.1.1.1
      # FallbackDNS=9.9.9.9
      # 保存退出 (可能需要 systemctl restart systemd-resolved 生效)

5. 完成与重启

  1. 退出 Chroot:
    1
    exit
  2. 卸载分区:
    1
    umount -R /mnt
  3. 重启:
    1
    reboot

6. 重启之后

  • 进 GRUB 菜单选 “Arch Linux” 启动。
  • 用你创建的用户名和密码登录。
  • 进系统后先联网,更新系统: sudo pacman -Syu
  • 之后就是装软件、配置输入法等等。
  • 后续配置就可以参考(https://blog.archlinux.tech)。
  • 如果进系统有些地方不是中文,可能需要 sudo nano /etc/locale.gen 把所有中文相关项取消注释,然后 sudo locale-gen 再重启试试。也检查下 KDE 自己的区域语言设置。