看过太多新手在Arch Linux双系统上翻车有的把Windows引导搞没了有的分区时手一抖把整个盘抹了还有的装完进不去桌面只能干瞪眼。这篇文章直接把我踩过的坑和验证过的流程全写出来从Windows下分区、做启动盘、改BIOS到Arch安装、双系统引导修复、桌面环境配置每一步都给你说清楚“为什么这么做”和“这里容易死在哪”。无论你是第一次接触Linux还是从Ubuntu转过来想折腾Arch照着这条路走能省下好几个通宵。我默认你的机器是UEFI启动模式GPT分区表这是2017年以后出厂电脑的主流配置。如果你还在用老式BIOSMBR部分步骤要反着来我会在对应位置单独提醒。1. 动手之前先把Windows这边的底子打好1.1 分区前必须想明白的三件事第一Arch Linux是单根目录设计的不像Ubuntu那样强制要swap分区或/boot分区你完全可以只分一个根分区“/”就能跑起来。但为了后续省心我建议至少分两个区一个挂“/”一个挂“/home”。这样以后重装系统home目录里的东西还在不用每次拷来拷去。第二磁盘空间怎么腾。Arch本体加上桌面环境、常用软件装完大概10到15GB但你要给缓存、容器、开发环境留余量建议直接给60GB以上。如果你有编译需求或者打算装CUDA、Android SDK这种大块头我给最低参考是100GB。别抠门Linux下磁盘不够再扩容麻烦得多。第三Windows和Linux的系统时间问题。这个现在说有点早但你要有心理准备装完Arch后大概率会出现Windows时间慢8小时。原因很简单Windows把主板时间当本地时间Linux把主板时间当UTC时间。解决办法我在后面“常见问题”里专门写别慌。1.2 用Windows磁盘管理还是傲梅分区助手我建议用傲梅分区助手免费版就够用。为什么不推荐Windows自带的磁盘管理因为你要在Windows所在盘的末尾或者另一块硬盘上腾出空闲空间磁盘管理对“压缩卷”支持还行但如果你想调整某个分区大小、或者把空闲空间重新合并/移动位置Windows自带工具经常不给力而且压缩出来的空间位置有时候不是你想要的。傲梅分区助手的操作逻辑很简单打开后右键你要缩小的分区比如C盘选择“调整/移动分区”把滑块往左拉留出你要的大小。点确定后再点击左上角“提交”它会重启进入PreOS模式自动执行不要中途断电等它自己弄完就行。这里有个关键的避坑点不要试图在Windows系统盘内部直接“新建分区”尤其不要用DiskGenius之类的工具在Windows分区前面硬抠一块出来装Linux。你只需要腾出“未分配空间”就行剩余的划分工作全部交给Arch的安装程序来做这样最安全。如果你是双硬盘方案Windows装一块盘Arch装另一块盘那更简单。直接进BIOS把启动顺序调好或者狂按F12选启动项就行。但要注意跨硬盘双系统同样会互相干扰引导后面第5节讲引导修复时同样适用。1.3 备份、备份、再备份分区操作和系统安装是高风险操作我说句难听的别拿重要数据赌运气。哪怕你觉得自己每一步都照着教程来也有可能因为手误、U盘质量、ISO损坏导致整个系统进不去。建议至少做两件事第一把Windows里重要文件复制到移动硬盘或网盘第二用DISM或傲梅的“备份系统”功能给当前Windows做一次完整镜像备份。如果后面真的翻车了起码能用PE盘把系统恢复回来不至于哭都来不及。另外提一嘴如果你看到Windows分区里有一个叫“WINRE DRV”的隐藏分区那是Windows恢复环境所在的分区大小几百MB到1GB不等。它干嘛用的简单说就是开机进恢复模式、重置系统时要加载的环境。装Linux时千万别去动它格掉它Windows就失去自动恢复能力了。同样EFI系统分区一般是FAT32100MB~500MB也不要格式化我们还要留着它放Arch的引导文件呢。2. 制作启动盘与BIOS设置2.1 用Ventoy还是直接写入U盘做Arch启动盘工具就两个主流选择Rufus和Ventoy。Rufus是Windows下最经典的工具直接选择ISO镜像写入U盘即可。但Rufus在写Arch这种含多个引导文件的发行版时偶尔会遇到启动后黑屏或引导选项不全的情况。如果你用Rufus记得在“映像模式”里选择“DD镜像写入模式”不要用“ISO镜像模式”。这个问题很隐蔽网上一堆人卡在启动U盘这一步多半就是模式选错了。我更推荐Ventoy它一次安装后以后拷ISO文件进去就行。装多个发行版特别方便而且启动兼容性好很多。具体操作去Ventoy官网下载安装包插上U盘运行选择U盘设备点击安装。它会格式化U盘为一个exFAT分区之后你只要把archlinux-xxxx.iso复制进去。启动时选择你的U盘会进入Ventoy菜单再选ISO文件即可。注意Ventoy安装会清空U盘所有数据别拿存了资料的U盘直接干。2.2 BIOS设置里的两个关键点我的主板是微星B660MBIOS界面跟你的可能有差异但核心设置项是通用的。第一步启动模式改成UEFI。如果你电脑之前是从Win10/Win11原装系统正常起来的那大概率已经是UEFI了不用动。但有些人之前折腾过老系统或者装过Win7BIOS里可能是传统模式Legacy/CSM。Arch官方ISO现在对UEFI支持最好建议统一UEFI。第二步关闭Secure Boot安全启动。Arch官方不同版本的签名策略不一样关闭它最省事。如果你的主板上还开了Intel Platform Trust或者叫PTT、fTPM之类的东西有部分情况和Linux的驱动有兼容问题建议也一并关掉等装好系统后再决定要不要开回来。第三步把U盘设为首选启动项。有些主板按F11、F12弹出临时启动菜单不用改顺序。但如果你比较稳想直接从BIOS启动菜单里设置找Boot Priority或Boot Option把UEFI:你的U盘名字放到第一位。保存退出后屏幕应该能看到Arch的引导菜单。2.3 启动过程中的常见翻车点屏幕卡在“Loading Linux Kernel...”之后黑屏大概率是显卡驱动问题。解决方法是在启动菜单里按e编辑启动项在linux行末尾加上modprobe.blacklistnouveauN卡专用或者nouveau.modeset0然后CtrlX启动。装好系统后再装官方N卡驱动即可。提示“Failed to find a file system on ‘/dev/...’”或者“Invalid partition table”一般是U盘引导模式与主板启动模式不匹配。比如你用Legacy模式启动UEFI镜像或者反过来。如果你不确定到BIOS里同时开启UEFI和CSM再试试哪个能进。Ventoy菜单里选了ISO后没有反应检查ISO文件是否下载完整换一个USB口插最好插主板后置USB2.0口。3. Arch安装全流程从分区到基础系统3.1 进入live环境后的网络配置启动进入Arch live环境后你会看到一个root提示符。装系统全程都在这个终端里操作不要被吓到跟着做就行。第一步确认网络。如果你插着网线一般直接就有网用ping archlinux.org测一下。如果是无线网络执行iwctl进入交互式无线配置工具。具体来说iwctl # 进入iwctl后 device list # 列出无线网卡设备比如 wlan0 station wlan0 scan # 扫描附近WiFi station wlan0 get-networks # 显示可用网络 station wlan0 connect 你的WiFi名字 # 连接输入密码后回车 exit连接后ping一下外网验证。这一步搞不定后面全白搭。如果你用笔记本且装的是Intel无线网卡最新内核基本都免驱如果是罕见网卡装不上那就先换USB网卡或手机USB共享网络先装好再折腾驱动也行。3.2 用fdisk还是用cfdisk做分区Arch官方Wiki推荐用fdisk但对新手来说fdisk是纯命令行交互一个不留神就输错命令。我建议用cfdisk它是fdisk的图形化终端界面分区操作和Windows里改大小差不多方向键移动回车确认直观得多。先看一眼磁盘列表lsblk fdisk -l确认哪个是你的目标磁盘。比如你的Windows在nvme0n1你打算在另一块盘或同一块盘的空闲区装Arch。这里只讲单盘双系统的情况。假设你给Arch留了未分配空间在cfdisk里选中这块未分配空间新建分区大小比如60GB类型选Linux filesystem。如果你内存不大8GB以下建议再分一个swap分区大小跟内存一样或大一点点。如果内存在16GB以上我一般不分swap纯用swap文件也行。为了简单这里按两个分区讲一个是根分区/一个是/home。用cfdisk创建的示例步骤cfdisk /dev/nvme0n1在图形界面里选中“Free space”选择“New”输入大小如“60G”回车类型默认Linux filesystem。再选剩下的“Free space”新建“32G”作为home或者把home建大一点。如果你还要swap就分一个“8G”设置为“Linux swap”。写好后选择“Write”输入yes确认再选择“Quit”退出。注意cfdisk操作的是选中的整块磁盘。执行前一定要确认盘符别把Windows盘的分区表给改了。我的习惯是先用lsblk输出了所有设备再用fdisk -l确认一遍型号和大小严格对应上才动手。3.3 格式化分区与挂载分区完成后运行lsblk看新分区是什么设备名。我假设你的根分区是/dev/nvme0n1p5home分区是/dev/nvme0n1p6。格式化mkfs.ext4 /dev/nvme0n1p5 # 根分区 mkfs.ext4 /dev/nvme0n1p6 # home分区如果你建了swapmkswap /dev/nvme0n1p7 swapon /dev/nvme0n1p7然后挂载mount /dev/nvme0n1p5 /mnt mkdir -p /mnt/home mount /dev/nvme0n1p6 /mnt/home这里还有一个新手容易忽略的地方如果你需要EFI分区Windows引导分区通常是/dev/nvme0n1p1FAT32文件系统一般100MB~500MB要把它挂载到/mnt/efi或/mnt/boot。为什么不直接说挂到/mnt/boot因为Linux安装引导文件有两种习惯一种是直接挂到/boot简单另一种是单独弄一个EFI分区然后挂到/efi。我建议用挂到/efi的方式因为和Windows共存时更清晰。mkdir -p /mnt/efi mount /dev/nvme0n1p1 /mnt/efi注意EFI分区必须保持FAT32格式不要格式化它直接挂载就行。如果你格式化Windows的引导条目就没了后期修复麻烦。3.4 pacstrap安装基础系统挂载好之后开始把Arch系统文件装进/mnt目录。用pacstrap命令pacstrap -K /mnt base linux linux-firmware vim sudo networkmanager这条命令看起来短但做的事情很多安装基础软件包、Linux内核、固件、文本编辑器、网络管理工具。这里networkmanager非常关键它是你进入桌面后联网的管家。如果没有安装你装完系统开机后会发现自己没有网络那再补装就得折腾镜像源很麻烦。回答为什么要加-K这个参数是pacstrap 6.4版本后的新特性用于初始化kernel keyring避免装一些软件时出现签名错误。如果你用的是最新Arch ISO最好带上。安装时间取决于网速和镜像源。国内用户建议先修改/etc/pacman.d/mirrorlist把国内的镜像源如清华、阿里、中科大放到最前面不然下载速度可能只有几十KB。改法就是vim打开mirrorlist把想用的源剪切到文件顶部vim /etc/pacman.d/mirrorlist按gg跳文件头找到类似Server https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch的行按dd剪切再按gg到顶部按p粘贴然后:wq保存。3.5 生成fstab并chroot进入新系统基础系统安装完成后执行genfstab -U /mnt /mnt/etc/fstab这条命令会根据当前挂载情况生成磁盘挂载配置文件。你可以先cat /mnt/etc/fstab看看内容确认一下EFI分区、根分区、home分区的UUID都对应正确。这一步很多人直接复制命令就完事但我建议花30秒检查因为一旦fstab写错重启后系统可能卡在等待设备超时的界面。然后进入新系统arch-chroot /mnt执行完后你会看到提示符变成本地Arch环境了注意这里跟live环境长得像但已经是硬盘上的系统了。后续所有配置都在这个chroot环境里进行。3.6 设置时区、语言和用户时区设置ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc第一条把系统时区设为上海。第二条把硬件时钟设为UTC标准时间。这两条做完你重启后进入Arch时间显示是对的但Windows会出问题后面我讲解决。本地化配置。编辑/etc/locale.gen把zh_CN.UTF-8和en_US.UTF-8这两行取消注释vim /etc/locale.gen接着执行locale-gen echo LANGen_US.UTF-8 /etc/locale.conf这里我说下为什么不用zh_CN.UTF-8作为默认语言因为在纯终端环境下中文可能显示成方块而且有些程序不认中文环境变量。你可以在桌面环境里再改成中文基础系统先用英文最稳。主机名echo myarch /etc/hostname创建用户useradd -m -G wheel -s /bin/bash 你的用户名 passwd 你的用户名然后给wheel组添加sudo权限EDITORvim visudo找到%wheel ALL(ALL:ALL) ALL这一行去掉注释保存。同时给root设置密码passwd3.7 安装引导程序并配置双系统这是整个双系统安装中最容易出问题的位置。Arch默认引导程序是GRUB我们要安装GRUB并让它同时识别Windows。先安装必要包pacman -S grub efibootmgr os-prober ntfs-3gos-prober是自动探测其他操作系统的脚本ntfs-3g是为了让Linux识别Windows的NTFS分区。安装时可能会提示是否安装os-prober选安装。然后运行grub-install --targetx86_64-efi --efi-directory/efi --bootloader-idGRUB这条命令会在EFI分区中创建GRUB引导文件。注意--efi-directory/efi对应你之前挂载的/mnt/efi在chroot里的路径。如果你之前把EFI分区挂到了/boot这里改成--efi-directory/boot。接着生成GRUB配置grub-mkconfig -o /boot/grub/grub.cfg为了让GRUB能探测到Windows Boot Manager需要先修改一个配置vim /etc/default/grub找到#GRUB_DISABLE_OS_PROBERfalse这行去掉注释保存。如果不做这一步后面os-prober探测不到Windows开机就没有Windows启动项。改完再执行一次os-prober grub-mkconfig -o /boot/grub/grub.cfg看到输出里有“Found Windows Boot Manager on /dev/nvme0n1p1”这样的信息就说明成功了。重启后GRUB菜单里会有Arch和Windows两个选项。3.8 重启前的最后检查退出chroot并重启exit umount -R /mnt reboot拔掉U盘让系统从硬盘启动。如果一切正常你应该看到一个GRUB菜单默认进入Arch。有几点要提醒你第一次重启可能会卡在某些细节上比如N卡没有驱动只能以低分辨率显示。这不算装失败先进入系统后面装桌面环境时把驱动一并处理。另外如果你在umount时提示“target is busy”通常是还有进程占用分区用exit回到live环境或者fuser -km /mnt处理不要硬拔。4. 桌面环境安装与配置4.1 桌面环境怎么选KDE还是GNOME还是WMArch装好后是一堆命令行你需要装一个桌面环境才能图形化操作。主流选择有KDE Plasma和GNOME。我个人推荐KDE Plasma。原因是KDE功能完善界面接近Windows新手适应快而且对资源的消耗没有想象中那么大。GNOME现在越来越往触屏靠体验很现代但扩展插件系统对新手来说反而不太友好而且总有“a problem has occurred and the system cant recover”这种报错概率遇到就得重启gnome-shell。如果你愿意折腾还可以用窗口管理器加组件自行拼装比如i3、Hyprland。但这不是新手该走的路先把桌面跑起来再说。4.2 安装KDE Plasma和必要的驱动先安装显卡驱动。N卡用户pacman -S nvidia nvidia-utilsIntel核显用户一般装mesa就行pacman -S mesa然后安装桌面环境以KDE为例pacman -S plasma konsole dolphin sddm解释一下这几个包plasma是主桌面konsole是终端dolphin是文件管理器sddm是KDE的显示管理器登录界面。没有sddm的话你只能手敲startx来启动图形界面用起来很不方便。启用显示管理器和网络管理systemctl enable sddm systemctl enable NetworkManager然后重启reboot如果没有意外你会看到SDDM登录界面输入用户名密码就能进入KDE桌面。4.3 中文字体与输入法进桌面后第一件事装中文字体否则网页和文档里的中文全是方块pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji输入法我用的是Fcitx5pacman -S fcitx5 fcitx5-chinese-addons fcitx5-configtool安装好后在/etc/environment里写上GTK_IM_MODULEfcitx QT_IM_MODULEfcitx XMODIFIERSimfcitx然后重新登录桌面CtrlSpace切出输入法。这里如果你遇到输入法无法激活的问题大概率是环境变量没生效检查一下这几个变量有没有写对。4.4 安装完成后需要立刻做的基础优化更新系统sudo pacman -Syu把装完系统后这段时间的更新全部拉下来。Arch滚动更新频率快隔几天不更新就可能出依赖问题。安装AUR助手比如yay先安装base-devel然后git clone yay仓库makepkg -si 安装。有了yay就能装很多Arch官方源里没有的软件。开启32位支持sudo pacman -S multilib要编辑/etc/pacman.conf把[multilib]那几行取消注释然后sudo pacman -Syu这样能装Steam和Wine之类的。做一次快照或备份用Timeshift配合Btrfs快照比较方便但你如果用的ext4Timeshift也能做rsync式备份。别等系统坏了才后悔没备份。5. 常见问题与排查技巧实录5.1 开机直接进Windows没有GRUB菜单这个问题几乎是双系统安装的“标配”。原因有几种第一BIOS启动顺序里Windows Boot Manager排在GRUB前面。解决方法是进BIOS把启动顺序改成GRUB优先或者把名为“GRUB”或“ubuntu”的启动项调到第一位。第二种情况是GRUB还在但你没选对进BIOS里新建一个启动项手动指向EFI分区里的\EFI\GRUB\grubx64.efi文件即可。如果连GRUB文件都没装上那只能重新用Arch live U盘启动chroot进系统重装grub。操作顺序跟安装时一样挂载根分区、EFI分区然后arch-chroot进去执行grub-install和grub-mkconfig。5.2 双系统时间相差8小时这是Windows和Linux对硬件时钟的解读不同导致的。前面安装时我们执行了hwclock --systohc这会把硬件时钟设为UTC。Windows默认按本地时间读所以会慢8小时。最简单的修复方法是在Windows下以管理员身份打开CMD执行Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1然后重启两个系统的时间就正常了。反之如果你想让Linux使用本地时间可以在Arch下执行timedatectl set-local-rtc 1但会有一些时区处理的副作用不建议。5.3 卸载Arch时如何恢复Windows引导如果你装完双系统后悔了想卸载Arch千万别直接删分区就完事。正确做法是这样先用Windows PE启动盘进入系统或使用Windows安装U盘里的“修复计算机”然后打开命令行执行bootrec /fixmbr bootrec /fixboot bootrec /rebuildbcd这样能修复Windows引导。但如果EFI分区因为Arch安装被改乱了可能还需要用bcdedit手动重建引导记录。更稳妥的办法是进PE后用傲梅分区助手把Arch相关分区删除再在BIOS里把Windows Boot Manager设为第一启动项重启后如果Windows能进再用上述bootrec命令重建BCD。我这里特别提醒如果你在安装Arch时把EFI分区格式化过那Windows的引导文件就没了。这种情况光bootrec修不回来必须用Windows安装U盘里的“启动修复”功能或者从Windows的WinRE分区恢复引导文件过程复杂很多。所以前面我一直强调“不要格式化EFI分区”的用意在这里。5.4 修改GRUB默认启动项双系统默认进Arch如果你想每次开机默认进Windows可以改/etc/default/grub里的GRUB_DEFAULT参数。先用grub-mkconfig生成的菜单看顺序grep -E menuentry /boot/grub/grub.cfg找到Windows那一行的序号从0开始数。比如Arch是0Windows是2就在/etc/default/grub里写GRUB_DEFAULT2然后重新生成grub.cfgsudo grub-mkconfig -o /boot/grub/grub.cfg如果你觉得记序号不直观也能用菜单标题匹配方式GRUB_DEFAULTWindows Boot Manager (on /dev/nvme0n1p1)但标题里有设备名一旦分区变动就不准。我一般直接用序号。5.5 分区卸载不了怎么办有时候在安装过程中umount分区会提示umount: /mnt: target is busy.这是因为还有进程在使用该目录。一个快速的解决办法fuser -km /mnt然后重新umount。如果还不行检查是不是swapon还在占用swap分区执行swapoff /dev/分区名再卸载。在live环境里最保险的是直接重启反正还没装完重新走流程就行。5.6 装完桌面环境后卡死或无桌面如果你用N卡装完KDE后进登录界面黑屏或花屏通常是N卡驱动没装好。最简单的临时方案是在/etc/default/grub的GRUB_CMDLINE_LINUX里加nvidia-drm.modeset1然后重新生成grub.cfg。如果还不行先卸载nvidia驱动改用nouveau开源驱动测试确认不是硬件问题再回头装N卡驱动。另一个常见问题是桌面环境装了但sddm没启用开机直接进tty。解决办法是登录tty后执行sudo systemctl enable --now sddm。5.7 双系统下如何用Windows修复Linux引导这是反向操作。如果你的GRUB坏了但Windows还能进可以用Windows下的工具比如EasyBCD或者用Live USB进Arch修复。我最推荐Live USB方式因为OS-prober会自动探测Windows生成菜单时也最干净。具体流程就是重新进live环境挂载根分区和EFI分区arch-chroot然后grub-install和grub-mkconfig这个我在5.1里已经讲过。6. 一些值得你避开的“坑外坑”最后再分享几个网上教程很少提的细节。第一个关于“disk”分区工具。live环境里有parted、cfdisk、gdisk、fdisk好几个不要觉得哪个顺手用哪个。如果你的磁盘是GPT分区表用gdisk或cfdisk都没问题但如果你不小心用了fdisk去改GPT有时会提示“无法锁定系统所在分区”或者无处写。这不是硬盘坏了而是fdisk对新式GPT支持不如gdisk完善。在大多数情况下cfdisk是综合体验最好的。第二个N卡驱动和Wayland的兼容性。新版KDE默认跑Wayland但N卡在Wayland下的性能表现一直不如X11。如果你发现桌面动画卡顿、拖动窗口掉帧建议在SDDM登录界面选择“Plasma (X11)”会话。并不是非得追新。第三关于Windows的快速启动。你装双系统前最好在Windows里把“快速启动”关闭否则Windows会以休眠状态关机导致Linux认不到Windows分区甚至直接损坏NTFS文件系统中的未保存数据。控制面板-电源选项-选择电源按钮的功能把“启用快速启动”取消勾选。这步不进BIOS也能做但很多人不知道。第四个装Arch时用umount -R /mnt之前检查一下有没有把U盘挂载点搞混。有人会把/mnt当成U盘挂载点结果pacstrap装完才发现装到U盘上了。开工前养成习惯用lsblk看一遍所有挂载点眼睛别只盯着命令复制。Arch安装这事真没有想象中那么难但细节密度确实比Ubuntu高不少。我个人装过不下十次双系统每次都能发现新的幺蛾子但核心流程就是“分区分好-引导装对-驱动配齐”这三板斧。你只要把这篇里的每一个步骤都理解了再动手尤其是EFI分区保护和os-prober那两处大概率能一次成功。万一真出了意外也别慌拿着live U盘一条命令一条命令排查大多数问题都能救回来。