UEFI+GPT双系统安装完全指南:Ubuntu 20.04与Win10共存
2026/9/17 14:13:24 网站建设 项目流程

我折腾双系统也有七八年了,从最早的MBR+BIOS时代一路装到现在UEFI+GPT时代,踩过的坑攒起来能绕电脑桌两圈。这次借装Ubuntu 20.04 LTS的机会,把整套流程和关键原理拆开揉碎讲清楚。这篇教程不光是"照着点下一步",更重要的是让你理解每一步为什么要这么做。装系统这件事,懂了原理之后,以后再遇到任何Linux发行版都能举一反三,遇到引导问题也不至于两眼一抹黑。

先说清楚这篇教程的适用范围:你的电脑是win10系统,主板支持UEFI引导,硬盘是GPT分区表,目标是在保留win10不动的前提下,安装Ubuntu 20.04 LTS组成双系统。这是目前最主流、兼容性也最稳的组合方式。文章会涉及U盘启动盘制作、BIOS设置、Ubuntu分区、GRUB引导修复等内容,适合有一定电脑基础但第一次碰Linux的人。哪怕你是纯小白,只要跟着步骤走,别跳步,基本不会出问题。

1. 安装前准备:硬件、镜像、U盘一个都不能凑合

1.1 先确认你的电脑支持UEFI和GPT

装双系统之前,最重要的不是下载镜像,而是先搞清楚自己电脑的启动方式。现在市面上2015年以后出厂的电脑,绝大多数都支持UEFI启动,硬盘也默认用的是GPT分区表。你可以打开win10的磁盘管理器,右键点击"磁盘0",如果弹出菜单里有"转换成MBR磁盘"这个选项,说明当前是GPT分区表;如果显示的是"转换成GPT磁盘",说明还是MBR。另外也可以在win10的"系统信息"里查看BIOS模式,显示"UEFI"就对了。

为什么非要UEFI+GPT?简单说,UEFI是取代传统BIOS的新一代固件接口,启动速度更快,支持的硬盘容量更大,安全机制更完善;GPT则是配合UEFI使用的分区表格式,最大支持18EB的磁盘容量,关键是它自带冗余分区表,容错性比MBR强得多。两者是配套关系,就像USB-C接口和USB-C线缆,形态匹配才能正常工作。如果你的电脑还在用老式BIOS+MBR,这篇文章的步骤不完全适用,那些老机器装Linux可以直接跳过UEFI设置,分区也用MBR方式,思路类似但细节不同。

实际安装中,最常见的翻车点就是"BIOS设置UEFI启动,但U盘是用MBR方式写入的"或者反过来,导致系统根本无法引导。后面制作启动盘的时候我会专门说这个坑。

1.2 下载Ubuntu 20.04 LTS官方镜像并校验

Ubuntu 20.04 LTS的镜像可以直接从官网下载,进入页面后选择Desktop版本即可。ISO文件大概2.6GB左右,下载速度取决于你的网络情况。建议不要从第三方网站下载镜像,官网文件的哈希值公开可查,虽然Ubuntu官方不强制校验,但养成校验哈希的习惯总没错,尤其是在网络环境复杂的情况下。Windows下可以用PowerShell自带的Get-FileHash命令来校验,或者用HashCalc这类小工具。

我在下载镜像时一般只用官方源,因为第三方源偶尔会给出精简版或带捆绑软件的定制版,对新手来说是巨大的坑源。官网地址就不用我多说了,搜索引擎一搜就能找到。顺便提醒一句,如果你在国内,官网下载速度不理想的话,可以选择阿里云镜像站、清华TUNA镜像站等国内镜像,它们同步官方源,文件内容完全一致,但速度更快。

下载完成后重命名一下ISO文件,比如ubuntu-20.04.6-desktop-amd64.iso,方便后面识别。镜像中的amd64代表64位系统,现在基本没有32位机器的用武之地了,放心用这个。

1.3 制作启动U盘:Rufus参数别乱改

制作Ubuntu启动U盘,Windows下我推荐用Rufus,开源免费,体积小,功能强。下载Rufus后用管理员身份运行,插入一个至少8GB的U盘(建议16GB以上,因为后续你可能会在Live环境里做点别的)。在Rufus界面里,设备选你的U盘,引导类型选"磁盘或ISO映像",点击选择按钮定位到下载好的Ubuntu ISO文件。

这里有一个关键参数需要手动确认:分区类型和目标系统类型。Rufus会自动根据ISO信息选择推荐值,但有时会识别成MBR,这时你需要手动改成GPT分区,目标系统选UEFI(非CSM)。因为我们的目标是UEFI + GPT组合,U盘的分区方式最好也保持一致。如果你在BIOS里开了CSM兼容模式,那U盘用MBR也能启动,但我不建议开CSM,那会让启动流程变复杂,而且Ubuntu的性能和兼容性反而容易出问题。

文件系统格式Rufus一般会选FAT32,这是UEFI启动的标准要求,不用改。簇大小保持默认,卷标随意。所有参数确认无误后点击开始,Rufus会提示你U盘上的数据会被清空,确认后等待写入完成即可。整个过程大约需要几分钟,取决于U盘的写入速度。

我遇到过不少人在这一步偷懒,直接用UltraISO或Win32DiskImager写U盘。不是不能用,但Rufus对UEFI启动的兼容性处理得最好,生成的启动盘几乎不会被BIOS拒认。既然都折腾到装系统这一步了,工具选对能省下大量后续排查时间。

2. 深入理解UEFI + GPT:为什么这对组合是现在的标配

2.1 UEFI的启动流程和传统BIOS有什么区别

传统BIOS的启动流程是:开机→BIOS自检→读取硬盘第一个扇区(MBR)→执行引导代码→加载操作系统。这个流程的瓶颈在于,MBR只有512字节,里面既要有分区表又要放引导代码,空间极度紧张,而且一条链路上任何一个环节出问题,整个系统就启动不了。

UEFI的启动流程完全不同:开机→固件初始化→读取NVRAM中的启动项→直接运行EFI应用程序。引导文件是放在EFI系统分区(ESP分区)里的,ESP分区采用FAT32文件系统,可以从里面加载引导管理器(比如GRUB、Windows Boot Manager)。这意味着引导程序不再受512字节限制,功能可以做得非常强大,也支持图形界面、网络引导、安全启动等高级特性。

UEFI还有一个重要特点——CSM(兼容性支持模块)。开启CSM后,UEFI可以兼容传统BIOS的启动方式,但既然我们走GPT路线,就干脆把CSM关掉,让系统完全按UEFI方式来。特别是Ubuntu 20.04在纯UEFI模式下安装,引导配置会写得非常干净,后续修复也容易。

2.2 GPT分区表的几个关键点

GPT分区表相比MBR的核心改进有三点:分区数量不再受限(MBR只能建4个主分区)、单分区容量支持到EB级别、分区表自带冗余备份。这些特性对双系统方案至关重要,因为双系统至少需要给Windows保留系统分区、MSR分区(微软保留分区)、ESP分区,再给Ubuntu划分根分区和swap分区,分区数量早就超过4个了。

GPT还有一个细节值得知道——ESP分区是共享给多个操作系统使用的。Windows和Ubuntu的引导文件其实都放在同一个ESP分区里,只是各自放在不同的目录下。Windows的引导文件在\EFI\Microsoft,Ubuntu的GRUB引导文件在\EFI\ubuntu。开机时,UEFI固件通过NVRAM里的启动项记录找到GRUB或Windows Boot Manager,这就是双系统的引导切换机制。

安装Ubuntu时,安装程序会自动识别已有的ESP分区,并向其中写入GRUB引导文件,同时把自己追加到UEFI启动项里,这个过程理论上全自动,但前提是ESP分区存在且状态正常。所以如果你之前的Windows启动有问题,或者ESP分区的文件损坏,一定要先修好Windows引导再装Ubuntu,否则两个系统都会受影响。

2.3 常见误区:UEFI与GPT不匹配会怎样

UEFI固件本身有能力读取GPT磁盘上的引导文件,但如果磁盘是MBR,UEFI通常只在开启了CSM的情况下才会尝试引导它,纯UEFI模式直接拒绝。反过来,传统的BIOS无法识别GPT磁盘,只能从MBR启动。这就是为什么"UEFI + GPT"和"BIOS + MBR"必须成对出现。

实际装系统时报错"无法安装Windows,因为这台电脑的磁盘布局不受UEFI支持",本质上就是安装介质或目标磁盘的分区方式与固件模式不匹配。对于Ubuntu的安装,同样的问题会表现在启动U盘无法引导,或者在分区界面里找不到空闲空间。所以要提前理清楚:你的电脑固件是UEFI,磁盘是GPT,U盘也按GPT制作,三条腿都对齐了,后面才顺。

3. Windows侧的准备工作:别让win10在安装过程中捣乱

3.1 关闭win10快速启动

Windows的快速启动(Fast Startup)是一个混合关机功能,表面上是关机,实际是休眠内核会话。这个功能对Windows自己没用,但对双系统是个隐患:它会导致Windows没有真正释放对硬盘的控制权,Ubuntu安装程序有时会检测到磁盘处于休眠状态而拒绝挂载NTFS分区,或者安装完成后进入Ubuntu时无法访问Windows的分区。

关闭方法:进入控制面板 → 电源选项 → 选择电源按钮的功能 → 点击"更改当前不可用的设置" → 取消勾选"启用快速启动" → 保存修改。另外还建议在管理员命令行里执行powercfg /h off来彻底禁用休眠文件,但这一步不是必须的,如果你还想用Windows的休眠功能,只关快速启动就够了。

3.2 压缩出一块空间给Ubuntu

Ubuntu安装需要一个未被使用的空闲空间,这块空间最好是未分配的(unallocated),而不是简单的空分区。在win10磁盘管理器里,右键选择空间比较大的分区(一般是C盘或D盘),选择"压缩卷",输入要压缩的大小。这里的大小建议结合你的实际需求来确定:20GB只能勉强装个系统,日常使用至少40GB,如果打算装一些开发环境,建议给80GB以上。

我自己的习惯是给Ubuntu分120GB,其中根分区100GB,swap分配按内存大小的1-2倍。如果你内存是16GB,swap给16GB够用;如果内存只有8GB,swap建议给16GB比较好,避免内存溢出时系统卡死。

压缩完成后,磁盘管理器里会看到一块黑色的"未分配"空间,这块空间先不用建分区,留给Ubuntu安装程序自己处理。强烈不建议在Windows下预先创建ext4分区,因为Ubuntu安装程序对已存在的Linux分区处理不一定干净,而且Windows磁盘管理器并不原生支持ext4,操作容易出错。

3.3 备份和检查磁盘健康状况

虽然双系统安装一般不会破坏Windows数据,但重装系统这种事永远有意外。操作之前,把重要数据备份到移动硬盘或网盘,这是最基本的保底动作。另外检查一下磁盘健康状况,可以用CrystalDiskInfo这类工具查看SMART信息,如果出现黄色或红色警告,先解决磁盘问题再做系统安装,否则装好了系统也是白搭。

还有一点容易被忽视——BitLocker。如果你在Windows上启用了BitLocker加密,且系统盘被加密了,安装Ubuntu时引导信息无法写入,Windows分区可能无法挂载。最好在安装前临时关闭BitLocker,等双系统装好后可以重新开启。坦白说,双系统场景下我不建议用BitLocker加密系统盘,因为每次GRUB加载Windows时都会多一道解密验证,麻烦且风险不小。

4. BIOS设置:Secure Boot和启动顺序是关键

4.1 怎么进BIOS/UEFI设置

现在的电脑进入UEFI固件设置一般有两种方式:一是开机时按快捷键(戴尔、联想、惠普通常是F2或F12,华硕是Del或F2,微星是Del,具体看主板品牌),二是在win10里设置→系统→恢复→高级启动→立即重启,然后在选项里选"使用设备"或"疑难解答→高级选项→UEFI固件设置"。第二种方式最稳妥,不会错过时机。

如果你选择按快捷键进BIOS,开机时可能会遇到"按F2无效"的情况。这通常是因为你的USB键盘在POST阶段还没被识别,或者按键时机太早太晚。解决办法是尝试按着F2不放再开电源,或者换一个PS/2接口的老键盘(新主板一般都没有PS/2了,那就换个USB接口试),另外有些主板需要在BIOS里开启USB键盘支持,但那个选项出厂默认就是开的。

4.2 关闭Secure Boot

Secure Boot是UEFI引入的安全机制,它要求所有引导程序都有合法的数字签名。Windows的引导程序有微软签名,当然没问题,但Ubuntu的GRUB引导程序签名的兼容性就比较复杂。虽然Ubuntu 20.04的引导程序也有签名,理论上可以在启用Secure Boot的情况下安装和启动,但实际安装过程中我见过太多机器在Secure Boot开启时引导不了,或者安装完成重启后直接卡在GRUB界面。

稳妥起见,直接进BIOS把Secure Boot设为Disabled。这个选项通常位于"Boot"或"Security"选项卡下,有些主板把它叫做"安全启动"或"Secure Boot Control"。关闭后保存退出。这个操作不会影响Windows启动,因为Windows支持在没有Secure Boot的情况下正常运行,只是系统在Windows里显示"安全启动未开启"而已。

4.3 设置U盘优先启动

BIOS里的启动顺序设置,目的有且只有一个:让电脑从U盘启动,进入Ubuntu Live环境。把U盘移动到启动顺序第一位,保存退出。如果你用的是一块新型主板,启动菜单键一般可以直接列出所有启动设备,不用改顺序,直接选U盘就行。

这里要注意U盘启动项的显示名称,如果出现两个U盘选项(一个带UEFI前缀,一个不带),请选择带UEFI前缀的那个。原因就是我们前面反复强调的:我们要的是UEFI模式启动。选择不正确,可能会进入传统BIOS模式的Ubuntu安装过程,导致系统以错误的引导方式写入,后续启动会变得很乱。

5. Ubuntu 20.04 LTS 安装全过程详解

5.1 进入Live环境后的第一件事

从U盘启动后,会看到Ubuntu的GRUB引导菜单,选择"Try or Install Ubuntu"进入Live环境。这一步有两个选项:Try Ubuntu和Install Ubuntu。我建议先选Try Ubuntu,因为可以在安装前检查一些基本信息。打开终端,输入lsblk看看磁盘布局,确认能正常识别到Windows的磁盘和ESP分区;再输sudo fdisk -l看看分区类型,是否是GPT。

联网方面,如果你用无线网络,先在右上角连上Wi-Fi。安装过程中Ubuntu会尝试下载更新和第三方驱动,网络起着决定性作用。如果目前Wi-Fi信号弱或者不稳定,建议直接用网线连接,能避开很多网络问题。

5.2 安装类型必须选"Something else"(手动分区)

Ubuntu安装器一般会给你几个选项:"Install Ubuntu alongside Windows Boot Manager"(自动安装)、"Erase disk"(擦除磁盘)、"Something else"(手动)。如果你选自动安装,安装器会自己缩小Windows分区并划分空间,这在某些情况下能跑通,但对分区布局的控制力为零。我一直推荐手动分区,因为双系统的长期可靠性需要你对每个分区的位置和大小了然于胸。

选"Something else"后,你会看到磁盘分区表。找到之前压缩出来的未分配空间(它显示为"free space")。接下来我们要在这个区域创建以下分区:

  • EFI系统分区:如果安装器检测到已有的ESP分区(一般是一个FAT32格式、大小在100MB-500MB的挂载在/boot/efi的分区),那就不要新建,直接让它复用已有ESP分区。如果没有检测到,需要手动在空闲空间里划一个500MB的分区,类型设为"EFI System Partition"。
  • 根分区/:大小根据你的需求设定,文件系统用ext4,挂载点选/
  • Swap分区:大小按内存大小或两倍内存,类型选"swap"。
  • 家目录/home(可选):如果你有大量个人文件,建议单独分一个/home,隔离系统数据和用户数据,以后系统升级或者重装,家目录的数据还在。

分区完成后,下面有一个"Device for boot loader installation"下拉框,这个选项很关键——它决定Bootloader装到哪里。在UEFI启动模式下,引导程序应该写入ESP分区,所以选择那个已有的ESP分区设备(比如/dev/sda1),注意不要选整个磁盘/dev/sda,那是传统BIOS模式下的选择方式。选错了,轻则引导失败,重则把Windows的引导搞坏。

最后点击"Install Now",安装器会列出即将执行的操作,确认无误后继续。

5.3 时区、键盘布局和用户信息设置

安装过程会依次询问时区、键盘布局和用户名密码。时区选择Asia/Shanghai,键盘布局默认English (US)就可以,除非你用非英文布局的键盘。用户名设置方面,注意安装器会生成一个机器名(hostname),它出现在终端提示符里,可以是任意组合,但不建议太复杂,纯小写字母加连字符最稳妥。

创建用户时会要求设置密码。这个密码就是你以后sudo提权用的密码,也是登录系统的密码,务必记住。密码强度建议不要太复杂,但也不能太随意,毕竟这是你系统的第一道门。

5.4 安装过程中的常见等待与网络下载

点完继续后,系统开始安装。这一步要做的第一件事就是等待。安装过程中有一个选项是"Download updates while installing Ubuntu",这个建议勾选,但需要注意,如果网络慢,安装时间会成倍增加。还有"Install third-party software for graphics and Wi-Fi hardware"选项,这个也建议勾选,尤其是NVIDIA显卡用户,因为Ubuntu默认的开源驱动只能让显卡亮屏,没有硬件加速,性能很差,勾选后安装器会顺便把闭源驱动装上。

安装时间取决于硬件性能,一般10-30分钟不等,安装完后点"Restart Now"。如果提示"Please remove the installation medium, then press ENTER",按回车重启即可。

6. 双系统的引导机制:GRUB和Windows Boot Manager的共处之道

6.1 重启后的第一个引导界面

重启后会看到紫底白字的GRUB引导菜单,里面有Ubuntu(默认)、Advanced options for Ubuntu,还有Windows Boot Manager(或者显示为Windows 10)。这就是整个双系统引导的核心界面。时间默认10秒,你可以用方向键选择要进入的系统,也可以按回车直接启动Ubuntu。

如果你的GRUB菜单里没有Windows Boot Manager这一项,别慌,很可能只是启动项检测不够及时。可以先进入Ubuntu,然后在终端里输入sudo update-grub,这个命令会重新扫描所有磁盘,把Windows的引导信息加入到GRUB菜单里。之后重启应该就能看到了。

6.2 GRUB是怎么做到同时引导两个系统的

GRUB是Linux生态里最常见的引导管理器。它本身存在于ESP分区的/EFI/ubuntu/目录下,开机时被UEFI固件优先加载。GRUB读取自己的配置文件/boot/grub/grub.cfg,这个文件里记录了所有可用的启动项。安装Windows双系统时,GRUB通过os-prober工具检测到Windows的引导文件,并生成对应的启动项。

执行sudo update-grub后,os-prober会自动在NTFS分区和ESP分区里搜索Windows Boot Manager的位置,然后写入一个新的menuentry配置。这个过程是自动的,但是需要能挂载NTFS分区,如果你之前没装ntfs-3g工具,Ubuntu默认其实已经带了,不需要额外处理。

6.3 如何设置默认启动系统和等待时间

Ubuntu安装完成后默认启动的是Linux。如果你希望默认进入Windows,或者想调整GRUB菜单的等待时间,可以直接修改/etc/default/grub文件。终端里运行sudo nano /etc/default/grub,找到GRUB_DEFAULT=0,把0改成你想要默认启动的菜单项序号,菜单项从0开始计数,第一个是0,第二个是1,以此类推。如果Windows是第三个菜单项,就写2。

GRUB_TIMEOUT=10控制菜单显示时间,单位是秒,可以改成5或者3。修改完保存退出,执行sudo update-grub让配置生效。注意:不同版本Ubuntu可能在配置项上有微小差异,但20.04的路径和命令是标准的。

7. 安装完成后的第一件大事:把系统调教稳定

7.1 双系统时间错乱问题与修复

装了双系统的人基本都会遇到一个问题:进入Ubuntu后,Windows的时间显示快8小时或慢8小时。原因在于Windows默认把主板时钟当作本地时间,而Ubuntu(以及大多数Linux系统)默认把主板时钟当作UTC时间。当你在Ubuntu里设置的时区是东八区,它会把硬件时钟当成UTC,然后加8小时作为本地时间;Windows却直接读硬件时钟作为本地时间,两边一交错,时间就差了8小时。

解决方案最简单粗暴的是让Ubuntu把硬件时钟当作本地时间处理。在Ubuntu里执行:

timedatectl set-local-rtc 1 --adjust-system-clock

这条命令会告诉系统使用本地时间作为RTC基准,之后Ubuntu和Windows的时间就同步了。不过要注意,timedatectl会提示这种设置可能导致夏令时间题,但国内没有夏令时,所以这个提示可以忽略。执行完可以用timedatectl查看,看到"RTC in local TZ: yes"就说明成功了。

7.2 更新软件源,把apt源换成国内镜像

Ubuntu默认的软件源服务器在国外,对于国内用户来说更新速度感人。安装完系统后的头等大事,就是把apt源换成国内镜像。Ubuntu 20.04的源列表文件是/etc/apt/sources.list,推荐用清华TUNA或阿里云的镜像。

用阿里云为例,先备份原文件:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo nano /etc/apt/sources.list

把里面内容替换为阿里云镜像源(到阿里云开源镜像站网站复制对应版本的sources.list内容),然后保存。接着运行:

sudo apt update sudo apt upgrade

把系统更新到最新状态。这一步会下载几百MB的更新包,取决于网速,可能需要几分钟到十几分钟。更新完系统后,安装任何软件的速度都会有质的提升。

7.3 显卡驱动:NVIDIA用户必须处理的坑

如果显卡是NVIDIA的独立显卡,进入Ubuntu后大概率会遇到两种情况:要么系统用开源nouveau驱动,性能极差;要么干脆黑屏或花屏。安装显卡驱动的正确姿势如下:打开"软件和更新"(Software & Updates),切到"附加驱动"(Additional Drivers)标签页,系统会自动检测可用的NVIDIA驱动版本,选择一个标注了"proprietary, tested"的版本,点击"应用更改"等待安装完成。装完后重启,在终端输入nvidia-smi确认驱动生效,能看到显卡型号和驱动版本就是成功了。

如果驱动安装后遇到登录循环(输入密码后回到登录界面),原因多半是驱动和内核版本不匹配,可以进入recovery mode删除驱动,或者用ppa:graphics-drivers/ppa源重新安装。我这里多说一句,如果你的电脑是双显卡(Intel核显+NVIDIA独显),Ubuntu默认的桌面会话走的是Xorg,运行在核显上,独显只处理计算任务,这是正常现象,不用焦虑。

7.4 挂载Windows分区,实现在Linux里访问Windows文件

双系统最大的好处之一就是在Linux里可以直接访问Windows的文件。文件管理器里打开"其他位置"(Other Locations),能看到Windows的NTFS分区,点击挂载即可。不用担心权限问题,Ubuntu默认的ntfs-3g驱动支持读写。不过这里有个注意事项:Windows的快速启动如果没关闭,NTFS分区在挂载时可能提示文件系统不一致,需要先进入Windows系统完整关一次机(不是重启)才能正常挂载。

如果你想把Windows分区固定挂载到某个目录,可以在/etc/fstab里加一行配置,但新手阶段我建议先不折腾,直接在文件管理器里手动挂载就好,万一fstab写错了,可能导致Ubuntu开机卡在mb0` 所示。这么做有个好处,修改错配置后只是等待时间边长,不会直接卡死系统。

8.2 安装完成后重启直接进入Windows/Ubuntu

如果你安装完成重启,发现GRUB菜单消失了,直接进入了Windows,大概率是UEFI启动项顺序被Windows Boot Manager占用了第一优先级。在BIOS的启动项顺序里,把ubuntu这一项移到最上面,保存退出重启,GRUB菜单就回来了。

反之,如果你只想进Windows不想经过GRUB,也可以在BIOS里把Windows Boot Manager设为首选,这样开机直接进Windows。要进Ubuntu时,开机按启动菜单键,选ubuntu项即可。这只是启动顺序的优先级问题,两个系统的引导文件共存于ESP分区,互不影响。

8.3 双系统下从一个系统修复另一个系统的引导

这个需求很常见:Windows的引导被搞坏了,或者GRUB被覆盖了,怎么救回来?核心思路是:用另一个系统的安装介质进入Live环境,通过chroot或boot-repair工具重写引导。

修复GRUB最简单的方式是使用Boot-Repair工具。进入Ubuntu Live环境后联网,打开终端依次执行:

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

Boot-Repair会扫描整个磁盘的引导配置,点击"Recommended repair"它会自动修复GRUB,并把Windows启动项也一并加回来。整个过程图形化,不需要手动操作,相当可靠。

修复Windows引导则稍麻烦些。如果Windows Boot Manager损坏或丢失,可以用Windows安装U盘启动,进入"修复计算机"→"疑难解答"→"高级选项"→"命令提示符",然后执行:

bootrec /fixmbr bootrec /fixboot bootrec /scanos bootrec /rebuildbcd

注意:如果Windows和Ubuntu共享一个ESP分区,bootrec的修复操作可能不会影响Ubuntu的GRUB,因为两者目录独立。执行完这些命令后重启,UEFI会把两个引导项都列出来(或在BIOS里选择),双系统就都回来了。

8.4 安装时报错"您所选择的分区表可能不正确"

这个报错信息常见于在UEFI模式下安装Linux,但磁盘里已经有MBR分区表残留,或者ESP分区缺失的情况。解决办法是先确认磁盘分区表类型:在Ubuntu Live环境里打开GParted,查看设备信息,如果显示msdos(即MBR),就需要转换成GPT。

转换GPT分区表的操作在GParted里是"Device"菜单下的"Create Partition Table",选择gpt格式后执行。需要注意,这个操作会清空整个磁盘的数据,所以只适用于那些没有重要数据或已经备份好的机器。一般情况下,win10自带的磁盘转换工具(mbr2gpt)在Windows里就能完成硬盘从MBR到GPT的转换,无需动数据,但前提是系统盘格式兼容。

8.5 GRUB修复后出现minimal bash-like模式

如果GRUB引导文件损坏,进入恢复菜单时可能停在grub>提示符,而不是正常的GRUB菜单。这通常是/boot/grub/grub.cfg文件丢失或损坏。恢复方法是:进入Ubuntu Live环境,挂载根分区和ESP分区,然后chroot进去重新安装GRUB。

假设你的Ubuntu根分区是/dev/sda5,ESP分区是/dev/sda1,执行:

sudo mount /dev/sda5 /mnt sudo mount /dev/sda1 /mnt/boot/efi sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt grub-install /dev/sda update-grub exit

chroot完重启,GRUB一般就恢复了。这个方法看着复杂,但原理其实就是"在一个系统里假装自己是另一个系统",把引导文件重新写一遍。

8.6 常见问题排查速查表

现象可能原因解决方案
U盘启动后无法引导U盘制作方式与固件模式不匹配用Rufus重新制作,分区类型选GPT
Ubuntu安装后开机直接进WindowsBIOS启动顺序中ubuntu项优先级低调整启动顺序,让ubuntu项目靠前
GRUB菜单里没有Windowsos-prober未检测到执行sudo update-grub重新扫描
时间错乱8小时Linux默认RTC为UTC,Windows为本地时间执行timedatectl set-local-rtc 1
NVIDIA显卡黑屏开源驱动不兼容用"附加驱动"安装闭源驱动
无法挂载NTFS分区快速启动未关闭或上次非正常关机进Windows彻底关机,关闭快速启动
安装时提示分区表错误MBR/GPT混用确认固件模式和分区表类型匹配,必要时转换GPT

9. 双系统的卸载问题:哪天不用Ubuntu了怎么删干净

虽然装了双系统,但保不齐哪天你不想用Ubuntu了。删除Linux双系统这件事,很多人处理得乱七八糟,把引导文件删坏,导致Windows也进不去。正确的卸载步骤如下:

第一步,在Windows里打开磁盘管理器,删除Linux的所有分区(根分区、swap分区、EFI分区中ubuntu目录如果单独存在也一并处理),把删除后的空间重新分配给Windows分区。第二步,修复Windows引导:用Windows安装U盘进入修复命令行,执行bootrec /fixmbrbootrec /fixboot,清掉GRUB残留的引导信息。第三步,如果有必要,在BIOS里把Windows Boot Manager设为第一启动项。

整个卸载过程中最容易出错的地方是第一步:删除分区时不小心把EFI分区里的Microsoft目录删了,或者把整个ESP分区删了。所以一定要看清楚,只删除ubuntu相关的分区和EFI目录,绝对不要碰Windows相关的分区。删除操作之前,先把/boot/efi/EFI/ubuntu备份到别处,万一删错了还能恢复。

10. 一些装系统之外的私货建议

装双系统的过程中我反复被问到的一个问题是"为什么要装双系统,虚拟机不香吗"。我的观点是:双系统和虚拟机面对的完全是两种需求。虚拟机适合偶尔用用Linux、跑个小工具的场景,缺点是无法充分利用硬件资源,游戏、大型计算、Docker这些场景性能损失明显。双系统则能做到原生性能,但切换麻烦,得重启。所以如果你是搞开发、跑深度学习、用Linux做日常主力系统,双系统是刚需;如果只是偶尔体验一下,虚拟机装个Ubuntu其实就够了。

还有一件事想提醒:在Linux里永远不要在root权限下运行三方的安装脚本或"一键优化"命令,尤其是那种来源不明的shell脚本。双系统本身就意味着你的电脑里同时存在两套系统,root权限的误操作可能同时破坏两个系统的数据。只要是拿不准的命令,先man--help看一下,网上搜一下都是什么功能,再执行。这句话听起来像常识,但我身边真有人因为执行了网上的"Ubuntu清理缓存"脚本,把整个/usr目录删掉的。

最后说一个装完系统后的小技巧:尽早设置systemback或Timeshift等系统备份工具,对你的Ubuntu系统做一次快照。双系统环境牵一发动全身,有一次系统备份,以后再折腾驱动、乱调配置,出了事一键还原,比什么都稳。我从装好第一台双系统开始就养成了这个习惯,后面无数次帮我省下重装系统的时间。

这次的安装记录就写到这里。装双系统这件事,流程本身不复杂,但每一步都藏着前人的经验和坑。按着这篇教程走,大概率能一次成功。如果过程中卡在某个报错上,别急,先看看报错信息说的是什么,多数情况下它已经告诉你问题在哪了。祝你在Linux的世界里玩得开心。

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

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

立即咨询