双硬盘双系统安装指南:Win10与Ubuntu的物理隔离与引导管理
2026/9/16 8:33:21 网站建设 项目流程

装双系统这件事,我自己折腾过很多次。早年间玩单硬盘,win10和Ubuntu挤在同一块SSD上,分区表被引导折腾得够呛,一度以为是把系统装坏了。后来换了双硬盘的方案,发现这才是省心的正道——两块盘各管各的系统,互不干扰,装的次数多了,踩过的坑也积累了不少。这篇文章就以Ubuntu 16.04和Win10双硬盘双系统为例,把完整流程、关键选项和避坑经验一次性讲清楚。适合想在同一台机器上保留Windows日常使用、同时用Ubuntu做开发或学习Linux的人参考。

1. 双硬盘双系统的底层逻辑:为什么要物理隔离

先说一个很多人容易忽略的问题:单硬盘装双系统,本质上是在同一个物理盘上让两个系统的引导记录和分区共存,Windows的引导文件和Linux的GRUB引导文件挤在同一个EFI分区或引导扇区里,谁先装谁后装都容易互相踩踏。最常见的翻车现场是:装完Ubuntu后,Windows的引导不见了;或者Windows更新后,GRUB菜单消失了。虽然都有修复方法,但每次遇到都让人头大。

双硬盘方案就完全绕开了这个问题。Win10独占一块硬盘,Ubuntu独占另一块硬盘,每个硬盘各自有独立的EFI分区、独立的引导记录、独立的系统分区。两个系统在物理上就是隔离的,Windows完全感知不到另一块盘上的Ubuntu,Ubuntu也只在数据访问层面能看到Windows的分区,但引导过程各自走各自的。开机时通过BIOS的启动菜单选择从哪块硬盘启动,或者在GRUB菜单里直接跳转到Windows的Boot Manager,本质上是两个引导器之间的“接力”,不存在覆盖问题。

对比项单硬盘双系统双硬盘双系统
引导文件位置共用一个EFI分区,有覆盖风险各自独立EFI分区,互不干扰
Windows更新影响可能重写引导,丢失GRUB无影响,引导独立
系统重装风险重装任一系统都会破坏引导重装其中一个系统不影响另一个
物理隔离无,共享存储有,硬盘级隔离
适合场景只有一块盘的笔记本,勉强能用台式机或双硬盘位笔记本,推荐

双硬盘还有一个好处是性能分配更灵活。系统盘、缓存盘、数据盘可以分开规划。比如Win10放在读写快的SSD上,Ubuntu放在另一块SSD或机械硬盘上;也可以在装完系统后,把两块盘的剩余空间都划成数据分区互相同读,两边都能访问。

所以开篇第一件事就是确认你的机器有没有第二个硬盘位。台式机一般都有多个SATA接口或M.2插槽,笔记本要看一下有没有第二块2.5寸盘位或第二个M.2插槽。没有第二个盘位的,可以考虑用移动硬盘盒外接USB固态来装Ubuntu,效果也不错,只是启动时占用一个USB口,速度会受接口限制。

2. 动手前的底层检查:固件模式、分区表和启动介质

双系统的安装不是插上U盘一路下一步就完事,装之前必须搞清楚三件事:BIOS固件是传统Legacy还是UEFI,磁盘分区表是MBR还是GPT,以及启动介质怎么做才是匹配的。这三者不匹配,很容易出现U盘引导不了、装完系统进不去、或者两个系统引导模式不一致导致无法切换的问题。

2.1 确认BIOS固件模式

现在主流电脑基本都是UEFI固件,但在Win10时代,很多机器还保留了Legacy兼容模式。确认方法很简单,在Windows下按Win+R输入msinfo32回车,在系统摘要里看“BIOS模式”一栏,显示UEFI就是UEFI,显示传统就是Legacy。

这里有个关键原则:双系统的固件模式必须一致。要么都走UEFI,要么都走Legacy,不能一台机器上Windows是UEFI、Ubuntu却是Legacy,因为BIOS在开机阶段只会按一种模式去加载引导程序。如果确认电脑是UEFI,那么两块盘都必须是GPT分区表,安装Windows和Ubuntu时都要以UEFI模式引导。

2.2 分区表类型的分工

UEFI固件对应GPT分区表,Legacy对应MBR分区表。Windows安装程序有自动转换能力,但手动设置在开始安装时用命令把磁盘转成GPT更稳妥。Ubuntu安装时如果用UEFI模式引导安装盘,它会在你手动分区时自动使用GPT;如果用Legacy模式引导,则只能装在MBR上。所以分区表模式不用太刻意去转,关键是安装U盘以什么模式引导安装器。

UEFI + GPT还有一个好处是支持安全启动,不过Ubuntu 16.04对Secure Boot的支持不算特别好,显卡驱动、内核模块在开启安全启动时可能加载不了,我通常直接进BIOS把Secure Boot关掉,一劳永逸。Fast Boot也要关掉,它会让网卡、USB等在开机时延迟初始化,装系统时偶尔会认不到U盘或引导不干净。

2.3 制作匹配EFI模式的启动U盘

制作Ubuntu 16.04启动盘,Windows下推荐用Rufus。这里面隐藏着一个最常见的翻车点:Rufus里“分区类型”直接选“GPT”,下方“目标系统类型”选“UEFI(非CSM)”,这样才能保证U盘以UEFI模式启动。很多人保留了默认的MBR模式,结果在UEFI启动菜单里根本看不到U盘,或者看到了也引导失败。

启动U盘做好后,进BIOS的Boot菜单,找到U盘对应的UEFI启动项,通常是“UEFI: 你的U盘型号”这样的名字。如果BIOS选项列表里只有不带UEFI前缀的Legacy项,说明U盘没有被识别为UEFI启动介质,多半是Rufus分区类型选错了。

3. 第一块硬盘上的Windows 10安装与收尾

Windows应该先装还是后装?这算双系统里的老话题了。我的习惯是先把Windows装好,再装Ubuntu,因为Windows的引导器不兼容Linux文件系统,如果先装Ubuntu再装Windows,Windows安装程序会直接重写引导记录,把Ubuntu的引导踢出去,到时候还得用LiveCD修复。反过来先装Windows,Ubuntu安装器能自动识别Windows引导并在GRUB里生成启动项,省事很多。

3.1 Windows的安装流程

进入Win10安装界面后,在选择安装类型时选“自定义:仅安装Windows(高级)”,到分区界面时务必看清楚哪块盘是你要装Windows的硬盘。万一分不清,可以把未分配空间的大小和型号跟BIOS里的硬盘信息对照。选中目标硬盘后,如果上面有旧分区,全部删除,然后点“新建”,让安装程序自动生成EFI系统分区、MSR保留分区和主分区。

这个阶段最需要注意的一点是:完成分区后,Windows安装程序会在目标硬盘的第一块分区创建EFI系统分区(通常100MB到500MB),这块分区就是Windows的引导所在。装完后不要闲着,先进入系统确认几条信息:

  • 在磁盘管理里确认Windows安装在正确的硬盘上,且该盘已经是GPT格式。
  • 确认系统分区和引导分区都在同一块盘上,没有跨盘写入引导。
  • 如果打算在Ubuntu里访问Windows分区,建议先在Windows里关闭快速启动,再把电源管理的休眠功能一并处理掉。快速启动会让系统在关机时保留内核会话到休眠文件,直接导致Linux无法正常挂载NTFS分区。

快速启动的关闭路径是:控制面板→硬件和声音→电源选项→选择电源按钮的功能→更改当前不可用的设置→取消勾选“启用快速启动”。

3.2 Windows引导的备份意识

装完Windows后可以考虑备份一下EFI分区的引导文件,方法不复杂:以管理员身份打开命令提示符,执行bcdboot C:\Windows /s S:(假设S:是一个FAT32格式的空分区)可以把引导文件复制一份出来。没有这块备份也没关系,后面说BIOS设置的时候会有更简单的兜底方案,但很多老手的习惯是给当前可用的Windows引导做个快照,方便在极端情况下快速找回。

4. 第二块硬盘上的Ubuntu 16.04安装全流程

Ubuntu 16.04是2016年的版本,界面是Unity桌面。现在回看它确实有点年头了,但这篇文章既然以16.04为例,就按它的实际安装器流程来讲,同时会把一些通用操作标注出来,稍新版本的Ubuntu思路完全一致。

4.1 引导安装介质并选择安装方式

开机进BIOS,把U盘的UEFI启动项调到第一位,或者用快捷启动菜单直接选择U盘引导。Ubuntu的Live环境起来后,桌面有“安装Ubuntu 16.04”图标,双击进入安装流程。前面几步语言、键盘布局、时区按自己情况选就行,到“安装类型”这一步时选最后一项“其他选项”,也就是手动分区。

为什么不选“与Windows共存”这类自动安装?因为双硬盘场景下,自动安装在识别“哪块盘上一堆未分配空间”的时候经常犯迷糊,它可能自作主张把引导装到Windows所在的那块盘上,这才是我要规避的核心风险。手动分区虽然多花三分钟,但每一步都明确可控,值得。

4.2 手动分区的核心规划

进入分区界面后,先找到第二块硬盘,通过容量大小很容易区分哪块是Ubuntu的目标盘。接下来创建以下分区:

  • 根分区/:建议至少30GB。如果只是做开发、写代码、跑服务,30到50GB很够用。给太少会导致软件装多后磁盘告急。
  • swap交换分区:物理内存小于8GB时,给到内存的1到2倍;内存16GB及以上,可以设置一个4到8GB的swap用于休眠和极端内存溢出兜底。Ubuntu 16.04时代Swap分区的使用率还挺高,建议不要省。
  • /home分区:剩下的空间全部分给home。把home单独拎出来有两个好处:一是以后系统更新、重装,home里的配置和数据可以直接保留不动;二是系统盘和用户数据盘分离,写日志、下载缓存等操作不会把根分区撑爆。

在“用于”下拉框里选择EXT4或swap,挂载点分别为//home,格式化成ext4。装Ubuntu 16.04的时候,文件系统老老实实用ext4就行,不要迷信btrfs、xfs这类进阶文件系统,在老版本Ubuntu上性能优势不明显,反而可能遇到兼容性问题。

4.3 引导加载器的安装位置:全篇最关键的选项

分区界面的底部有一行:“安装启动引导器的设备”,下拉框里默认显示的是/dev/sda。假如你的Windows在第一块硬盘(/dev/sda),Ubuntu在第二块硬盘(/dev/sdb),这里一定要手动改成/dev/sdb

这一步极其关键,很多人翻车就是漏改了它。如果保持默认,安装器会把GRUB写到第一块盘的EFI分区里,之后开机时BIOS优先加载的是Windows那块盘的引导,但引导链上被人塞进了GRUB,Windows和Ubuntu的引导文件混在同一块EFI分区里,等于又回到了单硬盘双系统互相踩踏的局面。而把它指定到/dev/sdb后,第二块硬盘就拥有了一套完整的、独立的GRUB引导,Windows那块盘的EFI分区完全不被碰,两个系统各自引导,真正实现物理隔离。

分区规划确认无误后,选择“现在安装”,后续的用户名、主机名、密码按提示设置即可。安装过程中会询问是否从Windows迁移账户之类的选项,直接跳过。

4.4 安装完成后的第一件事

安装完成后重启,默认会从第一块硬盘启动直接进Windows,这个阶段是正常的,因为你还没在BIOS里切换启动顺序。重启进BIOS,把启动优先级改成“从第二块硬盘启动”,保存退出后,就能看到GRUB菜单了。菜单里正常情况下会出现两个启动项:Ubuntu和Windows Boot Manager(在/dev/sda1上)。

如果GRUB菜单里没有Windows Boot Manager,不要慌,进Ubuntu系统后开一个终端,执行:

sudo update-grub

这个命令会重新扫描所有磁盘上的操作系统,把识别到的Windows引导项注册进GRUB菜单。如果扫描后仍然没有Windows,多半是os-prober出了问题,可以试着装一下os-prober再更新一遍:

sudo apt install os-prober sudo update-grub

5. 把选择权握在自己手里:引导顺序管理与系统切换

双系统装完之后,真正影响日常体验的是引导顺序和系统之间的“互认”。这里整理几种切换方式和坑,按实用度排序。

5.1 两种启动切换方式

双硬盘双系统的切换方式有两个流派:

第一种是用BIOS的快捷启动菜单临时选硬盘。开机时按F12、F11或Esc(具体键看主板品牌,技嘉是F12,微星是F11,戴尔是F12,笔记本普遍F12)呼出启动项选择列表,选对应硬盘进入系统。这种方式的好处是系统之间完全隔离,默认启动哪个系统只取决于BIOS里的启动顺序。

第二种是依赖GRUB菜单。也就是把默认启动顺序设为Ubuntu所在硬盘,开机后先出现GRUB菜单,用方向键选择Windows并回车,GRUB再把控制权交给Windows Boot Manager。这种方式的好处是两个系统合在一个菜单里,不用每次开机按快捷键。

两种方式可以共存。我自己的习惯是:日常默认从Ubuntu硬盘启动,用GRUB菜单做切换;如果Ubuntu某天被折腾坏了,就重启按F12直接从Windows硬盘启动,完全不影响使用。

5.2 修改默认启动系统

修改默认启动的顺序,主要看你想让哪个系统“默认进入”。

以Ubuntu的GRUB作为默认引导器时,可以用Grub Customizer图形化工具修改默认项和等待时间,比较直观:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt update sudo apt install grub-customizer

也可以用命令行直接修改/etc/default/grub文件,把GRUB_DEFAULT改成Windows引导项的序号,或者更干脆地改成需要默认启动的菜单项名称,然后执行sudo update-grub生效。

以Windows Boot Manager作为默认引导器时,直接在BIOS的启动顺序里把Windows所在硬盘放到第一位即可。此时开机直接进Windows,想进Ubuntu时按F12选第二块硬盘。

5.3 时钟差8小时的解决方案

双系统装完,最常被吐槽的一个“小毛病”是:进入Windows后时间差了8小时,或者进入Ubuntu后时间慢了8小时。原因很简单:Windows默认把硬件时钟(RTC)当成本地时间,Linux把硬件时钟当成世界标准时间UTC,中国在东八区,所以两个系统之间恰好差8小时。

解决办法选一套方案统一即可。我推荐在Linux侧执行:

timedatectl set-local-rtc 1

这条命令让Ubuntu也把硬件时钟当作本地时间处理。执行后可以顺手sudo reboot验证。如果更想在Windows侧改,可以打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation,新建一个DWORD(32位)值,命名为RealTimeIsUniversal,数值数据填1,重启后Windows就会把硬件时钟当UTC用了。两条路都能解决,选一条自己更方便维护的即可。

6. 双硬盘双系统的踩坑实录与根因分析

最后分享几个我在反复安装和帮朋友修机器的过程中遇到过的代表性故障,每一个都附上排查思路,方便大家举一反三。

6.1 Ubuntu硬盘拔掉后Windows无法启动

这是双硬盘方案里比较典型的故障。现象是:把装有Ubuntu的硬盘从机器上拆下来或禁用后,Windows所在硬盘无法正常启动,屏幕卡在类似“Reboot and Select proper Boot device”的提示。

根因通常是Windows的在UEFI引导链中注册了启动项,而这个启动项指向了包含Windows引导文件的分区,但在BIOS启动优先级配置里,Windows Boot Manager的条目对应的硬盘可能发生了变化,或者你在BIOS里把启动设备指定成了具体的一块盘,盘被移除后没有了后备条目。

排查思路分两步:

  • 第一步,进BIOS启动顺序设置,看Windows Boot Manager是否存在,如果存在,直接把它设为首选启动项。
  • 第二步,如果Windows Boot Manager不存在或损坏,用Win10安装U盘启动,进修复模式,打开命令提示符执行:
    bootrec /fixmbr bootrec /fixboot bootrec /rebuildbcd
    这三条命令可以修复MBR和启动配置数据。如果执行完还不行,再执行一次bcdboot C:\Windows /s S:把引导文件重新复制到EFI分区(S:换成实际EFI分区盘符)。

这个案例也说明了一个思路:双硬盘方案里,两块硬盘都尽量保证自己有一套完整的引导,这样一块盘出问题,另一块还能独立启动。

6.2 Ubuntu里打开Windows分区提示只读

进入Ubuntu后,文件管理器里能看到Windows那块盘的分区,但点到里面发现无法写入,或者用mount挂载时提示NTFS partition is hibernated之类的错误。

这是极为常见的一个问题,根源基本都在Windows侧。Windows的快速启动功能会在关机时把系统内核状态写入休眠文件,NTFS分区随后被标记为“休眠但未干净卸载”的状态。Linux的NTFS驱动出于安全考虑,不允许写操作,只能只读挂载,防止文件系统损坏。

解决办法在Windows里关闭快速启动,或者每次关机都用“重启”而不是“关机”。重启时Windows不会写休眠文件,分区就会干净卸载。已经在Ubuntu里遇到只读提示的,先回Windows关掉快速启动,然后正常关机(注意要用“关机”,不要用“重启”后直接断电关机,避免又产生写入),再进Ubuntu就可以正常读写NTFS分区了。

6.3 GRUB里找不到Windows引导项

前面在安装收尾部分提到过这个问题,但实际中有更复杂的变体:第二块硬盘的EFI分区存在,GRUB也装在第二块硬盘上,update-grub执行了好几次,GRUB菜单里就是没有Windows。

排查时可以走这几步:

  1. 确认Windows的EFI分区是否包含EFI/Microsoft/Boot/bootmgfw.efi这个引导文件。可以在Ubuntu里用lsblk -f看看分区表,再用文件管理器挂载EFI分区检查。
  2. 确认BIOS里Windows那块盘是否被识别为UEFI启动设备,如果Windows引导正常,开机按F12能看到。
  3. 手动卸载并重新挂载Windows的EFI分区,让os-prober能正确读取该分区。
  4. 最后再执行sudo update-grub

如果上面都做了仍然找不到,可能是安装Ubuntu时引导器的设备没选对,GRUB没被装到第二块硬盘的EFI分区里,而是装到了第二块盘的主引导区MBR。这种情况建议用Boot-Repair工具重装引导。用Ubuntu Live USB启动后连接网络,执行:

sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair boot-repair

按它的推荐选项修复,一般能自动把GRUB装到正确位置,并扫描出Windows引导项。

6.4 Ubuntu 16.04在较新硬件上键盘失灵、显卡驱动报错

Ubuntu 16.04的核心是4.4内核,对近几年的笔记本和主板支持有限。我自己在一台配备较新显卡和NVMe硬盘的机器上装16.04时就遇到过安装界面键盘失效、安装完后启动黑屏的情况,这些都是内核缺少对应驱动导致。

这类问题更通用的解法是升级内核到HWE版本。安装好Ubuntu 16.04后执行:

sudo apt install linux-generic-hwe-16.04

装完后重启就能获得更新的驱动支持。更彻底的建议是:如果硬件比较新,装Ubuntu 18.04或20.04会更省心,安装流程跟16.04完全一致,直接参考本文改一下版本细节就行。

6.5 双硬盘安装系统时/dev/sda/dev/sdb识别顺序不对

有时候安装系统时/dev/sda不一定就是物理意义上的第一块硬盘。SATA接口顺序、NVMe设备枚举顺序都可能影响Linux对盘符的分配。有些人的Windows装在/dev/sdb上,Ubuntu反而在/dev/sda上,这很正常。

所以不管是Windows还是Ubuntu安装,都别只盯着盘符,要看磁盘容量、型号和挂载点。Ubuntu手动分区界面里,每一行都会显示磁盘名称、容量、型号,对照BIOS里的硬盘信息去选,比认/dev/sda靠谱得多。这也是我为什么反复强调要选对引导器安装设备,因为你看到的/dev/sdb也许实际上才是Windows那块盘。

收尾的一点个人体会

装双硬盘双系统这件事,操作链路不算特别长,但每一步都藏着“选错之后要花几小时修复”的坑。我个人感受最深的一点是:引导关系越简单越可靠,双硬盘方案的灵魂就是让每个系统都拥有完全独立的引导链,宁愿多花十分钟在分区和引导器选择上,也不要贪图所谓的一键自动安装。Ubuntu 16.04毕竟是老版本,如今新装的机器建议直接上20.04 LTS或22.04 LTS,本文字里行间提到的分区规划、UEFI引导原则、BIOS启动顺序管理是通用的,换版本只是安装器界面和默认配置略有出入,思路大同小异。最后再提醒一句,开工前拿一块不重要的硬盘把流程跑一遍,比看多少教程都管用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询