Win10与Ubuntu 16.04双系统:UEFI引导、GRUB修复与避坑

发布时间:2026/10/9 3:01:12
Win10与Ubuntu 16.04双系统:UEFI引导、GRUB修复与避坑 简介一份围绕Win10与Ubuntu 16.04双系统安装的完整图文教程面向希望在保留Windows 10的同时体验Linux的初学者及需要搭建多系统环境的开发、运维人员。内容覆盖从Ubuntu 16.04 LTS官方镜像下载、UltraISO制作U盘启动盘到Windows磁盘管理中划分约100GB独立空间且不分配盘符再到BIOS中切换UEFI/Legacy与关闭Secure Boot等关键环节对ThinkPad E550等机型给出了具体快捷键避免了入门用户卡在启动项选择上。手动分区部分详细说明了/、swap与/home的分配方式以及安装启动引导器与/boot分区对应关系结尾还整理了无启动项时使用easyBCD或easyUEFI修复、重装Windows时需移除其他硬盘等排错经验。资源包为1个PDF文件大小约815KB图文排版便于边查边装。该教程已被5549人学习内容经实践检验能在安装前帮助读者规避数据丢失和引导冲突等常见风险。1. 双系统安装的本质是“引导权之争”Win10 Ubuntu 16.04 到底在装什么先把结论放在前面Win10 和 Ubuntu 16.04 共存的安装真正难的从来不是“把 Ubuntu 装进硬盘”而是让两台系统在开机时都能被引导起来。很多人照着教程一步步走安完重启屏幕上不是弹 grub rescue 就是直接进 Windows问题不在安装器而在引导记录GRUB写到了哪个盘、哪个分区以及 UEFI 固件认不认这个引导项。这就是标题里所谓的“完美安装”——本质是你要搞懂主板从按下电源键到加载操作系统的这一段黑匣子逻辑。这篇文章适合三类人想把手头 Win10 笔记本改造成 Linux 主力开发机的程序员需要 Ubuntu 环境跑模型或编译代码的算法工程师以及在虚拟机里折腾够了、想让双系统从“能用”变成“好切”的玩家。Ubuntu 16.04 虽然已经不算新但由于大量工控设备和老服务器的软件栈还依赖它它依然是双系统教程里被搜得最多的版本。我会把你可能踩到的坑——时间错乱、引导丢失、显卡黑屏、分区表冲突——一个个拆开讲给到可以直接抄的命令。2. UEFI 还是 Legacy、分区怎么切动手前的三项硬决策2.1 先确认主板引导模式UEFI GPT 还是 Legacy MBR这一步不能省。90% 的双系统安装失败根源就是 Win10 装在 UEFI 模式下Ubuntu 安装器却默认用 Legacy 模式写引导或者反过来。UEFI 和 Legacy 对应不同的分区表和引导文件路径UEFI 用 GPT 分区表引导文件存在 ESPEFI System Partition里Legacy 用 MBR 分区表引导文件存在磁盘前 512 字节的主引导记录里。两种模式互不兼容混着用就会出现“装完重启直接进 WindowsUbuntu 像没装过一样”的情况。确认当前 Win10 的引导模式最快的方法是打开系统信息按下Win R输入msinfo32看 BIOS 模式一栏。显示“UEFI”就按 UEFI 方案走显示“传统”就是 Legacy。也可以用命令行确认bcdedit /enum firmware如果输出里出现大量FirmwareBootManager条目说明当前就是 UEFI 模式。这一步决定了你后续要分什么区、怎么处理引导。绝大多数 2015 年后的笔记本都是 UEFI GPT所以下面的步骤以这个组合为主Legacy 方案会在边界时提到。2.2 分区方案给 Ubuntu 留多少空间、分几个区够用Win10 卸掉或者压缩出来的空闲空间就是 Ubuntu 的“宅基地”。建议至少留 100GB 可用空间——Ubuntu 16.04 安装器会要求你手动指定分区如果你直接选“安装 Ubuntu 到空闲空间”它会自动创建根分区和 swap省事但不可控。想要“完美安装”体验我一般会分四个区/根分区、/home、swap、/boot/efi或直接用已有的 ESP。在 Win10 里压缩卷的方法是磁盘管理 → 选择你的 C 盘或其他数据盘 → 右键“压缩卷” → 输入想要的大小。这里有个反直觉的坑压缩出来的“未分配空间”在磁盘的尾部Ubuntu 安装器识别没问题但如果你 Win10 里有 BitLocker 加密压缩前必须关闭 BitLocker否则压缩后的空闲空间会有残留元数据Ubuntu 的磁盘工具认不出这块区域是干净的。2.3 关闭 Secure Boot 和快速启动这是 Ubuntu 16.04 能跑起来的前置条件Ubuntu 16.04 的内核是 4.15对 Secure Boot 的支持远不如新版系统成熟。很多人在安装 Ubuntu 时一路顺利重启后却卡在一个紫色界面或黑屏就是因为 Secure Boot 阻止了不签名的第三方内核模块加载。做法是开机按F2/F10/Del进 BIOS不同品牌按键不同找到Secure Boot选项设置为Disabled。同时把Fast Boot/Quick Boot关闭否则 Ubuntu 安装器的 U 盘启动项可能直接被跳过。Win10 系统内的“快速启动”也要关掉控制面板 → 电源选项 → 选择电源按钮的功能 → 更改当前不可用的设置 → 取消勾选“启用快速启动”。这个选项本质是让 Win10 关机时进入休眠状态Ubuntu 的引导管理器在下次重启时面对一个残留的休眠状态会造成分区表锁定导致挂载 NTFS 分区时报错。3. 制作启动盘到 Ubuntu 安装器落地关键六步3.1 用 Rufus 烧录 Ubuntu 16.04 镜像DD 模式与写入模式的坑Ubuntu 16.04 的 ISO 镜像下载好后制作启动盘我推荐用 RufusWindows 平台。关键是写入模式在 Rufus 的分区类型里选择“GPT 分区方案”和“UEFI (非 CSM)”目标类型文件系统默认 FAT32 即可。写入方式保持 ISO 镜像模式即可因为 Ubuntu 的 ISO 是混合镜像不需要解压拷贝的方式。烧录时 Rufus 会提示“以 DD 模式写入”确认即可。如果你用的是 UltraISO 或者其他“解压到 U 盘”的工具很容易做出一张无法引导的盘——因为 Ubuntu 16.04 的 bootloader 依赖 ISO 的引导扇区解压模式会把引导扇区丢掉。判断方法很简单用 Rufus 烧完后打开 U 盘的磁盘管理看到一个很小的 2MB FAT 分区说明引导扇区烧对了。3.2 从 U 盘启动进入 Ubuntu Live 环境进入安装前的五分钟自检插上 U 盘重启连续按F12弹出启动菜单选择 UEFI 开头的那一项。进到 GRUB 菜单后先选“Try Ubuntu”而不是直接安装——先进入 Live 桌面确认系统确实能加载显卡驱动、网络是否连通。这一步能提前识别两类问题显卡不被支持导致黑屏、网卡固件缺失导致后续安装时软件源无法访问。在 Live 环境里打开终端跑一条命令sudo parted -l这条命令列出所有磁盘的分区表结构。你要重点确认的是Windows 所在的那块盘通常是 /dev/sda 或 /dev/nvme0n1分区表是gpt格式并且在列表的最前面或最后面有一个efi类型的 ESP 分区。如果看到msdos格式说明这块盘其实是 MBR后续引导写入位置需要改变。这一步相当于把主板模式、分区表、ESP 分区三者做了个最终对账。3.3 安装器手动分区把 /、/home、swap 放到正确的位置双击桌面上的“安装 Ubuntu”语言选简体中文键盘布局默认。到“安装类型”这一步务必选“其他选项”Something else。这里列出四个要创建的分区/根分区30~50GB格式 ext4挂载点//home用户数据区剩余空间的大部分格式 ext4挂载点/homeswap交换分区8~16GB取决于内存大小不需要挂载点boot/efi选择已有的 Windows ESP 分区不格式化挂载点/boot/efi注意boot/efi的处理如果你看到 Windows 的 ESP 分区大小约 100~260MB不要创建新分区直接选中它点击“更改”挂载点设为/boot/efi保持格式化选项为“不格式化”。这样安装器会把 GRUB 的 efi 文件写进这个分区Windows 的引导文件也会保留在同一个 ESP 里。这一步是“双系统各自都能启动”的核心。3.4 Ubuntu 16.04 安装器的“引导加载程序安装设备”选什么安装器底部有个下拉框叫“安装引导加载程序的设备”这可能是整个安装过程里最容易被忽略的选项。常见的默认值是把 GRUB 装到/dev/sda整块盘但这里应该选择 ESP 分区对应的设备路径通常显示为/dev/sda1或/dev/nvme0n1p1。选择整块盘的问题在于某些主板的 UEFI 固件只认 ESP 分区里的 EFI 文件不认 MBR 里的引导代码所以写进 MBR 的部分不会生效。选择 ESP 分区则能保证 UEFI 固件在启动时能找到EFI/ubuntu/grubx64.efi。如果你安装到一半发现自己选错了设备不要强行继续直接退出安装器回到 Live 桌面重新跑一遍parted -l确认分区再重新安装。此时 Win10 的引导没被破坏只是在 ESP 里多了几个文件可逆。3.5 安装完成后第一次重启的等待逻辑别急着拔 U 盘安装器提示“安装完成请重启”时很多人条件反射拔掉 U 盘直接重启。这里有概率出现黑屏或自动回到 U 盘引导。正确的做法是保持 U 盘插着重启进入刚装好的 Ubuntu确认能正常登录后再拔。原因是你的 U 盘里也有一个 GRUB 引导文件拔盘时机不对会导致 GRUB 的root设备指向 U 盘启动时报error: no such partition。进系统后执行sudo update-grub可以让 GRUB 重新扫描磁盘。3.6 首次进入 Ubuntu 的驱动确认网卡和显卡的“最大公约数”检查进入桌面后先看看右上角网络图标是否正常如果没有 Wi-Fi 列表打开终端lspci -nnk | grep -iA3 network看内核是否识别了无线网卡以及是否有driver字段。没有驱动的话先插入网线然后sudo apt update sudo apt install bcmwl-kernel-source博通网卡或firmware-iwlwifiIntel 网卡。显卡方面如果你有 NVIDIA 独显先不要动“附加驱动”里的选项默认开源驱动能进桌面就行专有驱动放到第 6 章再处理。4. 装完先修引导双系统自由切换的保底命令4.1 为什么安装完成了却只能进一个系统两种相反的翻车现场安装结束后出现的情况通常分两种一种是开机直接进 Ubuntu没有 Windows 选项另一种是开机直接进 WindowsGRUB 菜单压根没出现。第一种是因为os-prober没有在安装时正确探测到 Windows 的引导文件导致 GRUB 菜单没生成 Windows 条目第二种则更加危险说明 ESP 分区里的引导顺序被改写了Windows Boot Manager 被 UEFI 固件排在了 GRUB 前面或者 GRUB 的 efi 文件没有成功写入。这两种都能救回来关键在于不能慌先确定自己是哪一边“失踪”了。4.2 用 Boot Repair 工具一键修复LIVE 环境加 chroot 手工修复的保守方案最常见的修复方式是用一个 Ubuntu Live U 盘启动进入“Try Ubuntu”后打开终端安装boot-repairsudo apt-add-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair boot-repair启动后选“Recommended repair”它会自动分析已有的 Windows 和 Ubuntu 引导文件把 GRUB 重新安装到合适的位置并添加 Windows 启动条目。Boot Repair 适合大多数场景但有意外失败的可能比如 ESP 分区已满、分区表有错误。此时手工修复挂载 Ubuntu 根分区、绑定系统目录、chroot 进去重装 GRUBsudo mount /dev/nvme0n1p5 /mnt # 假设 ubuntu 根分区是 nvme0n1p5 sudo mount /dev/nvme0n1p1 /mnt/boot/efi # 挂载 ESP for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done sudo chroot /mnt grub-install /dev/nvme0n1 update-grub exit这套命令的思路是先把 Ubuntu 系统的根目录挂载到 Live 环境的/mnt再把 ESP 挂到它的/boot/efi路径下然后通过 chroot 把终端的工作环境切换到目标系统在里面执行grub-install把引导写入磁盘。update-grub会调用os-prober扫描其他分区找到 Windows Boot Manager 并加到菜单里。4.3 手动调整 GRUB 默认启动项让 Win10 排在第一位修好引导后如果你希望默认进 Windows而不是每次开机都在 GRUB 菜单等 10 秒可以修改 GRUB 配置文件。Ubuntu 16.04 的 GRUB 默认配置在/etc/default/grub里面最关键的参数是GRUB_DEFAULT和GRUB_TIMEOUT。把启动项设为 Windows 的办法是先用下面的命令确认 Windows 条目的顺序号grep -n menuentry /boot/grub/grub.cfg当你找到类似/boot/grub/grub.cfg:96:menuentry Windows Boot Manager时按这个条目的顺序号通常从 0 计数把GRUB_DEFAULT0改成对应的数字即可。改完后执行sudo update-grub让修改生效。4.4 启动顺序的“玄学”黑匣子EFI 固件的启动项排序有一种奇怪的现象是 GRUB 菜单里两个系统都有但重启后依然直接进 Windows。这通常发生在 UEFI 固件层面主板的启动顺序设置为 Windows Boot Manager 优先。此时可以进 BIOS看“Boot Option Order”列表里找到ubuntu这一项把它拖到最前面。部分主板的 UEFI 固件不会自动发现 GRUB需要在“Launch EFI Shell from filesystem”里手动加载EFI\ubuntu\grubx64.efi。这属于少数情况但如果你用的是华硕或微星主板概率会稍微高一些。5. 双系统安装避坑这 5 个翻车场景必看5.1 安装时提示“No root file system is defined”现象在安装类型这一步点击“现在安装”时弹窗报错拒绝继续。原因没有给/根分区指定挂载点或者指定的分区格式不对比如把根分区设成了 swap 的swap area。解决回退到分区界面选中你要做系统盘的分区点“更改”→ 使用为“Ext4 日志文件系统”→ 挂载点选/确认。常见误操作是只创建了swap分区就点了安装安装器找不到根分区。血泪经验给每个分区做完设置后逐项检查列表里的“挂载点”列只要根分区没有/就别点下一步。5.2 安装完成后开机进入 grub rescue卡在grub rescue提示符现象开机后屏幕一片黑出现类似error: unknown filesystem和grub rescue的命令行。原因GRUB 的配置文件写得没问题但分区表在你的操作中发生了变化或者 ESP 分区被重新格式化GRUB 找不到/boot/grub/grub.cfg和内核镜像。这多发生在“安装引导加载程序到/dev/sda”而不是 ESP 的安装方式上。解决在grub rescue下手动指定引导模块路径逐条输入下列命令grub rescue ls grub rescue ls (hd0,gpt1)/ grub rescue set root(hd0,gpt1) grub rescue insmod normal grub rescue normalls (hd0,gpt1)/的目的在于逐一查找哪个分区下有 EFI 或 boot 目录。找到后把root设置正确加载normal模块就能进 GRUB 菜单。修好后进入系统执行sudo grub-install重新写引导防止下次重启再犯。5.3 Win10 和 Ubuntu 系统时间相差 8 小时现象切换系统后Windows 显示的时间和实际时间总是差 8 个小时Ubuntu 对但 Windows 不对。原因Windows 默认把硬件时间CMOS当作本地时间而 Ubuntu以及 macOS默认把硬件时间当作 UTC。两个系统对这个时间基准的解释不同互相写覆盖就产生了偏差。解决在 Ubuntu 里执行sudo apt install ntpdate sudo timedatectl set-local-rtc 1set-local-rtc 1的意思是把硬件时钟设置为本地时间这样 Windows 不需要额外改动就从硬件时钟读到正确的时间。如果这个参数没生效去 Windows 修改注册表也可以HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation新建RealTimeIsUniversal的 DWORD 值设为1。二选一即可别两个都改。5.4 Ubuntu 安装器挂在“检测到到网络”步骤无限卡在下载更新现象安装进度条卡在“下载软件包更新”或“检测到网络”好几分钟不动。原因安装器在联网获取软件源列表如果你的网络到 Ubuntu 的软件源延迟很高这一步会非常慢。解决在安装类型页面之前点右上角设置关闭网络或者安装前选择“安装此第三方软件”时去掉勾选。安装完成后进入系统再运行sudo apt update不迟。许多教程让你在安装时同步更新软件实际在 16.04 的安装器里这一步体验极差建议跳过。5.5 NVIDIA 显卡导致登录循环或开机黑屏现象安装好 Ubuntu 后第一次重启登录界面出不来或者输完密码又弹回登录界面。原因开源驱动nouveau和 NVIDIA 专有驱动冲突在 16.04 的默认内核里这是个高频踩坑问题。解决开机进 GRUB按e进入编辑模式在linux那行结尾加上nomodeset按F10启动。这个参数让内核暂时不加载 KMS 显示模块能进系统后运行sudo apt purge nouveau sudo apt install nvidia-384装完后执行sudo reboot。如果使用的显卡是 NVIDIA 10 系列之后新出的型号16.04 自带的驱动源很旧需要从 NVIDIA 官网下载对应版本的.run文件手动安装。我的习惯先用nomodeset进系统再决定是装专有驱动还是继续用开源驱动不要在安装阶段就折腾驱动。6. 双系统调顺手的两件小事时间同步之外还有个 GRUB 菜单的后悔药说起最后能提升“完美感”的细节我真心建议你设置 GRUB 菜单的壁纸、超时时间和默认项唤醒方式毕竟每次开机都对着黑底白字的列表确实枯燥。但更值得做的是给/etc/default/grub里的三个参数留个底稿——不夸张地说这就是双系统的后悔药GRUB_DEFAULTsaved GRUB_SAVEDEFAULTtrue GRUB_TIMEOUT3GRUB_DEFAULTsaved的含义是“记住你上次选中的启动项”下次重启直接沿用省掉每次开机手动选系统GRUB_SAVEDEFAULTtrue让 GRUB 在引导时把当前选择的项覆盖到默认值上GRUB_TIMEOUT3则控制菜单等待时间3 秒足够你临时选择其他系统也不会让开机过程显得拖沓。改完依然要跑sudo update-grub这是整个双系统维护里最容易被遗忘的收尾动作。RE: 这些配置本质上是把 GRUB 的菜单行为从“静态模板”改成了“有记忆状态”的引导器。另一个常用技巧是自定义 GRUB 引导界面的分辨率在GRUB_GFXMODE1920x1080后执行update-grub能避免菜单在高分屏下字号过小。如果你的主板 UEFI 固件在重启时仍然不认 GRUB可以再用efibootmgr命令查一下当前的引导顺序efibootmgr -v确认ubuntu项排在前面必要时用efibootmgr -o 0001,0000调整 BootOrder这比进 BIOS 用鼠标点来点去快得多。我个人最终留下的双系统习惯是新机器到手先装 Windows 更新到最新再压缩卷再装 Ubuntu装完后第一件事不是装开发环境而是把 Boot Repair 的 ISO 烧进一个专门的 U 盘里收好每次 Windows 大版本更新前先备份/boot/grub/grub.cfg和 ESP 分区里的 EFI 文件夹。这几条规则帮我躲过了至少三次因为 Windows 更新导致的引导消失也希望帮到你。祝你的 Ubuntu 16.04 和 Win10 这趟双系统之旅一次点亮切换自如。本文还有配套的精品资源点击获取

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询