公司动态
Windows+Ubuntu双系统安装指南:UEFI分区与GRUB引导修复
在 Windows 主机上装 Ubuntu 双系统是我见过最容易“看着教程顺自己动手就翻车”的操作之一。很多人卡在三个地方U 盘启动后根本看不到安装界面、分区方式理解错了、装完 Ubuntu 之后 Windows 启动项又丢了。这篇教程就围绕 Windows Ubuntu 双系统安装这件事按我自己实测过的顺序把准备、镜像下载、启动盘制作、分区、引导设置和常见排错一起讲清楚。适合想在工作机上保留 Windows同时需要一个 Linux 环境做开发、运维、数据处理或学习的人。先说一个核心判断双系统不复杂但非常吃前置条件。硬件接口是 UEFI 还是 Legacy、Windows 有没有开 BitLocker、预留空间够不够、启动 U 盘的分区格式和 Windows 是否一致这些都会直接决定你能不能装成功。下面按实际落地顺序拆开讲。1. 安装双系统前先确认 Windows 主机的基本条件1.1 磁盘模式UEFI GPT 和 Legacy MBR 的区别这是双系统最容易踩的第一个大坑。不是所有 Windows 主机都用同一种启动方式而 Ubuntu 安装时最怕的就是“引导方式前后不一致”。新电脑基本上都是 UEFI 模式磁盘分区表用 GPT。老电脑或者部分大厂商自定义过的机器可能是 Legacy传统 BIOS模式磁盘分区表用 MBR。如果 Windows 是 UEFI GPTUbuntu 也最好按照 UEFI GPT 来装如果 Windows 是 Legacy MBRUbuntu 还硬往 UEFI 上装就会出现装完无法引导、两个系统互相找不到对方的情况。判断方法很简单在 Windows 里按 Win R输入msinfo32回车看“BIOS 模式”这一项。显示“UEFI”就是 UEFI 模式显示“传统”就是 Legacy。这个信息会直接影响你后面做启动盘时的分区类型选择建议提前记下来不要等到安装界面再猜。还有一种情况是 BIOS 里开着 CSM 兼容模式盘是 GPT 的但采用 UEFI 引导用起来会有各种兼容问题。能关 CSM 的前提下优先关掉保持纯 UEFI 启动。1.2 磁盘空间规划给 Ubuntu 留多少合适双系统的本质是共用一块物理硬盘但各用各的分区。Ubuntu 不会主动去碰 Windows 分区但你需要给它准备一块“未分配空间”。打开 Windows 磁盘管理右键点击 C 盘选择“压缩卷”输入你想压缩出来的空间大小。单位是 MB比如想留 100GB就填 102400。压缩出来的空间会显示为“未分配”这个状态是最理想的Ubuntu 安装时可以直接使用。空间给多少要看用途只做学习、命令行、写代码50GB 左右够用。要做容器、图像处理、数据分析建议 100GB 起步。如果还打算在里面跑比较大的模型、本地数据库、编译源码200GB 以上更稳。压缩卷不是想压多少就能压多少。如果 C 盘本身很满或者开了休眠、系统保护、页面文件占用了很多尾部空间压缩可用空间会很小。这时先清理磁盘、关闭休眠再压或者用第三方分区工具从前面挪空间。1.3 备份和加密状态检查不要跳过备份这一步。虽然双系统安装本身不会主动删除 Windows 数据但分区操作、断电、U 盘启动异常都可能造成无法预料的结果。我一般会把重要项目、文档、浏览器书签、数据库导出文件先拷到移动硬盘或网盘再开始折腾系统。另一个必须检查的东西是 BitLocker。很多 Win10/Win11 企业版和部分品牌机默认开启了 BitLocker 加密实际体验就是 C 盘图标上带一把锁。装 Ubuntu 过程中一旦改了启动链Windows 下次启动可能要求输入恢复密钥。如果密钥没备份直接卡死在解锁界面。所以安装前最好在 Windows“设置 - 隐私和安全性 - 设备加密”或者控制面板的“BitLocker 驱动器加密”里先把保护暂停掉。暂停不是关闭装完系统后可以再打开。注意如果没办法确认是否开过 BitLocker建议在 Windows 里用管理员命令manage-bde -protectors -get C:看一眼。有输出说明已加密提前导出恢复密钥。2. 下载 Ubuntu 镜像制作可启动 U 盘2.1 版本怎么选优先 LTS不要盲目追新Ubuntu 分长期支持版和短期版本。长期支持版一般是偶数年的 4 月发布常规支持期五年社区和驱动的适配度也更高。现在比较常用的是 22.04 LTS 和 24.04 LTS普通用户选 LTS 就对了。遇到新硬件比如刚发布的笔记本建议选较新的 LTS 或者带着 HWE 内核的版本否则可能出现网卡、核显无法识别的问题。机器很老的话重一点选 22.04 这类适配更成熟的版本。不要为了“看起来新”去装六个月的短期版本教学环境里没必要。下载地址老老实实去 Ubuntu 官网。如果下载慢国内大学和云厂商的镜像站也可以但要注意尽量选与官网版本一致的文件避免装上后源和版本对不上。下载时留意镜像文件名里的 amd64这代表 x86_64 架构。绝大部分 Intel 和 AMD 桌面端处理器都是这个架构不要下成 arm64。2.2 用 Rufus 制作启动盘U 盘准备一个容量建议 8GB 以上。制作过程会清空 U 盘里面如果有文件先备份。Rufus 是 Windows 下非常常用的启动盘工具。打开后选择 U 盘点“选择”找到刚下载的 ISO 镜像然后在“分区类型”里选择如果确认 Windows 是 UEFI GPT选 GPT。如果确认是 Legacy MBR选 MBR。不确定的选 UEFInon CSM优先但装不上时再回来试 MBR。目标系统类型跟随分区类型自动选就行。文件系统一般保持默认Rufus 会自己决定。点击“开始”之后如果提示需要用“ISO 镜像模式写入”用默认模式即可如果提示要用“DD 镜像模式”也直接确认。一个常见情况是 Rufus 写入完成但重启后发现 U 盘没有被识别。先不要急着重做检查启动方式是否选对、Secure Boot 是否影响或者换个 USB 接口再试。很多时候问题出在电脑根本没有进入 U 盘启动而不是启动盘没做好。2.3 用 Ventoy 制作多系统启动盘如果手边 U 盘不只是想装 Ubuntu而是想同时放 Windows、Ubuntu、PE 维护盘等多个镜像可以用 Ventoy。Ventoy 的思路是把 U 盘做成一个可引导容器然后把 ISO 文件直接复制进去。重启后从 U 盘启动会出现一个镜像选择菜单选中哪个就引导哪个。优点是不用反复重刷 U 盘缺点是在个别老机器或者兼容性有问题的固件上不如 Rufus 稳。双系统这种场景我个人建议第一次使用用 Rufus少一个变量。Ventoy 更适合你已经在维护电脑、经常重装系统的阶段。3. 进入 Ubuntu 安装界面把控装系统的关键步骤3.1 从 U 盘启动临时启动菜单和 BIOS 设置启动盘插上后重启电脑。不要等 Windows 正常进去开机时立刻按启动菜单键。不同品牌不一样大多数台式机组装机F11、F12、Esc。常见笔记本F12、F10、F2。少数联想、HP、Dell 机型可能需要 F9 或 FnF12。如果厂商不给启动菜单就进 BIOS 设置在启动顺序里把 U 盘调到第一位保存重启。进入 U 盘后Ubuntu 会显示 GRUB 菜单里面有“Try or Install Ubuntu”“安全图形模式”等选项。如果不确定显卡驱动兼容性或者担心花屏、黑屏可以先选“安全图形模式”。只是学习环境正常进“Try or Install Ubuntu”就行出现问题时换安全模式再试。这里要注意 Secure Boot。新机器默认开启多数 Ubuntu 镜像支持但如果你后面装 NVIDIA 闭源驱动遇到问题或者在安装时就卡在奇怪的地方可以先进入 BIOS 关掉 Secure Boot。老架构和集成显卡其实影响不大。3.2 安装引导试用还是直接安装启动盘的“试用”模式适合做什么适合在做破坏性操作前确认硬件能不能被识别。比如打开终端看一下无线网卡是否存在、硬盘列表是否正确、磁盘是不是你想象的那块。这些确认完再点桌面的“安装 Ubuntu”。安装向导里的语言、时区、键盘布局按实际情况选。区域选在上海键盘布局选 English (US) 还是 Chinese 看你的输入习惯。有一个细节值得提联网后安装器会问“安装时下载更新”和“安装第三方软件”。我建议第一条先不勾选因为安装过程中下载更新会拖慢整个流程还可能因为源不稳定导致安装中断。第三方软件可以先勾上也可以等装完进系统再补。做双系统第一步是先把系统本体装上去能省事就省事。3.3 安装类型选择“与 Windows 共存”还是手动分区到这一步是分水岭。Ubuntu 给了几个选项清除整个磁盘并安装 Ubuntu绝对不能选这是单系统安装会把 Windows 一起抹掉。与 Windows Boot Manager 共存适合完全不管分区的人。安装程序会自动缩小现有 Windows 分区给 Ubuntu 腾空间。其他选项适合手动分区推荐使用。“与 Windows 共存”看起来友好但实际体验有两点不好第一它能给 Ubuntu 分多少空间不由你精准控制第二如果 Windows 分区有 BitLocker、休眠文件、文件碎片等原因自动调整可能失败。更稳的做法是选“其他选项”自己分配空间。4. 手动分区怎么分才能减少启动和容错问题4.1 EFI 分区、根分区和交换分区怎么规划选到“其他选项”后安装程序会列出所有分区。你会看到 Windows 的 NTFS 分区、一个 EFI 系统分区、一个恢复分区以及你在 Windows 里压缩出来的“空闲空间”。如果 Windows 是 UEFI GPT最干净的做法是共用现有 EFI 分区。那个 EFI 分区一般很小100MB 到 500MB文件系统是 FAT32标记为“EFI 系统分区”。不要格式化它保留已有内容只需要在选挂载点时把它挂到/boot/efi。然后在空闲空间上新建分区。我一般建议最简架构根分区/大小 40GB 到 100GB文件系统 ext4。如果空间足够建议 100GB这样后面装开发工具、Docker、本地库都比较宽裕。交换分区 swap如果物理内存不到 8GB给 8GB 到 16GB如果内存 16GB 以上基本可以靠 swapfile不一定非要独立分区。手动分区时也可以给一个 8GB 的 swap 分区省事。家目录/home可选。想保留自己的用户数据方便以后重装就把剩余空间分给/home。不想分也能直接用根目录。整理成表会更直观分区用途大小建议文件系统挂载点EFI 系统分区已有分区不格式化100MB 以上可用FAT32/boot/efi根分区 /40GB 到 100GBext4/交换分区内存 8GB 以下给 8GB16GB 以上可省swap area无家目录 /home剩余未分配空间可选ext4/home有些教程会建议单独分一个/boot分区普通安装没必要。除非你的磁盘特别特殊或者要做全盘加密否则根分区就够了。4.2 分区完成后的“设备用于引导加载程序”选择这是又一个高危位置。分区设置完后界面底部有一个下拉框写着“安装启动引导器的设备”。新手经常在这里选错。如果机器是 UEFI 引导应该把引导程序装到整块系统盘比如/dev/sda或/dev/nvme0n1而不是某个分区/dev/sda1。装到整块磁盘GRUB 会在共享的 EFI 分区里写入 Ubuntu 引导文件。这样 UEFI 固件才能发现 Ubuntu 启动项。如果装到了某个具体分区有可能出现安装结束、重启后仍直接进 Windows 的情况因为固件启动顺序里根本没有 Ubuntu 这项。这里再解释两个容易混淆的盘符SATA 固态和老式机械盘多是/dev/sda、/dev/sdbNVMe 固态是/dev/nvme0n1、/dev/nvme0n2。后面再跟p1、p2才是分区。看清容量别认错盘。注意修改分区结果前反复看一眼“准备安装”界面列出的操作摘要。里面会写明要格式化的分区和要写入引导器的位置。如果有任何一项指向了 Windows 分区或额外数据盘先退回去改。4.3 安装完成后的重启逻辑和 GRUB 菜单Ubuntu 安装完成后会提示“立即重启”并移除安装介质。拔掉 U 盘按回车。正常情况下重启后出现的是 GRUB 菜单里面有一条“Ubuntu”一条“Windows Boot Manager”。光标默认停在 Ubuntu 上按方向键选 Windows 可以进 Windows。这就是双系统最理想的启动状态。如果重启后直接进了 Windows没有看到 GRUB先不要以为安装失败。常见原因是 UEFI 把 Windows Boot Manager 的启动项排在了 Ubuntu 前面。进 BIOS找到启动顺序或启动优先级把ubuntu或Ubuntu这项调到第一位。有些主板里显示的是“UEFI OS”同样可以选。如果 BIOS 启动顺序里根本没有 ubuntu 项那才是真的引导写入失败。这时需要回到第 6 节的引导修复部分处理。5. 装完 Ubuntu 后先处理驱动、网络和显示问题5.1 Wi-Fi 无信号的排查安装完后没有无线网络是双系统里非常常见的问题。很多人碰到第一反应是“网卡坏了”实际上大多数情况是 Ubuntu 没装上对应固件或者内核带的驱动不匹配。先确认网卡本身有没有被识别。在 Ubuntu 终端里运行nmcli dev status看到 WiFi 设备说明硬件已被识别只是没连上无线网络重点检查密码、加密方式、路由信道。如果列表里根本没有 wifi 设备说明驱动缺失或固件没加载。这时候优先插网线或者用手机 USB 共享网络先把系统更新跑起来sudo apt update sudo apt upgrade然后打开“软件和更新 - 附加驱动”看有没有针对无线网卡的专属驱动。Intel 网卡的兼容性相对好Realtek 部分网卡需要另行安装驱动这种情况通常要先去官网或驱动仓库查对应芯片型号再按系统版本安装编译依赖。一个常见误判在 Windows 里无线网络正常在 Ubuntu 里偶尔能扫到信号但一连就断。这多数不是密码问题而是省电管理和驱动内部参数问题优先升级内核和固件包不要急着换网卡。5.2 花屏、黑屏和显卡驱动“Ubuntu 双系统花屏”是搜索热词里出现很高的问题。我遇到过的大多数情况集中在 NVIDIA 独立显卡、混合图形笔记本和部分新主板核显上。Ubuntu 默认使用开源驱动 nouveau性能不是重点兼容性是重点。某些显卡在开机时用默认方式驱动会花屏或黑屏。一个保底操作是给 GRUB 内核参数加nomodeset。在 GRUB 菜单启动时按e找到以linux开头的那一行在末尾加上nomodeset按 Ctrl X 启动。如果这样能正常进系统说明是内核显卡驱动初始化问题。想要永久生效可以改/etc/default/grubsudo nano /etc/default/grub把GRUB_CMDLINE_LINUX_DEFAULT这一行改成类似GRUB_CMDLINE_LINUX_DEFAULTquiet splash nomodeset保存后运行sudo update-grub要注意加nomodeset只是绕开问题并不是真正安装显卡驱动。如果机器有 NVIDIA 显卡建议到“软件和更新 - 附加驱动”里选择驱动版本安装。不要随便去下载 .run 文件手动安装很容易把桌面环境搞坏。装完闭源驱动后如果之前加过nomodeset就可以把它去掉否则驱动能力会被限制。顺便提一句如果开机一直黑屏连 GRUB 菜单都看不到可以先进 BIOS 确认显示输出接口是不是插在独显上以及 Secure Boot 是否导致了模块签名校验失败。5.3 时间不同步、输入法切换和补丁更新Windows 默认把硬件时间当本地时间Ubuntu 默认把硬件时间当 UTC。所以双系统来回切换后进入另一个系统时间会差 8 小时。这个不是系统坏了是时间基准不同。在 Ubuntu 里执行下面这条命令让 Ubuntu 把硬件时间视作本地时间通常就能解决timedatectl set-local-rtc 1 --adjust-system-clock如果哪天你希望 Ubuntu 回到 UTC 标准再执行timedatectl set-local-rtc 0。输入法方面Ubuntu 自带的中文输入法通过“设置 - 区域与语言 - 输入源”添加“汉语Intelligent Pinyin”基本可用。之前常用的搜狗输入法也有 Linux 版但需要先装 fcitx 输入法框架再把搜狗切到 fcitx 模式下运行。特别注意不要同时让 IBus 和 fcitx 两个框架都接管全局输入否则会出现无法呼出候选框的问题。补丁更新不用急着第一天全部装完但建议至少每周执行一次sudo apt update sudo apt upgrade如果是用来学习 Linux默认源其实可以接受如果是在国内网络环境想让下载速度快一点可以把软件源切换到国内镜像源。注意切换时选择与当前版本匹配的源不要复制不匹配的地址。6. 双系统日常维护文件访问、引导修复和卸载6.1 在 Ubuntu 里访问 Windows 分区安装完成后Ubuntu 的文件管理器左侧会列出 Windows 分区设备。点击后输一次密码就能挂载之后可以读取 Windows 里的文档、代码、下载文件。这里有一个很容易踩的问题如果 Windows 开了“快速启动”Ubuntu 挂载 NTFS 分区时可能提示“休眠模式”或只读挂载。因为 Windows 快速启动本质是把系统会话写进休眠文件NTFS 分区处于被 Windows 占用状态。解决办法是回到 Windows在“控制面板 - 电源选项 - 选择电源按钮的功能 - 更改当前不可用的设置”里取消勾选“启用快速启动”然后关机重启。这样 Ubuntu 挂载 NTFS 分区会更干净也不容易出现文件系统互相锁定的问题。如果你需要在两台系统频繁交换代码也可以直接在 Ubuntu 里访问 Windows 分区上的项目目录。但要注意两个系统的换行符、权限位不同跨系统写代码时留意权限变化。6.2 Windows 启动项丢失或 GRUB 被还原双系统用久了Windows 更新或者某个引导软件可能覆盖 UEFI 启动顺序导致开机直接进 Windows看不到 Ubuntu。这种情况下先不要急着重装重新修复 GRUB 通常更省事。找之前做的 Ubuntu 启动 U 盘插上并从 U 盘启动选择“Try Ubuntu”进入桌面后打开终端然后安装引导修复工具sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair启动 boot-repair 后直接点第一项“推荐修复”。它会自动检测 Windows 和 Ubuntu 的启动项重新生成 GRUB并调整 UEFI 启动顺序。如果没有 U 盘也可以在本机 Ubuntu 内重新安装 GRUBsudo grub-install /dev/sda sudo update-grub注意把/dev/sda换成你实际的系统盘NVMe 盘是/dev/nvme0n1。执行后重启GRUB 菜单大概率能回来。如果反过来你只想保留 Windows、彻底去掉 Ubuntu那么删除分区后有可能会在 UEFI 启动项里残留一条 ubuntu 记录。此时需要用 Windows 下的diskpart把 EFI 分区里的 ubuntu 文件夹删掉。操作前务必确认自己不是在格式化整个 EFI 分区只删除EFI\ubuntu目录。6.3 想卸载 Ubuntu 时不要直接删分区卸载双系统比安装更容易翻车因为涉及的顺序是先修引导再删数据最后清理 EFI 启动项。不建议直接在 Windows 磁盘管理里把 Ubuntu 分区全部删除后不管尤其是留下了 EFI 分区里 ubuntu 目录的情况。顺序应该是进入 Windows。在磁盘管理里删除 Ubuntu 的根分区、交换分区、/home 分区把空间释放为未分配或合并给 Windows。用diskpart挂载 ESP 分区删除EFI\ubuntu文件夹。重启后如果开机无引导菜单进入 BIOS 把 Windows Boot Manager 设回第一启动项。删除分区前确认哪几个分区是 Ubuntu。不要在启动 U 盘环境下做这步也不要凭盘符猜很可能把 U 盘或恢复分区误删。7. 常见坑点总结和最终建议7.1 我推荐的安装流程速查如果不想漏步骤可以按下面这份清单执行在 Windows 里用msinfo32查 BIOS 模式。暂停 BitLocker备份重要数据。磁盘管理压缩卷预留 50GB 以上未分配空间。下载 Ubuntu LTS 镜像用 Rufus 做启动盘。注意启动盘分区类型和 BIOS 模式保持一致。从 U 盘启动选择“Try or Install Ubuntu”。安装类型选“其他选项”共用 EFI 分区手动创建/和 swap。引导加载器安装到整块磁盘。重启后进 BIOS把 ubuntu 启动项设为第一。进 Ubuntu 后先更新系统再处理网卡、显卡和输入法。整理成表格更直观步骤关键动作判断标准查启动模式msinfo32UEFI 还是 传统关加密BitLocker 暂停保护C 盘图标锁消失预留空间压缩卷未分配空间存在做启动盘Rufus 选 GPT 或 MBR和 BIOS 模式一致启动盘引导临时启动菜单能看到 Ubuntu 界面手动分区/boot/efi、/、swap没有误格式化装引导器选整块系统盘不是单分区重启调序BIOS 启动顺序ubuntu 在前装完更新apt update upgrade无依赖报错7.2 最容易翻车的三个地方第一是引导方式不一致。Windows 是 UEFI GPTUbuntu 却装成了 Legacy 模式。装机时用 Rufus 做了 MBR 启动盘最后安装界面里看到的分区和引导选项就全乱了。遇到这种装不上的情况第一反应不是怀疑电脑坏了而是检查启动盘和机器引导模式。第二是 BitLocker 没有暂停。安装过程改了 EFI 引导项Windows 再次启动时强制要求恢复密钥没有备份就非常被动。提前暂停保护比事后折腾恢复密钥省心得多。第三是分区时把引导器选错。很多人习惯在安装 Windows 时把引导装到 C 盘到 Ubuntu 也照做了结果把引导文件写进了单个分区重启后 GRUB 不出现。正确做法是装到整块系统盘上比如/dev/sda或/dev/nvme0n1。最后再说一个观点不要在系统还没跑稳的时候急着做美化或者一次性装一堆软件。先把网络、显卡、声音、时间同步这几件最影响日常的事情确认好再逐步增加工具。双系统安装本身不难难的是把分支处理清楚。每一步都留一个“能不能验证”的标准就不会在某个深夜因为开机进不去系统而崩溃。