简介:一份详细讲解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 Manager:os-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-340,GTX 10 系选 nvidia-390 或 nvidia-470,选错版本会直接进不了图形界面。万一真遇上了,启动时在 GRUB 菜单按 e,找到 linux 那一行,行尾添加nomodeset参数,Ctrl+X 启动,先进系统再卸载重装。
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/grub:
GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true GRUB_TIMEOUT=5保存后执行sudo update-grub。这样设置后,每次启动进入上次选择的系统,不需要每次开机都守在 GRUB 菜单前按方向键。如果想让 Windows 优先启动,把 GRUB_DEFAULT 改成 Windows Boot Manager 对应的菜单名,例如:
GRUB_DEFAULT="Windows Boot Manager (on /dev/sda1)"执行 update-grub 后生效。我个人第一次装 16.04 双系统的时候,为了图省事选了安装器自动分区,结果整个磁盘被覆写,Win10 里的资料和驱动全没了。从那以后,我坚持在动手前先备份分区表,装完立刻验证引导。如果你是新装的 Win10,还没有太多数据,可以先压缩分区、做启动盘,一步一步按流程踩一遍,这个方向值得投入,因为 Ubuntu 的开发环境是绕不开的。希望帮到你。
本文还有配套的精品资源,点击获取