尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Windows 安装 Ubuntu 双系统避坑指南:UEFI、分区与引导修复全解析

Windows 安装 Ubuntu 双系统避坑指南:UEFI、分区与引导修复全解析 很多刚接触 Linux 的开发者往往会在虚拟机、WSL 和双系统之间反复横跳。虚拟机怕性能损失WSL 怕兼容性不够真正跑起 Docker、显卡驱动、嵌入式交叉编译或者内核调试时才发现问题比想象中多。折腾到最后很多人还是会选择在 Windows 主机上装一个 Ubuntu 双系统保留 Windows 应对日常办公和游戏把 Ubuntu 留给开发环境。这个方案不新潮但它解决了实际工程里最要命的一个问题你既需要 Windows 的软件生态又需要 Linux 的真实内核和完整硬件访问能力。这篇文章不是简单复述安装向导的每一步截图而是把安装双系统前后真正影响成败的环节梳理出来。包括分区怎么规划、UEFI 和 Secure Boot 怎么处理、安装时最容易踩的坑、装完以后启动菜单丢失或无 WiFi 无显卡驱动怎么收拾。无论你是第一次在 Windows 上安装 Ubuntu还是之前装过但没成功按这篇文章的思路走一遍基本能把系统跑起来。1. 为什么双系统依然是值得认真考虑的选择先聊一个前提性问题如果 VMware、VirtualBox、WSL 已经很好用了为什么还要装双系统关键在于“硬件访问”和“运行环境真实性”的差异。虚拟机里跑 LinuxCPU、内存、磁盘都是模拟出来的写内核模块、调试驱动、做性能压测时结果和真机往往对不上。WSL 虽然启动快、集成好但它的内核是微软定制维护的某些依赖特定内核版本、特定硬件能力、特定系统调用的软件在 WSL 里就是跑不完整。需要 GPU 直通、CUDA 加速、USB 设备透传、无线网卡兼容测试这类场景双系统是最直接的方式系统独占硬件性能无损耗。双系统的代价也很清楚安装有风险、启动流程变复杂、两个系统之间切换需要重启而且磁盘分区一旦规划错了后期调整非常痛苦。所以我的判断是双系统适合对 Linux 环境要求高于“随便跑跑”的人尤其是后端开发、嵌入式开发、人工智能训练、系统运维方向的同学。如果只是偶尔写几行 Python那 WSL 或虚拟机就够了没必要承担双系统的维护成本。2. 双系统的核心概念与适用场景在动手之前先理解几个决定成败的概念。安装双系统最大的障碍不是不会点鼠标而是不清楚电脑从开机到进入系统的完整流程。2.1 UEFI 与 Legacy BIOS现在的电脑基本都走 UEFI 引导配合 GPT 分区表。老式电脑或某些显卡兼容性差的设备可能还在用 Legacy BIOS MBR。UEFI 模式下系统引导文件放在独立的 EFI 分区中Windows 和 Linux 可以各自保留引导文件通过主板启动菜单切换。Legacy BIOS 模式下引导记录写在磁盘主引导区双系统共存时经常互相覆盖处理起来更麻烦。安装 Ubuntu 之前先确认自己的电脑是 UEFI 还是 Legacy。可以在 Windows 的“系统信息”里查看 BIOS 模式也可以在磁盘管理里看有没有 EFI 系统分区。绝大多数 2015 年之后的电脑都是 UEFI本文以 UEFI GPT 为主要讲解场景。2.2 Secure Boot 的作用与影响Secure Boot 是 UEFI 的一项安全机制目的是防止未签名的引导程序在启动时加载。Windows 8 以后的电脑默认开启。Ubuntu 官方支持 Secure Boot安装程序带了签名引导文件所以很多时候不关也能装。但问题是某些第三方显卡驱动、内核模块没有微软签名Secure Boot 开着会导致这些模块加载失败表现为开机黑屏、进不了桌面、WiFi 无法工作。稳妥做法是安装前在 BIOS 中关闭 Secure Boot。如果遇到奇怪的内核模块加载问题这也是第一个排查点。2.3 交换分区 swapswap 是 Linux 的虚拟内存扩展当物理内存不够时系统把部分数据换到磁盘上。内存 16GB 以下swap 建议等于或略大于内存。内存 16GB 以上可以设置 8GB 左右用于休眠和内存溢出缓冲。如果使用 SSDswap 文件放在 SSD 上没问题机械硬盘则尽量少用 swap。Ubuntu 新版默认采用 swap file 而不是 swap 分区手动分区时我会建议按需求决定是否单独分 swap。2.4 GRUB 引导管理器GRUB 是 Ubuntu 的引导管理器安装完成后它接管开机启动菜单默认列出 Ubuntu 和 Windows Boot Manager用户可以选择进哪个系统。实际安装中遇到的“启动菜单不见了”“重启直接进 Windows”“重启进 Ubuntu 但 Windows 没了”大多是 GRUB 和 Windows 引导顺序问题。3. 环境准备与前置条件动手安装前先花半小时检查机器状态比装到一半才发现磁盘空间不够稳妥得多。3.1 硬件要求磁盘至少留出 60GB 空闲空间推荐 100GB 以上。Ubuntu 系统本身 20GB 左右就能跑但开发环境、Docker 镜像、依赖缓存、模型文件很快会把空间占满。内存建议 8GB 以上开发机 16GB 起步比较舒服。准备一个 8GB 以上的 U 盘用来制作 Ubuntu 启动盘。能连上网最好有有线网络或可用的 WiFi安装完成后需要更新软件源。3.2 在 Windows 中做的准备工作创建 Windows 系统还原点。还原点不能备份全部数据但能让你在安装过程出问题时恢复部分系统设置。如果开启了 BitLocker 磁盘加密务必先暂停加密或备份恢复密钥。否则安装 Ubuntu 后Windows 分区可能因加密状态变化导致无法挂载。关闭 Windows 的“快速启动”。快速启动会让 Windows 关机时进入休眠式状态可能导致 Linux 无法正常挂载 Windows 分区甚至出现时间错乱。用磁盘管理工具压缩出未分配空间。在 Windows 搜索栏输入“磁盘管理”打开后右键点击你要压缩的卷选择“压缩卷”输入容量后确认。不要用第三方分区软件在 Windows 里强行调整分区除非你很清楚自己在干什么。3.3 下载 Ubuntu 镜像推荐使用 Ubuntu 22.04 LTS长期支持版本软件生态和驱动适配都比较成熟。也可以访问 Ubuntu 官网下载最新 LTS 镜像。注意区分桌面版和服务器版本文场景选择桌面版。3.4 制作启动盘在 Windows 上推荐使用 Rufus 或 balenaEtcher。Rufus 操作要点分区类型选择 GPT。目标系统类型选择 UEFI非 CSM。文件系统保持 FAT32 即可。点击开始即可写入。制作完成后U 盘会变成一个可引导的 Ubuntu 安装介质。4. 核心流程拆解从启动盘到进入 Ubuntu安装过程可以分为四个阶段设置 BIOS、U 盘启动、分区安装、重启配置。每一步都有容易出错的细节下面逐个拆开讲。4.1 设置 BIOS重启电脑在开机画面出现时按对应键进入 BIOS 设置界面。常见按键是 Del、F2、F10、F12具体看主板品牌。需要确认的项目启动模式为 UEFI。Secure Boot 设置为 Disabled。启动顺序中 U 盘排在第一位或者通过临时启动菜单选择 U 盘启动通常是 F12 或 F11。设置完成后保存退出电脑会从 U 盘启动。4.2 U 盘启动后的第一屏U 盘启动后会看到 GRUB 菜单包含两个选项Try or Install UbuntuTry or Install Ubuntu (safe graphics)选择第一项即可。如果出现黑屏或花屏尝试第二项。这一屏出现即说明启动盘本身没问题后续问题主要出在磁盘和显卡驱动上。4.3 安装类型选择进入 Ubuntu 安装界面后会要求选择语言、键盘布局、网络、安装类型。到“安装类型”这一步是关键分水岭。有两种常见路线自动安装选择“Install Ubuntu alongside Windows Boot Manager”安装程序会自动缩容 Windows 分区并安装 Ubuntu。适合不想手动分区的用户。手动分区选择“Something else”。适合对磁盘布局有明确规划的用户也是本文推荐的方式。如果你的 Windows 已经压缩出未分配空间自动安装通常能直接识别但手动分区能更精确地控制每个挂载点的大小。4.4 手动分区方案手动分区界面会列出当前磁盘的所有分区包括 Windows 的 EFI 分区、恢复分区、系统分区和未分配空间。请注意不要动 Windows 已有的分区只在未分配空间上创建新分区。推荐的分区方案如下挂载点大小文件系统说明/剩余空间建议 60GB 以上ext4系统根目录/home剩余空间按需分配ext4用户数据目录独立分区便于重装系统保留数据swap物理内存不足时使用8GB 左右即可swap交换空间可不建而改用 swap 文件EFI 分区不需要新建。Ubuntu 安装器会识别 Windows 已有的 EFI 系统分区并把引导文件写进去。有些教程会让你单独再建一个 EFI 分区这会增加混乱容易导致启动菜单冲突。除非你确定要独立引导管理否则共用现有 EFI 分区是最省事的方案。分区设置完成后确认“Device for boot loader installation”选择的是整块磁盘的设备名例如/dev/sda或/dev/nvme0n1而不是某个分区。这保证 GRUB 能正确安装到 UEFI 启动链中。4.5 用户账户和时区安装程序会要求创建用户名、主机名和密码。建议使用简单名字的账户避免路径中出现中文字符。时区选择会自动识别确认无误即可。安装完成后会提示重启。拔出 U 盘回车确认。5. 完整示例与配置说明下面给出几个关键步骤的完整操作示例方便照着做。5.1 在 Windows 中查看磁盘状态打开 PowerShell 或命令提示符运行以下命令确认磁盘信息和压缩空间前的准备情况# 查看磁盘及分区信息 Get-Disk # 查看卷信息确认要压缩的分区 Get-Partition # 查看 BitLocker 状态 Get-BitLockerVolume如果需要用命令行压缩卷可以使用 diskpart# 以管理员身份打开 cmd 或 PowerShell diskpart # 列出磁盘 list disk # 选择磁盘请把 0 换成实际磁盘编号 select disk 0 # 列出分区 list partition # 选择要压缩的分区 select partition 3 # 压缩 100GB单位是 MB shrink desired102400这里真正容易踩坑的地方是shrink 需要目标分区有足够可用空间而且系统分区往往有无法移动的文件导致压缩出来的空间小于预期。如果压缩选项是灰色或者压缩量特别小可以先关闭系统保护、清理磁盘碎片再尝试。5.2 制作 Ubuntu 启动盘Rufus 使用界面没有统一的命令行这里给出 balenaEtcher 的典型流程作为备选# macOS 或 Linux 下如果要用命令行写启动盘等价的 dd 命令如下 # 注意if 是 Ubuntu ISO 路径of 是 U 盘设备路径实际操作前请再三确认设备名 sudo dd if~/Downloads/ubuntu-22.04.3-desktop-amd64.iso of/dev/sdb bs4M statusprogress oflagsync在 Windows 上推荐直接用 Rufus 图形界面分区类型选 GPT目标系统类型选 UEFI然后用 FAT32 文件系统写入。不需要额外配置其他选项Rufus 会自动处理可启动标志。5.3 安装完成后验证系统状态重启进入 Ubuntu 后打开终端运行以下命令确认关键状态# 查看磁盘分区布局确认 Ubuntu 分区挂载正常 lsblk # 查看文件系统详细信息 sudo blkid # 查看内存和 swap 信息 free -h # 查看 GRUB 版本 grub-install --version # 更新软件源缓存确认网络正常 sudo apt update预期结果是lsblk输出中能看到 ext4 类型的根分区挂载在/Windows 的 NTFS 分区也能被识别free -h显示 swap 已启用或已设置为 swap 文件sudo apt update能正常拉取软件源列表。如果apt update失败先检查网络连接和 DNS 配置再检查软件源是否正确。6. 运行结果与效果验证怎么判断双系统装成功了双系统安装成功不等于配置成功。完成安装后至少要做以下验证6.1 验证启动菜单重启电脑观察 GRUB 菜单是否出现。正常情况下菜单顶部是 Ubuntu 内核选项中间是 Ubuntu 高级选项底部是 Windows Boot Manager。默认 Ubuntu 能正常进入桌面说明内核和引导流程没问题。选择 Windows Boot Manager 能进入 Windows说明 Windows 引导链没被破坏。如果只有 Ubuntu 没有 Windows或者直接进 Windows 看不到 GRUB参照第 7 节的排查方法。6.2 验证硬件驱动和网络打开“设置”里的“WiFi”确认无线网卡能搜到信号。检查显卡驱动运行ubuntu-drivers devices查看推荐驱动运行nvidia-smi验证 NVIDIA 驱动是否生效如果有 NVIDIA 显卡。检查蓝牙、USB、触控板、声音等外设是否正常工作。6.3 验证 Windows 和 Ubuntu 时间同步Ubuntu 默认使用 UTC 时间Windows 默认使用本地时间这会导致两个系统切换后时间相差 8 小时。解决办法是在 Ubuntu 中执行# 让 Ubuntu 使用本地时间与 Windows 保持一致 timedatectl set-local-rtc 1执行后重启进入 Windows再看时间是否正常。6.4 验证磁盘挂载是否正确# 查看挂载情况和磁盘使用率 df -h确认根分区、home 分区如果有、swap 状态正常。如果 Windows 分区没有被自动挂载这是正常现象Ubuntu 默认不会自动挂载 Windows 的 NTFS 分区避免误操作破坏数据。7. 常见问题与排查思路双系统安装过程中遇到的问题高度集中这里把最常见的场景整理成表格方便快速定位。问题现象可能原因排查方式解决方案安装完成后重启直接进 Windows没有出现 GRUB 菜单BIOS 启动顺序 Windows Boot Manager 优先或 GRUB 引导未写入 EFI 分区进入 BIOS 查看启动顺序用启动菜单手动选择 Ubuntu 项在 BIOS 中将 Ubuntu 设为第一启动项若找不到 Ubuntu 引导项用启动盘进入 Try Ubuntu 执行 boot-repair 修复Ubuntu 安装后没有 WiFi无线网卡驱动未安装或与内核不兼容插上网线运行lspci -k查看网卡型号和驱动状态运行sudo apt update后安装系统更新前往官方驱动页面下载对应 Linux 驱动或运行sudo apt install linux-firmware部分 Realtek 网卡需要手动编译驱动开机花屏或黑屏只能进入 safe graphics显卡驱动未正确加载或内核启动参数需要调整在 GRUB 菜单按 e 编辑启动项临时在 linux 行末尾加入nomodeset再启动安装 NVIDIA 官方驱动或 AMD 开源驱动确认 Secure Boot 状态必要时修改 GRUB_CMDLINE_LINUX_DEFAULT 配置并运行sudo update-grub启动菜单中只有 Ubuntu 没有 WindowsGRUB 未检测到 Windows 引导项在 Ubuntu 终端运行sudo os-prober和sudo update-grub若 os-prober 未识别安装 os-prober 包后重试确认 Windows 的 EFI 分区未被误删两个系统时间相差 8 小时Windows 使用本地时间Ubuntu 使用 UTC查看timedatectl状态运行timedatectl set-local-rtc 1让 Ubuntu 使用本地时间无法挂载 Windows 的 NTFS 分区Windows 启用了快速启动或系统处于休眠状态检查 ntfsfix 和 ntfs-3g 是否安装确认 Windows 完全关机和快速启动已关闭在 Windows 中关闭快速启动再回到 Ubuntu 重试必要时运行sudo ntfsfix /dev/nvme0n1pX修复 NTFS 错误安装时无法识别未分配空间Windows 压缩卷未完成或磁盘分区表冲突回到 Windows 磁盘管理确认分区状态在安装器中使用“Something else”方式查看分区删除不必要的恢复分区或调整分区不要手动删除 ESP 分区双系统切换后 Windows 变慢或蓝屏动过 Windows 分区或 GRUB 引导导致磁盘标识变化用 Windows 安装盘执行启动修复bootrec /fixmbr保持 Windows 分区结构不变安装完 Ubuntu 不要随意读写或删除 Windows 分区文件上表中出现频率最高的是“无 WiFi”“花屏”和“启动菜单丢失”三类问题。前两类的根源基本都是驱动和 Secure Boot后一类多半是 GRUB 和 BIOS 启动顺序的问题。遇到问题先别慌按表格里的“排查方式”一步步走多数都能解决。8. 最佳实践与工程建议安装完成后双系统已经能正常使用但离“长期稳定维持”还有一段距离。下面这些实践经验能帮你少走很多弯路。8.1 安装前的备份应覆盖关键数据很多教程只提醒备份“重要文件”但在工程场景里更重要的是备份系统状态Windows 的还原点、浏览器书签、SSH 密钥、数据库导出文件。建议把这四类数据单独备份尤其 SSH 私钥和数据库文件一旦丢失几乎无法恢复。备份建议放外部硬盘或云盘不要放 U 盘U 盘在制作启动盘过程中可能被格式化。8.2 磁盘分区要有“未来预留”概念很多人的安装规划是“刚好够用”结果半年后 Docker 镜像、conda 环境、node_modules 把磁盘塞满。建议在给 Ubuntu 分配空间时至少预留 20% 的余量。如果硬盘空间充足/home独立分区能让你重装系统时保留用户数据但独立分区也意味着/空间要提前算好否则以后要调整分区大小非常麻烦。8.3 Windows 快速启动和 Ubuntu 电源管理需要配合在 Windows 中关闭快速启动不仅是为了避免 NTFS 分区挂载异常还会影响双系统的休眠和唤醒行为。Ubuntu 侧建议设置合理的自动挂载策略尤其是当你需要在 Ubuntu 里读 Windows 文件时挂载时加上windows_names和uid、gid参数避免文件权限混乱。8.4 GRUB 启动菜单可以进一步管理安装完成后的 GRUB 默认行为可能不是你想要的。例如想把 Windows 设为默认系统可以修改/etc/default/grub# 查看当前 GRUB 菜单中的系统顺序 grep menuentry /boot/grub/grub.cfg找到 Windows 对应的菜单序号后修改 GRUB 配置sudo nano /etc/default/grub把GRUB_DEFAULT0改成 Windows 对应的序号然后更新 GRUBsudo update-grub如果不想手动改配置文件也可以安装 grub-customizer 图形工具但注意版本兼容性不要用它改动 EFI 分区的结构。8.5 驱动安装要有验证手段显卡驱动和 WiFi 驱动是双系统最常见的两个“隐形杀手”。安装驱动后建议立即验证显卡驱动运行nvidia-smi确认驱动版本和 CUDA 版本匹配。WiFi 驱动连接一个实际热点连续 ping 外部地址观察丢包情况而不是只看图标是否显示连接。如果驱动安装后开机花屏不要急着卸载驱动。先进入恢复模式或 safe graphics重新安装匹配的驱动版本或者更新内核后再试一次。很多时候不是驱动本身有问题而是内核版本和驱动版本对不上。8.6 分区和引导操作记录到文档双系统环境最怕“时间久了忘了当初怎么做”。建议安装完成后把这次安装的分区表、驱动版本、GRUB 配置、Secure Boot 设置记录到一个 Markdown 文件里。以后系统出问题或者要重装换机时这份记录能节省大量时间。9. 总结与后续学习方向这篇教程从双系统的选型讲起到核心概念、环境准备、安装流程、验证方式和常见问题排查基本上覆盖了 Windows 主机安装 Ubuntu 双系统的完整链路。相比虚拟机或 WSL双系统提供的是真正的硬件级 Linux 环境特别适合开发、调试、性能测试等需要贴近系统的场景。如果你按照步骤完成了安装下一步可以尝试建立自己的日常使用体系配置 Docker 环境、安装 Python 开发工具链、设置远程开发服务器、迁移 Windows 下的常用工作流。双系统只是入口真正有价值的是你在 Ubuntu 上跑起来的服务和应用。需要提醒的是双系统维护并不是一劳永逸的事。Windows 大版本更新、Ubuntu 内核升级、BIOS 固件刷新都有可能影响 GRUB 引导链。遇到问题时不要把“重装”当作第一选项先检查启动顺序、GRUB 配置和驱动状态大多数问题都能在系统层面解决。备份策略永远不要省它能让你在折腾各种配置时心里有底。
返回列表