尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Windows 11 与 Ubuntu 22.04 双系统安装指南:从分区到 GRUB 引导修复全解析

Windows 11 与 Ubuntu 22.04 双系统安装指南:从分区到 GRUB 引导修复全解析 写这篇东西之前我得先说实话双系统这活儿网上教程一抓一大把但照着做完翻车的也不在少数。我前前后后给台式机、笔记本装过二十多次 Windows 11 和 Ubuntu 22.04 的组合踩过的坑基本都能写一本小册子了。这篇不是让你复制粘贴就完事的那种教程而是把我认为真正关键、真正会导致失败的地方挨个拆开讲清楚。如果你正准备在 Windows 11 上装 Ubuntu 22.04 双系统又不想折腾到半夜然后第二天抱着电脑去修建议你先花十分钟把这篇看完。先说结论这个方案适合谁。你可能是做深度学习、跑 ROS 机器人开发、搞嵌入式交叉编译或者单纯受够了 WSL 的性能损耗和文件系统别扭。Ubuntu 22.04 是目前 LTS 里兼容性最好的一个官方支持到 2027 年软件源、驱动、社区资料都全。Windows 11 和它共存既能保住日常办公、网银、游戏又能切到 Linux 干正事属于目前最均衡的配置。1. 装双系统前必须想清楚的事方案选型与整体思路1.1 为什么是双系统而不是虚拟机或 WSL很多人一开始会纠结我直接用 VMware / VirtualBox 跑 Ubuntu 不就行了或者 Windows 11 自带的 WSL2 也挺好用何必搞双系统这麻烦事虚拟机的好处是隔离、快照、随时删除对日常学习 Linux 命令、跑一些小脚本完全够用。但它的硬伤是性能损耗和硬件直通问题。深度学习训练时 GPU 使用率上不去USB 设备、串口、外接传感器经常要折腾半天才能透传给虚拟机跑 ROS 和真机通信时延迟也明显。WSL2 更适合做轻量开发但它毕竟不是完整内核。你要是搞内核模块编译、eBPF、系统级调优或者某些要求特定硬件访问的工业软件WSL2 会直接劝退。所以当你的工作流里出现“必须访问真实硬件”“需要完整 Linux 内核”“性能敏感”这三者中的任意一个双系统就是最靠谱的选择。Windows 11 留在固态硬盘第一分区Ubuntu 22.04 装在另一块空间启动时用 GRUB 选系统互不干扰。1.2 安装前必须确认的硬件与固件环境这里我要反复强调安装失败绝大多数不是操作问题而是环境没准备好。开工之前先过一遍下面这几个检查项。第一确认电脑是 UEFI 模式还是 Legacy 模式。近五年的机器基本全是 UEFI GPT 分区表Ubuntu 22.04 默认也按 UEFI 安装。你可以先在 Windows 搜索框输入“系统信息”看 BIOS 模式是不是“UEFI”。如果是 Legacy后面安装思路会不一样但这里我们按绝大多数人的 UEFI 情况讲。第二Secure Boot 建议直接关掉。Ubuntu 22.04 虽然支持 Secure Boot但装 NVIDIA 闭源驱动、部分第三方内核模块时会引入签名校验的麻烦。安装阶段先关掉它等系统稳定了想开再开能省掉一堆莫名其妙的问题。第三BitLocker 或“设备加密”必须提前解除。Windows 11 品牌机很多默认开了设备加密如果没关就说安装双系统装完 Ubuntu 后 Windows 分区可能会被锁定甚至进不了系统。到 Windows 设置里的“隐私和安全-设备加密”或者控制面板的“BitLocker 驱动器加密”确认是关闭状态再动手。第四硬盘模式 AHCI 与 RAID 的问题。这个坑非常隐蔽。很多 OEM 笔记本出厂时 SATA 模式默认是 Intel RST 的 RAID / Optane 模式而不是标准 AHCI。Linux 内核没有 Intel RST 驱动安装程序会直接看不到硬盘或者安装时一切正常、重启后进不去系统。开机进 BIOS找到 SATA Mode / VMD Controller 之类的选项确保是 AHCI。如果你从 RAID 改成 AHCI 后 Windows 蓝屏了参考后面的“AHCI 切换避坑”部分。1.3 磁盘空间怎么分分区方案推荐我见过不少新手直接在 Ubuntu 安装界面选了“Erase disk and install Ubuntu”把整个 Windows 抹了最后哭着找恢复。正确做法是在 Windows 里先把空间腾出来。打开 Windows 磁盘管理右键点击你的系统盘一般是 C 盘选择“压缩卷”输入要给 Ubuntu 的大小。建议至少留出 120GB。512GB 硬盘就分 150GB1TB 硬盘就分 200~300GB。压缩完成后会有一块显示为“未分配”的空间这里就是给 Ubuntu 用的地盘。你可能会遇到压缩卷可压缩空间很小的情况比如 C 盘装得满或者系统文件在磁盘中间挡住了。这时候先关掉 Windows 的休眠功能管理员运行 powercfg /h off、临时关掉虚拟内存压缩出来后重启再开回去。实在不行用第三方分区工具比如 DiskGenius 调整但这属于进阶操作动分区之前一定先备份重要资料。硬盘空间规划上我推荐这么分分区大小文件系统挂载点说明EFI 系统分区512MB~1GBFAT32/boot/efi如果已有 Windows ESP可复用或新建建议新建一个给 Ubuntu 专用根分区60~100GBext4/系统、软件装这里的给够避免以后扩容麻烦/home 分区剩余全部ext4/home我的设计原则是 /home 越大越好个人数据、虚拟环境都在这swap 交换空间8~16GBswap无内存 16GB 以下建议给32GB 以上可以做 swapfile 或者 16GB 分区说明一下为什么单独分 /home。Ubuntu 系统更新、重装、甚至换发行版只要 /home 不动桌面环境配置、下载的文件、项目代码都还在。这是老 Linux 玩家的习惯新手可能觉得没必要等你某天系统崩了重装一次就懂了。2. 制作启动盘与 BIOS/UEFI 设置决定成败的前置动作2.1 下载镜像与校验完整性Ubuntu 22.04 的镜像去官网 ubuntu.com/download/server 或 desktop 页面下载文件名类似 ubuntu-22.04.x-desktop-amd64.isox 是版本号。要注意区分桌面版desktop和服务器版server我们日常桌面用途装 desktop 版就行。下载完不要急着写盘建议校验一下 SHA256 是否和官方页面一致。Windows 下打开终端WinS 搜索 PowerShell运行Get-FileHash .\ubuntu-22.04.x-desktop-amd64.iso -Algorithm SHA256把输出的哈希值和官网页面的比对。这一步能筛掉下载损坏的情况我遇到过两次镜像损坏导致安装中途直接报错的后来都养成习惯了。2.2 制作启动盘的两种方案Rufus / VentoyU 盘建议用 8GB 以上USB 3.0 最好注意 U 盘内容会被清空。制作启动盘我推荐两个工具Rufus 和 Ventoy。Rufus 是老牌工具操作直观。打开后设备选 U 盘引导类型选“磁盘或 ISO 映像”点选择找到刚下载的 ISO。分区类型选 GPT目标系统选 UEFI非 CSM文件系统保持默认 FAT32 就行。点开始后会弹出写入模式一般选“ISO 镜像模式”如果你的 U 盘比较旧或写入失败再用 DD 镜像模式试。整个过程几分钟。Ventoy 的思路不一样它先把 U 盘做成一个引导盘之后你只要把 ISO 文件直接复制进去就能启动一个或多个 Linux 发行版还能保留 U 盘的剩余空间存别的资料。做法是去 Ventoy 官网下载 Windows 版插入 U 盘一键安装 Ventoy 到 U 盘然后把 Ubuntu ISO 复制进 U 盘里的分区。开机从 U 盘启动后Ventoy 菜单会列出所有 ISO选 Ubuntu 回车即可。很多教程让你用 UltraISO 或 Win32DiskImager 写 Linux ISO我只能说能启动但兼容性和规范性都不如 Rufus / Ventoy。遇到引导失败先换启动盘制作方式这是最基本的排查思路。2.3 BIOS 设置清单与 AHCI 切换避坑启动盘做好后重启进入 BIOS。进 BIOS 的方式因品牌而异常见是开机时按 Del 或 F2笔记本可能是 F10、F12、Esc。如果你手速跟不上可以在 Windows 11 设置里系统-恢复-高级启动点“立即重新启动”然后在出现的蓝色界面里选“疑难解答-高级选项-UEFI 固件设置”就可以直接进 BIOS。进入 BIOS 后按这个清单过一遍关闭 Secure Boot在 Boot 或 Security 菜单下设为 Disabled。关闭主板 Fast Boot / 快速启动这会影响 U 盘引导识别先关掉。确认 CSM 关闭、启动模式为 UEFICSM 兼容模块会导致 GRUB 识别出错关掉。SATA 模式改为 AHCI如果前面发现是 RAID/Optane 模式先记下当前值再切换。关于 AHCI 切换直接改可能导致 Windows 蓝屏提示 INACCESSIBLE_BOOT_DEVICE。正确顺序是先在 Windows 里启用标准 AHCI 驱动。用管理员权限打开命令提示符或 PowerShell执行bcdedit /set {current} safeboot minimal然后重启进 BIOS把 SATA 模式从 RAID 改成 AHCI保存退出。Windows 会进入安全模式此时设备管理器会自动加载标准 NVM Express / AHCI 驱动然后在管理员终端执行bcdedit /deletevalue {current} safeboot再重启一次Windows 就正常了。这个技巧很实用我给人修过好几台改完 AHCI 进不去 Windows 的机器都是这样救回来的。检查没问题后把 U 盘插上从 BIOS 里选择从 U 盘启动。有些机器可以在启动时按 F12 之类的快捷键直接调出启动菜单U 盘那一项一般叫“UEFI: 你的 U 盘品牌名”。3. 安装 Ubuntu 22.04手动分区与引导全流程3.1 进入 Live 环境后的第一件事U 盘启动后会看到 GRUB 菜单选第一项“Try or Install Ubuntu”进入 Live 桌面环境。这里我建议先选“Try Ubuntu”不要直接点安装原因很简单先在这个临时系统里确认几个关键问题。打开终端CtrlAltT执行lsblk看一下磁盘列表确认能看到 Windows 所在硬盘和之前压缩出来的未分配空间。如果你在 lsblk 里只能看到 U 盘、看不到内置硬盘基本可以断定是 RAID 模式没改对回 BIOS 再检查一遍。接着确认网络。有线网卡一般自动就能上网Wi-Fi 的话点右上角连一下。之所以建议先联网是因为安装程序在联网状态下能自动下载一些第三方驱动和更新尤其是笔记本的无线网卡、NVIDIA 显卡驱动装完以后能少折腾很久。再测试一下触控板、触摸屏、声音这些基本硬件是否正常如果 Live 环境就不工作装到硬盘后大概率也不工作至少你得心里有数。3.2 Something else 手动分区详解一切正常后双击桌面上的“Install Ubuntu”一路选择语言、键盘布局到“Installation type”这一步也就是最关键的一步。千万不要选红色文字的“Erase disk and install Ubuntu”要选最底部的“Something else”中文界面显示“其他选项”。进入分区界面后你会看到磁盘列表和现有 Windows 分区。找到顶部写着“空闲”的未分配空间选中它然后点左下角的加号新建分区。我按前面的分区方案拆开说第一步创建 EFI 系统分区。大小填 1024MB1GB类型选“EFI 系统分区”。之所以建议新建一个 Ubuntu 专用的 EFI 分区而不是直接用 Windows 那个是为了以后删 Ubuntu 不影响 Windows 的引导逻辑上更干净。第二步创建根分区。大小填 102400MB100GB文件系统选 ext4挂载点选“/”。这一步是整个系统的主要载体装软件、系统更新都在这建议给足。第三步创建 /home 分区。大小用剩余的全部空间或者你想要的 150~300GB文件系统 ext4挂载点选“/home”。个人数据都放这里重装系统时选这个分区为 /home 且不要格式化数据就还在。第四步创建 swap。如果你有 16GB 或 32GB 内存可以建一个 16GB 的 swap 分区也可以用 swapfile。我现在的习惯是直接在 /home 或 / 下用 swapfile因为分区大小后期不好调。但为了新手省事分区方案里加一个 8~16GB 的 swap 分区也没问题。内存够大的人可以完全不要 swap但笔记本电脑建议保留合盖休眠用得上。分完后检查最下方的“Device for boot loader installation”安装启动引导器的设备。这是新手最容易翻车的地方。注意这里是选整个磁盘不是分区。比如你的硬盘是 /dev/nvme0n1就选 /dev/nvme0n1而不要选 /dev/nvme0n1p1。只有选整个磁盘GRUB 才能正确写入 UEFI 引导项然后把 Windows Boot Manager 一起收编进 GRUB 菜单。3.3 安装选项细节分区设置好以后点“Install Now”前确认底部两个复选框“Install third-party software for graphics and Wi-Fi hardware and additional media formats” 建议勾选。这个就是前面说的安装第三方驱动尤其 N 卡用户勾了之后能避免很多装完黑屏的问题。“Download updates while installing Ubuntu” 建议勾上前提是你已经联网。虽然安装时间会长一些但装完系统包就是较新的状态。接下来设置时区、用户名、主机名和密码。建议密码尽量简单好记因为你以后需要频繁用 sudo。如果你拿这台机器跑服务或希望开机自动登录可以在登录界面选择“自动登录”不然就正常设密码。点安装后这个安装过程大概 10~30 分钟取决于硬盘速度和下载源速度。期间别强制断电等安装完提示重启。3.4 第一次重启后的初始化重启后如果你看到 GRUB 菜单里既有 Ubuntu 又有 Windows Boot Manager说明引导已经成功接管。如果没看到 GRUB可能直接进了 Ubuntu或者直接进了 Windows后面第 4 章会讲如何处理。进入 Ubuntu 后我先建议做三件事。第一更新系统sudo apt update sudo apt upgrade -y第二检查显卡和有问题的硬件。NVIDIA 用户执行ubuntu-drivers devices sudo ubuntu-drivers autoinstall装完驱动后重启跑一下 nvidia-smi 确认驱动正常。Intel 核显一般开箱即用。第三确认时间显示是否正确。如果 Ubuntu 里时间比 Windows 快了 8 小时或者反过来参考第 4.2 节解决。4. 双系统启动细节GRUB 调优、时间同步与启动项修复4.1 GRUB 引导菜单调整默认情况下GRUB 会等待 10 秒让你选择系统。如果你想默认进 Windows或者缩短等待时间可以改配置文件。先打开配置文件sudo nano /etc/default/grub重点看这几个参数GRUB_DEFAULT0 GRUB_TIMEOUT10GRUB_DEFAULT0 表示默认启动菜单第一项如果你第一个条目是 Ubuntu想默认 Windows 就先运行 os-prober 查看菜单里 Windows 是第几个也可以直接把 GRUB_DEFAULT 改成 Windows Boot Manager 前面的数字索引但升级内核后索引可能变化。更稳的做法是用 savedGRUB_DEFAULTsaved GRUB_SAVEDEFAULTtrue GRUB_TIMEOUT5这样下次手动选了哪个系统之后就会一直默认启动那个。GRUB_TIMEOUT 改成 5 秒就不会觉得卡顿。改完保存执行sudo update-grub这里有个知识点Ubuntu 22.04 的 os-prober 有时候在 UEFI 启动下不会自动发现 Windows。如果你发现 GRUB 菜单里没有 Windows先执行 sudo update-grub还是不行就检查 /etc/default/grub 里有没有被注释掉的 GRUB_DISABLE_OS_PROBERfalse有的话取消注释再 update-grub。这不是常见情况但我确实遇到过。4.2 Windows 与 Ubuntu 时间不一致的处理装完双系统最容易发现的问题就是两个系统的时间总是差 8 个小时。原因是 Windows 把硬件时钟RTC当作本地时间Ubuntu 当作 UTC 时间。解决办法有两个选一个就行。方案一让 Windows 把硬件时钟当 UTC 处理。在 Windows 里用管理员身份打开命令提示符执行reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /d 1 /t REG_DWORD /f然后重启 Windows时间就正常了。以后想取消修改删掉这个值即可。方案二让 Ubuntu 把硬件时钟当本地时间。在 Ubuntu 终端执行timedatectl set-local-rtc 1 --adjust-system-clock我个人推荐方案一因为 Windows 是很多人的“主系统”改完以后就算哪天删掉 Ubuntu也不必担心时间问题。4.3 引导坏了怎么办Live U 盘里修复 GRUB这里讲一个必须掌握的应急技能。你可能会遇到这些情况Windows 更新后 GRUB 没了开机直接进 Windows或者 GRUB 损坏后停在 grub rescue 提示符或者装完 Ubuntu 后开机停留 black screen看不到引导菜单。准备一个 Ubuntu Live U 盘从 U 盘启动进 Try Ubuntu。打开终端先查看分区布局lsblk -f假设 Ubuntu 根分区是 /dev/nvme0n1p5EFI 系统分区是 /dev/nvme0n1p1具体以实际输出为准不要照抄依次执行sudo mount /dev/nvme0n1p5 /mnt sudo mount /dev/nvme0n1p1 /mnt/boot/efi sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt进入 chroot 环境后执行grub-install /dev/nvme0n1 update-grub exit sudo reboot拔掉 U 盘重启GRUB 就回来了。这里我再提一个更省事的工具Boot-Repair。进入 Ubuntu Live 环境后连接网络在终端执行sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair -y boot-repair选择“Recommended repair”它会自动检测分区、重新安装 GRUB。成功率挺高但有些机器会自动创建额外的 EFI 分区导致 GRUB 菜单里出现多个 Ubuntu 条目纯新手可能会懵所以我还是推荐先学会手动 chroot 方法理解原理比工具更重要。5. 装完双系统后最容易踩的 7 个坑附排查速查表5.1 网卡 / Wi-Fi 识别不到Ubuntu 22.04 默认内核是 5.15对 Intel 网卡兼容性很好但 Realtek 的某些较新芯片比如 RTL8852BE、RTL8821CE在默认内核下可能没有驱动现象是右上角没有 Wi-Fi 图标只有有线。我装过的几台笔记本都中过招。排查思路先插网线联网执行 sudo apt update sudo apt upgrade看有没有更新内核。更彻底的办法是安装 HWE 内核Ubuntu 22.04 提供了较新的硬件支持内核sudo apt install linux-generic-hwe-22.04重启后网卡大概率就好了。如果还不行用 lspci 或 dmesg 找到网卡型号然后搜“Ubuntu 22.04 对应芯片型号”按社区里的方法通过 DKMS 安装驱动。不要去 Windows 设备管理器里拿驱动直接装Linux 驱动格式不一样。5.2 NVIDIA 显卡驱动问题N 卡在 Ubuntu 22.04 上的坑主要集中在两点一是装驱动前用开源的 Nouveau 驱动开机黑屏或花屏二是装好官方驱动后如果开着 Secure Boot驱动模块加载不了。我现在的标准流程是安装系统时直接勾选“Install third-party software”装完进系统后立刻接有线网络更新系统然后执行 ubuntu-drivers autoinstall。装完驱动重启如果启动卡在登录界面循环按 CtrlAltF2 进入 tty 终端登录后用命令行检查 /var/log/Xorg.0.log 或直接尝试切换到 Xorg 会话。另外Ubuntu 默认登录界面可能用的是 Wayland部分老显卡驱动和远程软件兼容性不好。可以在登录界面右下角齿轮图标切换“Ubuntu on Xorg”。这个问题在 22.04 上不算常见但如果有异常显示、鼠标延迟、屏幕闪烁第一时间切 Xorg 试试。5.3 休眠与挂起无法唤醒笔记本合盖再打开屏幕黑屏无法唤醒或者唤醒后直接死机这也是高频问题。原因很多NVIDIA 驱动与内核的电源管理配合不佳是主要因素之一。如果你不依赖休眠功能最简单是直接关掉挂起和休眠省得它半夜睡死过去。执行sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target如果只是想保留手动休眠可以在 GRUB 配置里加 resume 参数指向 swap 分区但改动较麻烦我觉得对新手来说先禁用睡眠更稳妥。台式机玩家也可以直接去 BIOS 里关掉 S3 睡眠支持效果一样。5.4 Windows 被 BitLocker 或快速启动卡死装完 Ubuntu 后重启进 Windows 提醒“需要修复”或者干脆蓝屏最常见原因就是 BitLocker 没关干净或者 Windows 快速启动开了。快速启动是 Windows 8 以来的默认功能看似是“关机”但其实是把内核休眠了导致下次启动时硬件状态被 Linux 改动后不匹配。进 Windows 后在控制面板-电源选项-选择电源按钮的功能里取消勾选“启用快速启动”。如果你已经进不去 Windows去 BIOS 把启动顺序临时改回 Windows Boot Manager多尝试几次或者在 Ubuntu Live 环境下用 boot-repair 修一下引导但最根本的还是先进 Windows 关闭快速启动并确保 BitLocker 处于关闭状态。5.5 声音、蓝牙、触控板不正常这类问题大多是内核版本较旧导致的。HWE 内核不只是解决网卡驱动对声卡、蓝牙、触控板也有大量改进。我先推荐安装sudo apt install linux-generic-hwe-22.04重启后如果还有硬件问题用 dmesg 看内核日志sudo dmesg | grep -i firmware缺失固件一般会有提示。台式机蓝牙无法开关、笔记本扬声器没声音很多时候换个内核版本就解决了。Ubuntu 官方 QA 对主流硬件覆盖率还是不错的我的经验是优先升级内核别一上来就自己编译驱动。5.6 启动顺序被 Windows 更新抢走这个太常见了。Windows 大版本更新后会把 Windows Boot Manager 改成第一启动项结果开机直接进 WindowsGRUB 菜单不见了。这不是 GRUB 坏了是 UEFI 启动顺序变了。办法一重启进 BIOS找到启动顺序选项把 Ubuntu 那一项调回第一位。办法二在 Ubuntu 里用 efibootmgr 查看和调整sudo efibootmgr记下 Ubuntu 对应的 Boot 编号比如 Boot0002 是 ubuntuBoot0001 是 Windows Boot Manager然后执行sudo efibootmgr -o 0002,0001数字换成你自己的。以后 Windows 再抢就再调一次不影响数据。5.7 后悔了安全删除 Ubuntu 回单系统如果你最终想把 Ubuntu 删掉只留 Windows千万注意顺序先修 Windows 的引导再删 Linux 分区顺序反了会进不了系统。简单说第一步进 Windows用 EasyUEFI 或 diskpart 删掉 UEFI 启动项里的 ubuntu第二步在磁盘管理里把 Ubuntu 的根分区、/home、swap 分区逐一删除再把空间合并回 Windows 分区第三步重启确认 Windows 正常。不要用“格式化 EFI 分区”这种粗暴做法那会把 Windows 引导一起干掉到时候只能找修复盘。5.8 双系统问题速查表现象大概率原因推荐处理安装时看不到内置硬盘SATA 模式为 RAID / Intel RSTBIOS 改 AHCIWindows 里先开 safeboot 再改装完开机直接进 WindowsUEFI 启动顺序被改BIOS 或 efibootmgr 把 ubuntu 调回第一开机停在 grub rescueGRUB 引导损坏用 Live U 盘 chroot 重装 GRUB两个系统时间差 8 小时RTC 时钟标准不一致改 Windows 注册表 RealTimeIsUniversal1Ubuntu 没有 Wi-Fi网卡驱动缺失装 HWE 内核或按芯片型号装驱动N 卡黑屏 / 装驱动失败Secure Boot 或 Nouveau 冲突关闭 Secure Bootubuntu-drivers autoinstall合盖唤醒黑屏休眠电源管理问题禁用 sleep.target / suspend.targetWindows 频繁进修复BitLocker 或快速启动确认 BitLocker 关闭取消快速启动最后再说一句掏心窝的话我第一次装双系统的时候因为没提前关 BitLocker装完后 Windows 分区差点打不开紧张得不行。后来养成的习惯就是“安装前慢一点检查做到位安装中选分区看清楚别手滑装完先别急着删东西多试几天再清理”。很多人装双系统失败不是技术难度大而是太着急。你按这篇的步骤走有耐心Windows 11 和 Ubuntu 22.04 双系统基本上是一次能成的。
返回列表