ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Windows Ubuntu双系统安装避坑指南:UEFI与分区实战

2026/9/20 18:36:34 拓冰建站 浏览量
Windows Ubuntu双系统安装避坑指南:UEFI与分区实战 双系统这件事说简单也简单说坑也真能坑到人。我装过的机器从老式BIOS笔记本到最新的UEFI台式机前后不下二十台翻过的车包括但不限于装完Linux进不去Windows、引导项莫名其妙消失、分区表被搞成MBR和GPT混搭、Ubuntu装完没声音没WiFi。这些问题里真正因为硬件不兼容导致的其实很少绝大多数都是分区规划没想清楚、UEFI和Legacy模式没统一、引导顺序没理顺造成的。这篇内容就是把我这些年踩过的坑和总结出来的流程完整写一遍从前期准备到分区规划、从安装Ubuntu到引导修复每一步都告诉你为什么这么做、不这么做会出什么问题。适合第一次装双系统的新手也适合装过但翻过车想搞清楚原理的人。1. 装之前必须想清楚的几件事1.1 你的机器到底是UEFI还是Legacy启动这是整个双系统安装的地基地基没打对后面全是坑。判断方法很简单在Windows里按Win R输入msinfo32回车后看BIOS模式这一行。显示UEFI就是UEFI启动显示传统就是Legacy BIOS启动。另一种方法是在磁盘管理里看系统盘如果有一个叫EFI系统分区的FAT32小分区通常100MB到300MB那基本就是UEFI。为什么这个这么重要因为UEFI和Legacy的引导机制完全不同。UEFI模式下引导文件放在EFI系统分区里每个系统有自己独立的引导目录Legacy模式下引导信息写在磁盘的MBR里两个系统会争抢同一个位置。如果你Windows是UEFI装的Linux却用Legacy模式装结果就是两个系统互相看不见对方的引导开机只能进一个。注意现在市面上2015年以后出厂的机器默认基本都是UEFI。如果你不确定进BIOS看Boot Mode这一项有UEFI和Legacy两个选项就说明支持UEFI。1.2 硬盘分区表GPT还是MBRUEFI启动对应的是GPT分区表Legacy启动对应的是MBR分区表。这两个不能混用。你可以在磁盘管理里右键系统盘选属性在卷标签页看分区样式。显示GUID分区表(GPT)就是GPT显示主引导记录(MBR)就是MBR。如果你的Windows是UEFIGPT的组合那Linux也必须用UEFI模式安装分区表保持GPT不变。这种情况下安装Ubuntu最省心因为它会自动识别EFI分区并把引导装进去。反过来如果你的Windows是LegacyMBR那Ubuntu也要用Legacy模式装引导会写到MBR里两个系统共用。有个常见的翻车场景有人Windows是UEFIGPT但做Ubuntu启动盘的时候用了Legacy模式写入结果安装程序启动后识别不到硬盘上的Windows或者装完直接覆盖了Windows引导。所以做启动盘的时候一定要确认写入模式。1.3 给Linux留多少空间才够用这个问题没有标准答案但有几个参考维度。Ubuntu系统本身安装完大约占用8到10GB加上后续更新和缓存建议系统分区至少给30GB。如果你打算装Docker、跑数据库、装各种开发环境50GB起步比较稳妥。Swap分区交换分区在内存大于等于8GB的机器上可以不给或者给2到4GB意思一下。如果内存只有4GBSwap建议给内存的1.5到2倍。至于怎么腾空间最安全的做法是在Windows的磁盘管理里压缩现有分区。右键C盘选压缩卷输入要压缩的大小。但要注意Windows的压缩卷功能有时候压不出太多空间因为有些系统文件比如休眠文件、页面文件会挡在中间。这时候可以用defrag命令先整理磁盘碎片或者临时关闭休眠powercfg /h off再压缩。提示压缩出来的空间不要格式化保持未分配状态就行。Ubuntu安装程序会识别这块未分配空间你在里面手动分区即可。1.4 备份这件事不能省我见过太多人装双系统之前不备份装完发现Windows进不去了里面还有没交的论文和没提交的代码。备份不需要多复杂把重要文件复制到移动硬盘或者云盘就行。如果你想让整个系统可恢复可以用Windows自带的创建系统映像功能在控制面板的备份和还原(Windows 7)里做一个完整的系统镜像到外置硬盘。另外记一下你的Windows产品密钥。虽然现在很多机器密钥写在BIOS里重装会自动读取但万一引导出问题需要修复有密钥在手会安心很多。查询命令是wmic path softwarelicensingservice get OA3xOriginalProductKey在管理员权限的CMD里运行。2. 制作Ubuntu启动盘的正确姿势2.1 镜像下载和版本选择Ubuntu官网提供桌面版和服务器版装双系统选桌面版。版本方面LTS长期支持版本是首选比如22.04 LTS或者24.04 LTS支持周期五年稳定性和兼容性都经过充分验证。非LTS版本支持周期只有九个月不适合日常使用。下载的时候注意选对架构现在绝大多数电脑是x86_64也叫AMD64直接下这个就行。如果你用的是ARM架构的机器比如某些轻薄本要选ARM64版本。下载完成后建议校验一下SHA256值虽然官网下载一般不会出问题但万一网络传输过程中文件损坏装到一半报错会很麻烦。2.2 用Rufus还是VentoyRufus和Ventoy是两个最常用的启动盘制作工具各有适用场景。Rufus的特点是简单直接选好镜像和设备点开始就行它会自动处理分区方案和目标系统类型。Ventoy的特点是支持多镜像你把多个ISO文件直接复制到U盘里启动时可以选择从哪个镜像启动适合需要经常装不同系统的人。用Rufus制作的时候有几个选项要注意。分区类型选GPT还是MBR取决于你机器的启动模式。目标系统类型选UEFI还是BIOS也要和机器保持一致。文件系统一般选FAT32因为UEFI固件只认FAT32格式的EFI分区。但FAT32有个限制单个文件不能超过4GBUbuntu镜像一般在3到4GB之间刚好卡在边缘。如果镜像超过4GBRufus会提示你用NTFS但NTFS在UEFI启动时可能需要额外的驱动支持不是所有主板都认。注意如果你用Rufus写入后启动不了先检查BIOS里的Secure Boot是否关闭。Ubuntu从20.04开始支持Secure Boot但有些主板实现不规范会导致启动失败。装系统期间建议先关掉Secure Boot装完再根据需要开启。2.3 启动盘做完后的验证启动盘做完不要急着拔先在当前Windows里打开U盘看看里面有没有EFI文件夹和boot文件夹。如果有说明启动盘制作成功。然后重启电脑进BIOS设置启动顺序把U盘调到第一位。保存退出后如果能看到Ubuntu的GRUB菜单或者直接进入安装界面就说明启动盘没问题。如果重启后直接进了Windows说明启动顺序没生效。这时候重新进BIOS检查是不是有Fast Boot快速启动选项把它关掉有些主板快速启动会跳过USB设备检测。另外检查CSM兼容模式UEFI启动时CSM应该关闭Legacy启动时CSM应该开启。3. Ubuntu安装过程中的分区实操3.1 安装类型选择别选清除整个磁盘Ubuntu安装程序会问你选择哪种安装类型选项通常有清除整个磁盘并安装Ubuntu、与Windows Boot Manager共存、其他选项。前两个都不要选。清除整个磁盘会把你Windows也干掉与Windows共存虽然听起来很美好但它自动分区的方式有时候会把EFI分区搞乱而且不会让你控制分区大小。选其他选项进入手动分区界面。这里你会看到磁盘的完整分区表包括Windows的EFI分区、恢复分区、C盘等等。找到之前压缩出来的空闲空间在那上面创建新分区。3.2 手动分区的具体方案在空闲空间上点号创建分区一般需要建三个第一个是EFI系统分区。如果你Windows已经有一个EFI分区了这个可以跳过不建Ubuntu安装程序会自动把引导文件写到已有的EFI分区里。但如果你想给Ubuntu独立的EFI分区有些人不喜欢两个系统共用一个EFI分区可以建一个300MB到500MB的FAT32分区挂载点选/boot/efi。不过说实话共用EFI分区是更常见的做法也更省事。第二个是根分区。大小建议30GB到50GB文件系统选ext4挂载点选/。这是Ubuntu的系统盘所有系统文件和安装的软件都在这里。第三个是家目录分区可选但推荐。剩余空间都给它文件系统ext4挂载点/home。这样以后重装Ubuntu的时候只要不格式化/home分区你的个人文件和配置就能保留下来。Swap分区在内存足够的情况下可以不建Ubuntu会自动使用swap文件代替。如果你坚持要swap分区大小给内存的1到2倍文件系统选swap。分区大小建议文件系统挂载点说明EFI300-500MBFAT32/boot/efi已有可跳过根分区30-50GBext4/系统文件家目录剩余空间ext4/home个人文件Swap0-16GBswap无内存大可不建3.3 引导器安装位置分区界面最下方有一个安装启动引导器的设备选项默认可能是整个磁盘比如/dev/sda。在UEFI模式下这个选项其实不太关键因为引导文件会写到EFI分区里。但在Legacy模式下这个选项决定了GRUB写到哪个磁盘的MBR里。如果你只有一块硬盘保持默认就行。如果你有两块硬盘Windows在一块、Ubuntu装在另一块建议把引导器装到Ubuntu所在的那块磁盘上。这样即使Ubuntu的引导出问题也不会影响Windows的启动。提示安装过程中如果提示检测到其他操作系统说明安装程序识别到了Windows这是好现象。如果没提示可能是启动模式不匹配需要退回去检查UEFI/Legacy设置。4. 装完之后的引导管理与修复4.1 GRUB引导菜单的调整安装完成后重启正常情况下会看到GRUB菜单里面有Ubuntu和Windows Boot Manager两个选项。如果默认启动项是Ubuntu但你更常用Windows可以修改GRUB配置来调整默认启动项和等待时间。编辑/etc/default/grub文件找到GRUB_DEFAULT这一行。0表示第一个菜单项1表示第二个以此类推。如果你想让Windows成为默认启动项先确认Windows在菜单里的位置然后设置对应的数字。GRUB_TIMEOUT控制菜单等待时间单位是秒设成5到10秒比较合适。改完之后运行sudo update-grub让配置生效。这个命令会重新扫描磁盘上的操作系统并生成新的GRUB配置。4.2 Windows引导消失的修复方法这是双系统最常见的问题之一装完Ubuntu后开机直接进UbuntuGRUB菜单里没有Windows选项。原因通常是Ubuntu安装程序没有正确识别Windows的EFI引导文件或者Windows的快速启动功能导致EFI分区处于锁定状态。修复方法分两步。第一步在Ubuntu里打开终端运行sudo os-prober这个命令会扫描所有磁盘寻找可引导的操作系统。如果它输出了Windows的路径说明系统能找到Windows只是GRUB没配置。再运行sudo update-grubGRUB就会把Windows加进菜单。如果os-prober没有输出Windows说明Windows的EFI引导文件可能有问题。这时候需要检查EFI分区里有没有Windows的引导目录。挂载EFI分区sudo mount /dev/sda1 /mnt把/dev/sda1换成你的EFI分区然后ls /mnt/EFI看看有没有Microsoft文件夹。如果有说明引导文件在问题出在GRUB配置上如果没有说明Windows引导被破坏了需要用Windows安装U盘修复。4.3 用Windows安装盘修复引导如果Windows引导真的丢了别慌用Windows安装U盘可以修复。制作Windows安装U盘需要用微软官方的Media Creation Tool在Windows里下载运行选择为另一台电脑创建安装介质写入U盘。从U盘启动后在安装界面点修复计算机然后选疑难解答、命令提示符。在命令行里依次运行bootrec /fixmbr bootrec /fixboot bootrec /scanos bootrec /rebuildbcdbootrec /rebuildbcd会扫描磁盘上的Windows安装并重建引导配置数据。如果它找到了Windows安装按提示确认添加。完成后重启Windows应该就能正常启动了。但这时候GRUB可能会被覆盖需要再用Ubuntu启动盘修复GRUB或者用boot-repair工具一键修复。4.4 双系统下从一个系统修复另一个系统的引导这个场景很实用Windows进不去了但Ubuntu还能进能不能在Ubuntu里修复Windows引导可以。核心思路是在Ubuntu里挂载Windows的EFI分区然后用工具重建引导文件。具体操作先挂载EFI分区到/mnt然后检查/mnt/EFI/Microsoft/Boot/目录下有没有bootmgfw.efi文件。如果没有可以从Windows安装U盘里复制一份或者用boot-repair工具自动修复。boot-repair的安装命令是sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair boot-repair运行后选推荐修复它会自动检测并修复常见的引导问题。这个工具对新手非常友好但要注意它有时候会做一些意料之外的操作比如修改GRUB配置或者重装GRUB所以运行前最好确认一下它要做什么。反过来如果Ubuntu进不去了但Windows还能进可以在Windows里用bcdedit命令或者第三方工具比如EasyUEFI来调整引导顺序把Ubuntu的引导项加回去。不过Windows下修复GRUB比较麻烦更推荐用Ubuntu启动盘进Live环境修复。5. 装完Ubuntu后必做的几件事5.1 换国内镜像源加速更新Ubuntu默认的软件源在国外更新速度慢得让人抓狂。换成国内镜像源能快很多。在软件和更新设置里找到下载自选项点开选其他站点然后选一个国内的镜像站比如阿里云、清华或者中科大。选完后系统会自动测试哪个源最快。也可以手动编辑/etc/apt/sources.list文件把里面的archive.ubuntu.com和security.ubuntu.com替换成镜像站地址。改完后运行sudo apt update刷新缓存。如果更新过程中报错说某个源不可用检查一下Ubuntu版本代号对不对比如22.04是jammy24.04是noble。5.2 安装中文输入法和常用软件Ubuntu默认没有中文输入法需要自己装。最常用的是Fcitx框架配搜狗输入法或者谷歌拼音。安装命令sudo apt install fcitx fcitx-googlepinyin装完后在语言支持里把键盘输入法系统改成Fcitx然后重启。重启后在Fcitx配置里添加谷歌拼音用Ctrl Space切换输入法。常用软件方面浏览器有Firefox和Chromium办公有LibreOffice开发工具可以用apt装Git、Docker、VS Code等。如果你需要Windows下的某些软件可以试试Wine或者虚拟机方案但兼容性参差不齐重要软件建议还是在Windows下用。5.3 解决常见的驱动问题Ubuntu对硬件的兼容性已经好了很多但有些机器装完还是会有问题。最常见的是WiFi不能用尤其是某些品牌的无线网卡。解决方法是在软件和更新的附加驱动标签页里看看有没有可用的专有驱动有的话装上就行。显卡驱动方面NVIDIA显卡建议装专有驱动开源驱动性能差很多。在附加驱动里选最新的专有驱动版本装完重启。AMD显卡一般用开源驱动就行性能已经不错了。声音问题比较少见如果遇到先检查alsamixer里的通道有没有被静音。亮度调节键不能用的话可能是内核参数需要调整在GRUB配置里加acpi_backlightvendor试试。提示装完系统后先跑一次sudo apt update sudo apt upgrade把能更新的都更新了很多驱动问题在更新后会自动解决。6. 那些年我踩过的坑和避坑经验6.1 分区表混搭导致的引导灾难有一次帮朋友装双系统他Windows是UEFIGPT我做Ubuntu启动盘的时候手滑选了MBR分区方案。结果Ubuntu安装程序启动后识别不到硬盘上的Windows我以为是硬盘有问题折腾了半天才发现是启动盘模式不对。重新用GPT方案做启动盘后一切正常。这个坑的教训是做启动盘之前一定确认机器的启动模式UEFI机器用GPT方案Legacy机器用MBR方案。Rufus在写入前会显示当前选择的分区方案和目标系统类型多看一眼能省很多事。6.2 快速启动和休眠导致的EFI分区锁定Windows的快速启动功能会让系统在关机时不完全关闭而是进入一种混合休眠状态。这时候EFI分区可能处于锁定状态Ubuntu安装程序无法写入引导文件导致装完后GRUB菜单里没有Windows或者Windows直接进不去。解决方法是在Windows里关闭快速启动。在控制面板的电源选项里点选择电源按钮的功能然后点更改当前不可用的设置把启用快速启动的勾去掉。另外如果Windows开了休眠也建议关掉命令是powercfg /h off。6.3 双硬盘双系统的引导顺序问题如果你有两块硬盘Windows装在一块Ubuntu装在另一块BIOS里的启动顺序决定了默认进哪个系统。有些主板在装完Ubuntu后会把Ubuntu的引导项调到第一位导致默认进Ubuntu。如果你更常用Windows进BIOS把Windows Boot Manager调回第一位就行。但要注意有些主板在BIOS更新或者CMOS电池没电后启动顺序会重置。这时候可能会进不去系统需要重新设置。所以建议装完双系统后把BIOS设置记一下或者拍个照存着。6.4 Ubuntu下访问Windows文件乱码双系统下在Ubuntu里访问Windows的NTFS分区有时候会遇到中文文件名乱码。这是因为Windows用的是GBK编码Ubuntu默认用UTF-8。解决方法是在挂载NTFS分区的时候指定编码参数sudo mount -t ntfs-3g -o iocharsetutf8 /dev/sda3 /mnt/windows如果想让系统自动挂载并处理编码可以编辑/etc/fstab文件在挂载选项里加上iocharsetutf8。另外Windows的快速启动和休眠会导致NTFS分区处于脏状态Ubuntu默认只读挂载。要读写的话先在Windows里彻底关机不是休眠或者在Ubuntu里用ntfsfix命令修复。6.5 系统时间差八小时的问题这是双系统经典问题Windows把硬件时钟当作本地时间Ubuntu把它当作UTC时间导致两个系统时间差八小时。解决方法有两种要么让Ubuntu也用本地时间要么让Windows用UTC时间。推荐让Windows用UTC因为Linux下改起来更规范。在Windows里以管理员身份运行CMD输入reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /d 1 /t REG_DWORD /f然后在Ubuntu里确认/etc/adjtime文件最后一行是UTC。重启后两个系统时间就一致了。6.6 删除Ubuntu后Windows引导残留如果你后来不想用Ubuntu了直接把Ubuntu分区格式化会发现开机还是进GRUB然后报错找不到系统。这是因为EFI分区里还有Ubuntu的引导文件BIOS的启动项里也还有Ubuntu的条目。清理方法是先用Windows安装U盘或者bootrec命令修复Windows引导然后在Windows里用diskpart挂载EFI分区删除EFI/ubuntu文件夹。最后进BIOS把Ubuntu的启动项删掉。具体命令diskpart list disk select disk 0 list partition select partition 1 assign letterZ exit然后打开Z盘删除EFI文件夹里的ubuntu目录。重启后Windows引导就干净了。7. 关于双系统的一些个人体会装双系统这件事流程本身并不复杂难的是遇到问题时知道去哪里找原因。我自己的经验是百分之八十的引导问题都出在UEFI/Legacy模式不匹配和EFI分区配置上。所以每次装之前花五分钟确认启动模式和分区表比装完后花两小时修引导划算得多。另外Ubuntu的LTS版本真的比非LTS版本省心很多。我早期追新用过非LTS版本结果显卡驱动和WiFi驱动各种问题后来老老实实回到LTS稳定性好了不止一个档次。如果你不是非要某个新特性LTS是唯一正确的选择。最后说一个实用技巧装完双系统后用boot-repair工具生成一份引导信息报告保存到U盘或者云盘。这份报告里包含了磁盘分区表、EFI分区内容、GRUB配置等关键信息。万一以后引导出问题拿着这份报告能快速定位原因不用从头排查。这个习惯帮我省过好几次事推荐你也试试。