ARTICLE DETAIL

资讯详情

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

Win10+Ubuntu 16.04双系统安装:UEFI引导与GRUB修复完全指南

Win10+Ubuntu 16.04双系统安装:UEFI引导与GRUB修复完全指南 简介一份详细讲解Win10与Ubuntu 16.04双系统安装的图文教程面向需要在同一台电脑上兼顾日常办公与Linux开发环境的用户也适合初次接触双系统配置的初学者。资源为PDF文档共1个文件大小约815KB内容基于ThinkPad E550实测覆盖U盘启动盘制作、磁盘分区、BIOS/UEFI启动项设置、手动分区、引导修复等完整流程。已有5547人学习下载。文档不仅逐一说明制作启动盘时的UltraISO刻录方法还针对磁盘管理划分未分配空间、安装启动引导器与/boot分区保持一致、分区时根目录/、swap和/home的大小分配等关键细节给出操作建议并附有大量界面截图辅助对照。同时梳理了无Ubuntu启动项、重装Win10后引导冲突等常见故障给出easyBCD/easyUEFI修复思路帮助读者避开多次重装的坑降低失败率最终获得Win10与Ubuntu共存的双系统环境。1. 双系统安装真正的分水岭在进入安装器之前很多人拿到 Win10 Ubuntu 16.04 双系统安装教程第一反应就是下载镜像、做启动盘、然后一路 Next。真到自己动手90% 的翻车都发生在进入安装界面之前U 盘启动不进 Live 环境、分区挂载后 Windows 不见了、装完只见 GRUB 黑底白字 invalid signature。会去装 Ubuntu 16.04 的人通常是实验室、工控设备或机器人开发场景跑 ROS、算法环境还要保留 Win10 做驱动调试和日常办公。这个教程要做的是把从准备阶段到装完修复的完整路径讲清楚尤其是 16.04 这个版本在 UEFI 引导、显卡驱动和软件源上的历史包袱。先把这些包袱拆掉后面的操作才有意义。2. 准备阶段16.04 镜像选择、启动盘制作与 Win10 磁盘预留2.1 Ubuntu 16.04 镜像选择AMD64 优先SHA256 校验不要跳过Ubuntu 16.04 代号 xenial在 2021 年 4 月已经停止标准支持官网不提供新入口。不过国内镜像站还有完整的 xenial 仓库常见做法是去清华或中科大的镜像目录下载ubuntu-16.04.7-desktop-amd64.iso。这里有两个点必须注意一是必须选 amd64 架构i386 虽然能装但新版硬件平台几乎没有可用的第三方软件包二是下载完后一定要做校验。sha256sum ubuntu-16.04.7-desktop-amd64.iso把输出结果和镜像站页面上给出的 SHA256 值对比不一致就重新下载。这一步很多人会跳过结果做好 U 盘后进 Live 环境就卡死最后还怀疑是 U 盘本身坏了。还有一个细节如果你这些天看到网上讨论 Ubuntu 24.04 双系统、Ubuntu 22.04 双系统那个安装流程确实比 16.04 省心不少但选 16.04 的人多半不是图新而是有 ROS Kinetic 或老版本 CUDA 环境的硬依赖。这种情况下镜像版本反而要锁得更死别顺手拿新版本替代。2.2 Rufus 制作启动 U 盘分区类型决定了 U 盘能不能被引导Windows 下做启动盘我一般直接用 Rufus不用其他工具。打开 Rufus 后设备选择 U 盘引导类型选“光盘映像”后面分区类型这一项是真正的关键。16.04 的 ISO 默认兼容 BIOS 启动而预装 Win10 的机器几乎全是 UEFI 启动。你必须在制作启动盘的时候就想清楚机器是 UEFI 就用 GPT 分区表是传统 BIOS 就用 MBR。判断依据要看 Win10 安装时用的是哪种分区表最简单的方式是在 Win10 磁盘管理里右键系统盘看属性“卷”标签下如果显示“GPT”就是 GPT 分区表直接选 GPT 写入。Rufus 还有一个容易被忽视的写入模式选项。ISO 模式是默认的但 16.04 这个版本在某些主板上会出现“U 盘启动后卡在紫色界面”的情况这时候把写入模式改成 DD 镜像模式再写一次问题通常能解决。DD 模式是逐扇区写入做出来的 U 盘更像是直接插了一张光盘兼容性反而更稳。这是我折腾多次以后的血泪经验用 ISO 模式写 16.04 遇到启动失败不要怀疑 U 盘问题先换成 DD 模式试试。2.3 Win10 磁盘压缩预留空间不是只看剩余容量Win10 磁盘管理里右键 C 盘选“压缩卷”能压出多少空间并不完全取决于剩余容量而是看分区末尾有没有不可移动的文件。常见的问题场景是 C 盘中央有一个恢复分区导致压缩选项灰掉或者最多只能压出几个 GB。解决方法是先把这个恢复分区删掉再执行压缩。删除恢复分区不会影响 Windows 正常使用只是丢掉了“重置此电脑”的恢复功能这功能很少真用到。删除恢复分区要动 diskpart操作前确认清楚分区序号别选错。管理员权限打开命令行依次执行diskpart list disk select disk 0 list partition select partition 恢复分区序号 delete partition override删掉恢复分区后回到磁盘管理对 C 盘执行压缩卷这次就能把空间腾出来。压缩出来的部分不要格式化保持“未分配”状态留给 Ubuntu 安装器。预留空间建议至少 50GB如果是用来跑 ROS 编译或深度学习环境80GB 起步更稳妥纯体验 30GB 也能跑后期加分区要动 /home麻烦不少。2.4 BIOS 三项设置UEFI 模式、Secure Boot、快速启动16.04 安装失败最常见的一个原因是 Secure Boot。BIOS 里把它设为 Disabled这一步不要跳过。第二项是把启动模式固定为 UEFI不要开 CSM 兼容模式或 Legacy 引导。开了 CSM安装器会把 GRUB 写到 MBR之后要么 Windows 入口消失要么两个系统的引导互相干扰。第三项是关闭 Intel 快速启动和 Fast Boot否则重启过程中 USB 外设枚举会失败U 盘可能根本不被识别GRUB 写入 NVRAM 时也可能出错。这三项设置在不同品牌的主板里位置不一样但名字基本一致。我一般会按顺序调先关 Secure Boot再确认启动模式为 UEFI only最后关 Fast Boot。设完以后保存重启进 BIOS 的 Boot 菜单看看能不能看到 U 盘选项这一步确认好了再继续。3. 安装过程拆解手工分区、挂载点与引导器写入位置3.1 从 U 盘引导到 Try Ubuntu先验证硬件再动手装开机按启动菜单键戴尔、联想是 F12华硕是 F8惠普是 F9选择 UEFI 开头的那一项。看到紫色界面有 Try Ubuntu 和 Install Ubuntu 两个选项说明 U 盘引导成功。这时候先点 Try Ubuntu 进 Live 桌面不要急着双击 Install。先在 Live 环境里确认触摸板、无线网卡能正常工作然后打开终端执行blkid看看硬盘整体分区情况。这一步相当于动手前的侦察哪些分区是 Windows 的、哪里是未分配空间心里有数以后后面手工分区才不会选错目标。如果 U 盘引导失败卡死或直接跳回 Windows基本就是上一章说的分区类型选错或者 Secure Boot 没关干净。别反复重试同一个方式回头检查 U 盘制作参数比换 U 盘更有效。我在给客户装机器的时候遇到过三次“U 盘启动不了”最后都出在 Rufus 分区类型选成了 MBR而机器是 GPT 引导。3.2 手工分区复用 EFI 分区挂载顺序与格式参数Live 桌面里双击 Install Ubuntu语言选中文安装界面会让勾选“安装时下载更新”和“第三方软件”这两个都不勾选。尤其是联网更新16.04 的安装器会从境外源拉包网络不好就直接卡死在“正在安装系统”的进度条上。到“安装类型”这一步选“其他选项”进入手工分区界面。进入分区工具界面以后要注意不要把整个磁盘直接选进去覆盖安装。你需要操作的是之前压缩出来的未分配空间。16.04 安装器支持对未分配空间右键新建分区参数按这个方案来分区用途建议大小格式挂载点swap 分区建议和物理内存一样大8GB 内存就给 8GB如果物理内存 16GB 以上给 4GB 够用格式是 swap无挂载点。根分区建议 20GB 起步格式 ext4挂载点 /。home 分区剩下的全部空间格式 ext4挂载点 /home。不需要单独的 /boot 分区普通双系统场景下 /boot/efi 一个就够分 /boot 反而会在内核升级时出现空间不足的问题。这里有个关键不要新建 EFI 系统分区直接复用 Windows 现有的 ESP 分区。在分区列表里找到那个大小约 100MB 到 500MB、文件类型是 FAT32 的分区一般就是 EFI 分区。选中它点击“更改”挂载点设为/boot/efi不要格式化。这么做能保证 Windows 引导文件保持原样同时让 GRUB 写入同一个 ESP 分区两个系统才能共存。分区界面底部有个“安装启动引导器的设备”下拉框这里选 Windows 的 ESP 分区通常是/dev/sda1具体看上面提到的分区路径。千万不要选成 U 盘也不要选整个磁盘/dev/sda。选错引导器写到 U 盘重启后拔掉 U 盘就找不到 GRUB系统跟没装一样。3.3 时区、用户名与安装收尾最后几步也别抢时间时区选“上海”用户名不要设置成 root也不带空格。安装程序最后阶段会写 GRUB 到 ESP 分区等它提示重启。这时候不要急着拔 U 盘按照提示重启即可。重启后看到 GRUB 菜单里面有 Ubuntu 和 Windows Boot Manager或 Windows 之间两个入口双系统引导才算完整。如果你重启后直接进了 Windows或者 GRUB 里只有 Ubuntu别慌第四章的排查点直接对号入座。还有一个容易被忽略的点安装完成后第一次进 Ubuntu系统默认用的是英文字体中文显示会有方框或乱码。这是正常的等系统更新完成后装语言包就好。不要因为这个觉得安装失败了。4. 双系统初装的 5 个常见排查点GRUB、时间与安装卡死4.1 开机出现 Invalid signature按这个顺序处理有必要现象开机后在品牌 Logo 之后出现黑底白字Invalid signature然后卡住进不了任何系统。这个故障近期在双系统话题里出镜率很高特别是新笔记本装 16.04 时。原因16.04 的 shim 引导程序与 UEFI 安全启动的签名校验不匹配。多见于 Secure Boot 没有彻底关闭或者关闭 Secure Boot 后 NVRAM 里残留了旧的启动项。解决重启进 BIOS把 Secure Boot 设为 Disabled。如果原本就是 Disabled就在 BIOS 里执行一次恢复出厂设置然后再关一次 Secure Boot。进 Ubuntu 系统后用 efibootmgr 查看引导项sudo efibootmgr -v输出里会列出所有启动项找到 Ubuntu 对应的条目确认它指向的路径是\EFI\ubuntu\shimx64.efi或\EFI\ubuntu\grubx64.efi。如果指向了\EFI\Microsoft\Boot\bootmgfw.efi说明引导文件写串了用efibootmgr -b 编号 -B删除错误条目然后执行sudo update-grub重新生成引导配置。4.2 GRUB 菜单里没有 Windows Boot Manageros-prober 没跑的典型症状现象装完 Ubuntu 重启GRUB 菜单只有 Ubuntu 和 Advanced options没有 Windows 入口但 Win10 系统还好端端在原分区里。原因安装时没有挂载 /boot/efi或者安装类型不小心选了“清除整个磁盘”还有一种常见情况是 os-prober 工具没有被调用。解决先进 Ubuntu 打开终端执行sudo update-grubupdate-grub 会调用 os-prober 扫描所有磁盘上的系统检测到 Windows Boot Manager 后会把它追加到 GRUB 菜单。如果命令执行完没有变化检查 os-prober 是否安装sudo apt install os-prober sudo update-grub如果依然没有 Windows 入口说明 Windows 的 EFI 引导文件本身坏了。这时候需要 Win10 安装 U 盘进命令提示符执行bootrec /fixmbr和bootrec /fixboot修复 Windows 引导再回到 Ubuntu 重新 update-grub。这个组合拳能解决九成以上的引导缺失问题。4.3 开机直接进 Windows完全看不到 GRUB 菜单现象装完重启直接进 Win10 登录界面GRUB 就像不存在一样。原因UEFI 固件的启动顺序里Windows Boot Manager 排在 Ubuntu 前面或者 Ubuntu 的启动项根本没有写进 NVRAM。16.04 的安装器在较新的 UEFI 固件上写入启动项失败是历史性问题。解决开机进 BIOS在 Boot Priority 或 Boot Order 列表里把 Ubuntu 调到第一位。如果 BIOS 里改不了就在 Ubuntu 里用 efibootmgr 调整sudo efibootmgr -v sudo efibootmgr -o 0000,0002第一个命令确认 Ubuntu 的启动项编号第二个命令把启动顺序调整为 Ubuntu 在前。注意编号是十六进制按你机器上的实际编号替换。改完后重启GRUB 菜单就会出现。这个方案比 Windows 下的引导修复工具更直接因为问题出在固件层。4.4 Ubuntu 和 Windows 时间总是差 8 小时不是主板问题现象在 Ubuntu 里把时间调准重启进 Windows 会发现时间慢了 8 小时反过来也一样。原因Windows 默认把 CMOS 时钟当作本地时间Linux 默认把 CMOS 当作 UTC 时间于是永远差出一个时区的偏移。这不是主板电池没电是双方对同一个时钟的解释不一致。解决有两种选一种执行就行。方案一在 Windows 下让 CMOS 存 UTC管理员权限运行reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1方案二在 Ubuntu 下让系统把 CMOS 当本地时间sudo timedatectl set-local-rtc 1我习惯用方案二因为不需要动注册表而且熬夜查资料的时候看到RTC in local TZ: yes这个状态心里踏实。注意方案二执行后Ubuntu 的date命令显示的时间会保持不变但带时区显示会有变化这对日常使用没有影响。4.5 安装进度卡死、鼠标键盘无响应两个根因和对应操作现象安装进度条卡在某个百分比不动磁盘灯常亮或者安装界面鼠标键盘全部失灵。原因最常见的是勾选了“安装时下载更新”安装器从境外源下载软件包时网络故障导致卡死。另一类是 16.04 自带的 nouveau 显卡驱动与新款 NVIDIA 显卡不兼容安装程序启动图形界面就出问题。解决重新安装在安装界面取消“安装时下载更新”和“第三方软件”两个勾选。如果 U 盘启动时界面卡住在紫色菜单按 F6 选择 nomodeset 参数让系统用基础显示模式启动。对 N 卡用户而言这个参数几乎是进 Live 环境的前置条件。如果安装过程中鼠标键盘无响应换一个 USB 2.0 接口插 U 盘和键鼠16.04 内核的 USB 控制器驱动对 USB 3.0 接口的支持有历史缺陷。这个故障看起来像硬件不兼容实际上是内核太老换接口是最快的解决路径。5. 装完后的三件事软件源、显卡驱动与无线网卡5.1 换软件源xenial 仓库与公钥错误的处理Ubuntu 16.04 官方源在境外装完后的第一件事永远是换国内镜像源。编辑/etc/apt/sources.list把 archive.ubuntu.com 和 security.ubuntu.com 替换成镜像站地址sudo sed -i s/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g /etc/apt/sources.list sudo sed -i s/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g /etc/apt/sources.list sudo apt update用清华或者阿里云的镜像都可以但不要自己往 sources.list 里追加其他版本的仓库16.04 的 apt 依赖解析没有新版本那么智能混源几乎必然破依赖。如果 apt update 时报 NO_PUBKEY 公钥错误用sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 缺失的KEY把 KEY 替换成报错信息里的那串字符。这个问题常见于第三方源Ubuntu 官方源一般不会遇到。5.2 显卡驱动不要盲目运行 .run 安装包Ubuntu 16.04 时代 NVIDIA 官方 .run 安装包是无数翻车事故的源头。加载 .run 前必须先禁用 nouveau 驱动否则会冲突。在/etc/modprobe.d/blacklist.conf末尾加上一行blacklist nouveau然后执行sudo update-initramfs -u重启后进入文字界面再安装驱动。如果你在图形界面里直接双击 .run几乎必然遇到 “You appear to be running an X server” 的报错。更省事的方案是打开“软件与更新”在“附加驱动”选项卡里选择系统推荐的 nvidia 驱动版本由系统自动通过 dkms 编译安装。这个方式在 16.04 里相对稳定但要注意老卡选 nvidia-340GTX 10 系选 nvidia-390 或 nvidia-470选错版本会直接进不了图形界面。万一真遇上了启动时在 GRUB 菜单按 e找到 linux 那一行行尾添加nomodeset参数CtrlX 启动先进系统再卸载重装。5.3 无线网卡与触摸板两个高概率硬件坑16.04 对笔记本自带的 Realtek 无线网卡支持很差RTL8821CE、RTL8822CE 这类型号经常出现“WiFi 开关打不开”。常见做法是安装 rtlwifi-new 驱动或者从厂商驱动源码编译。编译前要装好基础工具sudo apt install build-essential linux-headers-generic dkms装完驱动源码后在源码目录执行sudo dkms add .和sudo dkms install -m rtl8821ce -v 版本号之后驱动会自动加载。触摸板的问题通常不在系统里而是在 BIOS有些笔记本默认禁用“Internal Pointing Device”进 BIOS 的 Advanced 选项里打开即可。Ubuntu 设置里那个“打字时禁用触摸板”的选项有时会造成误导先关掉再试排除系统层面因素。6. 验证双系统与 GRUB 定制把日常体验打磨顺手装完系统和驱动后我不会急着收工而是做一轮十分钟的验证。进 Ubuntu 打开终端执行efibootmgr -v确认启动项里同时存在 Windows Boot Manager 和 Ubuntu。再执行sudo update-grub看输出里有没有找到 Windows Boot Manager 的提示。这步确认后两个系统的引导才是真正稳定共存的。接下来调整 GRUB 默认行为。编辑/etc/default/grubGRUB_DEFAULTsaved GRUB_SAVEDEFAULTtrue GRUB_TIMEOUT5保存后执行sudo update-grub。这样设置后每次启动进入上次选择的系统不需要每次开机都守在 GRUB 菜单前按方向键。如果想让 Windows 优先启动把 GRUB_DEFAULT 改成 Windows Boot Manager 对应的菜单名例如GRUB_DEFAULTWindows Boot Manager (on /dev/sda1)执行 update-grub 后生效。我个人第一次装 16.04 双系统的时候为了图省事选了安装器自动分区结果整个磁盘被覆写Win10 里的资料和驱动全没了。从那以后我坚持在动手前先备份分区表装完立刻验证引导。如果你是新装的 Win10还没有太多数据可以先压缩分区、做启动盘一步一步按流程踩一遍这个方向值得投入因为 Ubuntu 的开发环境是绕不开的。希望帮到你。本文还有配套的精品资源点击获取
返回列表