UEFI+GPT双系统安装完全指南:Ubuntu 20.04与Win10共存

发布时间:2026/9/17 14:13:35
UEFI+GPT双系统安装完全指南:Ubuntu 20.04与Win10共存 我折腾双系统也有七八年了从最早的MBRBIOS时代一路装到现在UEFIGPT时代踩过的坑攒起来能绕电脑桌两圈。这次借装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就对了。为什么非要UEFIGPT简单说UEFI是取代传统BIOS的新一代固件接口启动速度更快支持的硬盘容量更大安全机制更完善GPT则是配合UEFI使用的分区表格式最大支持18EB的磁盘容量关键是它自带冗余分区表容错性比MBR强得多。两者是配套关系就像USB-C接口和USB-C线缆形态匹配才能正常工作。如果你的电脑还在用老式BIOSMBR这篇文章的步骤不完全适用那些老机器装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\MicrosoftUbuntu的GRUB引导文件在\EFI\ubuntu。开机时UEFI固件通过NVRAM里的启动项记录找到GRUB或Windows Boot Manager这就是双系统的引导切换机制。安装Ubuntu时安装程序会自动识别已有的ESP分区并向其中写入GRUB引导文件同时把自己追加到UEFI启动项里这个过程理论上全自动但前提是ESP分区存在且状态正常。所以如果你之前的Windows启动有问题或者ESP分区的文件损坏一定要先修好Windows引导再装Ubuntu否则两个系统都会受影响。2.3 常见误区UEFI与GPT不匹配会怎样UEFI固件本身有能力读取GPT磁盘上的引导文件但如果磁盘是MBRUEFI通常只在开启了CSM的情况下才会尝试引导它纯UEFI模式直接拒绝。反过来传统的BIOS无法识别GPT磁盘只能从MBR启动。这就是为什么UEFI GPT和BIOS MBR必须成对出现。实际装系统时报错无法安装Windows因为这台电脑的磁盘布局不受UEFI支持本质上就是安装介质或目标磁盘的分区方式与固件模式不匹配。对于Ubuntu的安装同样的问题会表现在启动U盘无法引导或者在分区界面里找不到空闲空间。所以要提前理清楚你的电脑固件是UEFI磁盘是GPTU盘也按GPT制作三条腿都对齐了后面才顺。3. Windows侧的准备工作别让win10在安装过程中捣乱3.1 关闭win10快速启动Windows的快速启动Fast Startup是一个混合关机功能表面上是关机实际是休眠内核会话。这个功能对Windows自己没用但对双系统是个隐患它会导致Windows没有真正释放对硬盘的控制权Ubuntu安装程序有时会检测到磁盘处于休眠状态而拒绝挂载NTFS分区或者安装完成后进入Ubuntu时无法访问Windows的分区。关闭方法进入控制面板 → 电源选项 → 选择电源按钮的功能 → 点击更改当前不可用的设置 → 取消勾选启用快速启动 → 保存修改。另外还建议在管理员命令行里执行powercfg /h off来彻底禁用休眠文件但这一步不是必须的如果你还想用Windows的休眠功能只关快速启动就够了。3.2 压缩出一块空间给UbuntuUbuntu安装需要一个未被使用的空闲空间这块空间最好是未分配的unallocated而不是简单的空分区。在win10磁盘管理器里右键选择空间比较大的分区一般是C盘或D盘选择压缩卷输入要压缩的大小。这里的大小建议结合你的实际需求来确定20GB只能勉强装个系统日常使用至少40GB如果打算装一些开发环境建议给80GB以上。我自己的习惯是给Ubuntu分120GB其中根分区100GBswap分配按内存大小的1-2倍。如果你内存是16GBswap给16GB够用如果内存只有8GBswap建议给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 BootSecure 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_DEFAULT0把0改成你想要默认启动的菜单项序号菜单项从0开始计数第一个是0第二个是1以此类推。如果Windows是第三个菜单项就写2。GRUB_TIMEOUT10控制菜单显示时间单位是秒可以改成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-repairBoot-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/sda5ESP分区是/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 exitchroot完重启GRUB一般就恢复了。这个方法看着复杂但原理其实就是在一个系统里假装自己是另一个系统把引导文件重新写一遍。8.6 常见问题排查速查表现象可能原因解决方案U盘启动后无法引导U盘制作方式与固件模式不匹配用Rufus重新制作分区类型选GPTUbuntu安装后开机直接进WindowsBIOS启动顺序中ubuntu项优先级低调整启动顺序让ubuntu项目靠前GRUB菜单里没有Windowsos-prober未检测到执行sudo update-grub重新扫描时间错乱8小时Linux默认RTC为UTCWindows为本地时间执行timedatectl set-local-rtc 1NVIDIA显卡黑屏开源驱动不兼容用附加驱动安装闭源驱动无法挂载NTFS分区快速启动未关闭或上次非正常关机进Windows彻底关机关闭快速启动安装时提示分区表错误MBR/GPT混用确认固件模式和分区表类型匹配必要时转换GPT9. 双系统的卸载问题哪天不用Ubuntu了怎么删干净虽然装了双系统但保不齐哪天你不想用Ubuntu了。删除Linux双系统这件事很多人处理得乱七八糟把引导文件删坏导致Windows也进不去。正确的卸载步骤如下第一步在Windows里打开磁盘管理器删除Linux的所有分区根分区、swap分区、EFI分区中ubuntu目录如果单独存在也一并处理把删除后的空间重新分配给Windows分区。第二步修复Windows引导用Windows安装U盘进入修复命令行执行bootrec /fixmbr和bootrec /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的世界里玩得开心。