尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Ubuntu 24.04与Windows 11双系统安装实战:从UEFI分区到GRUB引导修复

Ubuntu 24.04与Windows 11双系统安装实战:从UEFI分区到GRUB引导修复 1. 为什么是这个方案双系统到底解决什么问题Ubuntu 24.04 LTS发布之后身边不少朋友都在讨论要不要把主力电脑从Windows整个切过去。说实话直接全盘迁移的风险太大尤其对于还要用网银、打游戏、跑专用软件的人来说一步到位往往意味着一步踩坑。双系统是我一直比较推荐的做法——保留Windows的日常便利性又能随时进Ubuntu搞开发、做实验、体验新工具链。这篇文章就是我这次在笔记本上完整安装Ubuntu 24.04 LTS与Windows 11共存的实操记录从做启动盘开始到装完修复引导、配好中文输入法和常用软件所有步骤我都实测过也把过程中踩到的坑一并写出来。先说清楚这套方案的适用人群。如果你只是偶尔想体验一下Linux或者跑几个脚本那虚拟机或者WSL其实更省事没必要动磁盘分区。但如果你要搞深度学习训练、嵌入式交叉编译、Docker容器集群或者需要直接调用GPU、串口、USB设备做硬件相关开发那虚拟机的性能损耗和硬件透传限制就会很头疼双系统几乎是绕不开的选择。日常使用中Windows负责办公、影音、游戏Ubuntu负责开发和服务端调试两边各干各擅长的活互不干扰这体验比在一台机器里折腾多套系统虚拟机要舒服得多。我这次选的机器是一台Intel平台笔记本硬盘是一块1TB的NVMe SSD内存32GB显卡是NVIDIA RTX系列。安装的目标很明确Windows 11保留在原有分区不动Ubuntu 24.04 LTS占用磁盘后部约300GB空间通过GRUB引导菜单自由切换系统。整个流程走下来从准备到完成基础配置大概花了一个半小时其中出问题的时间主要集中在引导修复和驱动这两块后文会详细说。2. 安装前准备镜像、U盘与分区规划2.1 确认硬件兼容性动手之前我建议你先花十分钟确认两件事主板引导模式是不是UEFI以及磁盘分区表是GPT还是MBR。这两个信息决定了后续所有步骤的操作方式。现在的笔记本和台式机主板只要是2015年以后出厂的基本默认都是UEFI引导Windows也是以UEFI模式安装的。但也不排除有人用的旧机器还停留在Legacy BIOS引导那种情况下的双系统安装流程差异很大尤其是分区和引导修复环节网上很多教程没区分这两种模式照着做容易翻车。确认方法很简单在Windows里按Win R输入msinfo32回车在系统摘要里查看BIOS模式这一项。显示UEFI就是UEFI引导显示传统就是Legacy。磁盘分区表格式可以在磁盘管理里右键磁盘点属性切到卷标签页看分区样式是GPT还是MBR。如果BIOS模式是UEFI但磁盘是MBR要么先把磁盘转换成GPT再继续要么就接受只能用Legacy模式引导Ubuntu这个限制。考虑到现在Windows 11本身就强制要求UEFIGPT大多数人的机器应该没啥问题我下文的所有操作默认都是基于UEFIGPT这个组合。2.2 下载Ubuntu 24.04 LTS镜像与校验Ubuntu 24.04 LTS的镜像下载可以直接去官网桌面版iso大约6GB。下载完建议不要急着写U盘先做一次SHA256校验避免下载过程中文件损坏导致安装时报各种莫名其妙的错误。Windows下在终端里执行certutil -hashfile D:\ubuntu-24.04.2-desktop-amd64.iso SHA256把输出和官网提供的校验值对一下一致再继续。这里有个细节在看一些论坛讨论时会发现有人直接把24.04的镜像和22.04甚至20.04的通用教程混着用。Ubuntu的安装器虽然是同一个Ubiquity框架但24.04在内核和驱动支持上变化很大比如默认内核版本是6.8对新款Intel和AMD平台的核显支持比旧版本好很多很多22.04上需要手动折腾的无线网卡和指纹识别在24.04直接就能用。所以我还是建议直接上手24.04毕竟LTS版本有五年支持周期现在开始用完全不亏。2.3 制作启动U盘Rufus与Ventoy两种方案实测制作启动U盘的工具Windows下我用得最多的是Rufus开源免费写盘速度快对UEFI引导兼容性很好。选择一个8GB以上的U盘注意里面如果有数据会全部被清空。打开Rufus设备选择U盘引导类型选择刚下载的iso文件分区类型选GPT目标系统选UEFI非CSM文件系统保持默认就行然后点开始。写入过程中Rufus会问用ISO镜像模式还是DD镜像模式写入默认的ISO模式即可实测大部分主板都能正常引导。如果你手头有多张Linux发行版的镜像要折腾我更推荐用Ventoy。这工具装好之后往U盘里直接扔镜像文件就行不需要反复格式化开机时自选要启动哪个iso。它的兼容性做得不错尤其是对Secure Boot的支持比早期版本完善多了。我这次实际用的是Ventoy直接把Ubuntu 24.04的iso文件拷进U盘重启选启动项的时候选中Ventoy再在它的菜单里选择Ubuntu镜像省事不少。制作完启动盘之后还有一件事容易被忽略备份U盘里的启动数据到本地镜像或者至少确认你下载的iso文件本身还在某个地方保留着。因为后面如果引导出了问题你需要这个镜像来制作Live USB进入系统做修复。别安装完就删了iso我遇到过不止一次装完系统才发现GRUB挂了急急忙忙重新下载镜像的尴尬情况。2.4 Windows下预留磁盘空间安装双系统的核心前提是磁盘上有足够的未分配空间。在Windows里右键此电脑选管理进磁盘管理找到你要压缩的磁盘分区通常就是C盘。右键C盘选压缩卷输入要压缩的空间大小。这个大小怎么定我建议至少给Ubuntu留100GB如果你打算在Ubuntu里装深度学习框架、跑大型仿真、或者构建安卓源码那直接上200GB以上。单位换算注意一下压缩卷界面里的单位是MB1GB约等于1024MB别把数字填错了。压缩完成之后磁盘管理里会显示一块未分配空间这就够了。不建议在Windows侧预先创建任何分区也不用格式化留给Ubuntu安装器去处理。实际上就算你手痒提前建了分区Ubuntu安装时也能对已有分区再做调整但多一步操作多一分风险保持未分配状态是最干净的做法。3. 安装过程全记录关键步骤与踩坑点3.1 进入BIOS/UEFI并修改启动顺序插上启动U盘重启电脑按主板对应的快捷键进入启动菜单。不同品牌机器快捷键差异挺大多数台式机是F12或F11联想的笔记本是F12惠普是F9戴尔是F12华硕是F8或者Esc。如果你的机器按不出启动菜单可以在Windows里设置高级启动然后选择从U盘引导路径是设置 → 系统 → 恢复 → 高级启动 → 立即重新启动在蓝色界面里依次选使用设备→EFI USB Device。进UEFI设置界面之后有几项需要检查Secure Boot建议先关闭等Ubuntu装好之后可以再尝试开启24.04对Secure Boot的签名支持已经比较完善但为了避免安装过程因为签名验证失败报错第一次装还是关掉更稳。CSMCompatibility Support Module必须关闭否则可能陷入Legacy引导的坑。启动顺序里确保U盘排在第一位然后保存退出。这里提醒一句如果你的Windows系统默认开启了BitLocker加密进BIOS改设置前最好先暂停BitLocker保护。因为修改UEFI设置可能会触发安全策略重置导致下次进Windows时要求输入恢复密钥运气不好密钥没备份那就麻烦大了。3.2 安装类型建议直接选试试Ubuntu从U盘启动后会看到GRUB引导菜单选择Try or Install Ubuntu。我个人的经验是不管打算怎么装先选Try Ubuntu进入Live桌面环境确认无线网络、触摸板、声卡这些硬件都正常工作了再双击桌面的Install Ubuntu图标开始正式安装。这一步看起来很多余但实际上能帮你提前发现驱动兼容性问题省得装到一半才意识到键盘没反应或者连不上Wi-Fi。在Live环境里顺便可以打开磁盘应用看看Windows的原生分区有没有被正确识别。这一步还能确认之前压缩出来的未分配空间确实存在。如果你在磁盘应用里只看到一整块硬盘和各Windows分区没有那个未分配区域说明前面压缩卷步骤没成功或者压缩出来的空间被系统自动扩展了这种情况先回Windows重新处理。3.3 手动分区交换分区、根分区与EFI分区安装程序进行到安装类型这一步时有两个选项Install Ubuntu alongside Windows Boot Manager与Windows共存和Something else手动分区。如果磁盘没有复杂的布局需求直接选第一个安装器会自动识别Windows和未分配空间把Ubuntu装进空闲区域并自动处理引导。我第一次装的时候就是这么选的全程无脑下一步很快。但如果你对分区有明确要求或者像我这次一样想在同一个EFI分区里统一管理两个系统的引导那就选Something else手动分区。手动分区的界面看起来很唬人实际核心就三步第一找到Windows的EFI分区。在分区列表里识别出一个大约100MB到500MB的小分区文件系统类型一般是FAT32挂载点显示为/boot/efi或者没有任何挂载点这就是ESP分区。选中它点击更改把用于设置为EFI系统分区。不需要格式化它会保留已有的引导文件。这一步很关键如果新建了一个EFI分区而不是复用Windows已有的就会导致两个系统各有各的EFI分区后续Boot-Repair修复时容易出现引导混乱。第二创建根分区。选中未分配空间点击更改大小填你想要的总空间比如300GB类型选主分区或逻辑分区都行位置选起始处用于选Ext4日志文件系统挂载点选/。不单独创建/home分区也完全没问题Ubuntu默认会把家目录放在根分区的/home目录下个人文件不会因为你没单独分区就丢。第三创建交换分区。如果你内存足够大16GB以上可以选择不创建传统swap分区Ubuntu默认会用swapfile在安装阶段直接选交换空间类型并指定大小即可比如8GB。我这次实际给swap分配了16GB因为后面可能要跑一些吃内存的构建任务Linux的swap可以在内存不足时紧急兜底宁可多给也不能少给。3.4 时区、账号与安装过程分区确认完之后安装器会让你选择时区选上海对应的东八区即可。然后设置用户名、计算机名和密码。这里建议密码别设太简单因为后面很多系统级操作都需要sudo授权密码太弱等于把自己的系统钥匙挂门口。还有一个容易被忽略的选项是加密您的主目录除非你有明确的安全需求否则不建议勾选一旦开启以后忘记密码或系统故障时恢复数据的难度会急剧上升。点击安装之后真正写入磁盘的过程大概10到15分钟取决于硬盘速度和CPU性能。在这个过程中可以观察安装日志如果出现GRUB installation failed之类的报错先别慌大概率是EFI分区选择不对或者Secure Boot没关装完之后可以用Boot-Repair修复。我遇到过一次安装器提示GRUB安装失败实际上系统文件已经写完了只是引导记录没写入成功这种情况只要从Live U盘进入系统跑一遍boot-repair基本都能救回来。4. 重启后的必修课引导与基础系统配置4.1 没有引导菜单先检查os-prober安装完成重启正常情况下应该会看到GRUB菜单上面有Ubuntu和Windows Boot Manager两个选项。但不少人在这一步看到的是直接进了Ubuntu菜单里根本没有Windows。这不是安装失败而是Ubuntu从20.04开始默认禁用了os-prober也就是不会在安装完成后自动去扫描磁盘里是否存在其他系统。解决办法是在Ubuntu终端里打开/etc/default/grub文件找到GRUB_DISABLE_OS_PROBER这一行如果值为true就改成false如果整行不存在也请补上。保存后执行sudo update-grub这会触发os-prober重新扫描磁盘把Windows Boot Manager加入GRUB菜单。我这次装完直接就有Windows选项可能和安装器版本或主板固件有关但如果你遇到了没有Windows菜单的情况这个方法十有八九能解决。4.2 把Windows设成默认启动修改GRUB默认项假如你左手边是Windows重度用户右手边是偶尔才打开Ubuntu那肯定希望默认进Windows而不是每次开机都盯着GRUB菜单选半天。修改方法很简单编辑/etc/default/grub把GRUB_DEFAULT0改成Windows菜单项对应的序号0表示第一项1表示第二项以此类推。你也可以使用GRUB_DEFAULTsaved配合grub-set-default动态设置这个玩法适合经常在系统间切换的人。菜单显示时间默认是10秒如果你嫌它碍眼可以把GRUB_TIMEOUT5调小或者改成0完全不显示菜单直接进默认系统。但注意如果调成0紧急情况下想选另一个系统就难了建议至少保留2秒关键时刻手还能反应过来。每次修改完/etc/default/grub记得运行sudo update-grub让配置生效。这一步是很多人容易漏掉的改完发现重启还是老样子其实只是没刷新引导配置文件。4.3 双系统时间错乱一条命令搞定双系统装好之后你可能会在Windows里发现时间差了8个小时这是因为Linux和Windows对硬件时钟RTC的解读方式不同。Linux默认把硬件时钟当作UTC时间再根据时区换算显示本地时间Windows则默认把硬件时钟当作本地时间。两个系统互相切换时它们会各自把本地时间写回硬件于是一进另一系统时间就乱了。解决办法是在Ubuntu里执行一条命令sudo timedatectl set-local-rtc 1 --adjust-system-clock。这条命令让Linux把硬件时钟当作本地时间和Windows的解读方式保持一致。执行完检查一下timedatectl输出看到RTC in local TZ: yes就是成功了。之后在Windows里重新同步一次时间两个系统的时间就不会再互相干扰。4.4 中文输入法设置ibus与搜狗的选择进Ubuntu之后第一件事对我来说永远是配好中文输入法。Ubuntu 24.04默认的桌面环境是GNOME输入法框架默认是ibus系统自带智能拼音。按Super键打开活动概览输入设置进入区域与语言点击输入源下方的加号选择中文中国再选中文智能拼音添加完成。之后用SuperSpace切换输入法这个快捷键可以在设置里自定义。如果你习惯用搜狗输入法Ubuntu下也有Linux版可以装去搜狗官网下载deb安装包双击安装或者在终端里sudo dpkg -i。但这里有个坑搜狗输入法的Linux版和原生GNOME/ibus的集成不如它自己的fcitx版本顺滑在Ubuntu上安装还需要额外装fcitx然后手动切换输入法框架。我实测下来的感受是如果平时输入量不算特别大ibus自带的智能拼音已经够用了词库和云联想都在不断进步没必要为了搜狗多折腾一套框架。5. 日常使用与维护驱动、软件与引导修复5.1 NVIDIA显卡驱动别装错版本如果你的电脑有NVIDIA独立显卡进入系统后默认用的是开源的nouveau驱动性能表现比较差而且跑深度学习和CUDA时基本不可用。好在Ubuntu提供了很方便的专有驱动安装方式打开软件与更新切到附加驱动标签页系统会自动检测可用驱动并列出选择标有proprietary的版本点应用更改重启即可。如果你更习惯命令行sudo ubuntu-drivers autoinstall会自动识别并安装推荐版本。这里有个重要的坑安装NVIDIA专有驱动时会提示设置Secure Boot MOKMachine Owner Key如果你之前关了Secure Boot可能不会遇到如果开着系统会要求设置一个临时密码重启后在蓝屏界面选择Enroll MOK并输入密码。这个密码是一次性请求设置完成后再次重启就正常了但如果当时乱填或跳过了后续加载驱动会失败只能重装驱动或者临时关闭Secure Boot。5.2 微信、QQ、办公软件日常迁移实战很多人担心Linux没法日常使用其实现在常用软件的支持已经比几年前好很多。微信有官方Linux版虽然本质上是一个Wine封装但能做到安装即用能扫码登录、收发消息、传文件对办公场景已经够用。QQ也在2023年之后推出了新版Linux客户端原生支持体验很好直接在官网下deb包安装就行。办公软件方面WPS Office有Linux版兼容Office文档格式做得不错日常写文档、做表格、做演示基本没压力。如果你更习惯微软Office也可以尝试网页版Office 365或者用LibreOffice做主力看个人习惯了。浏览器直接用Firefox或者在官网下载Chrome的deb包安装之后登录账号就能同步收藏夹和密码无缝切换。5.3 Boot-Repair引导修复全流程如果哪天你发现GRUB菜单不见了、系统直接进Windows或者GRUB菜单里只剩下Ubuntu没有Windows别急着重装系统先试试Boot-Repair这个工具。从之前制作的Live U盘启动选择Try Ubuntu然后在终端里依次执行sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair安装完成后运行boot-repair点击Recommended repair工具会自动检测EFI分区、GRUB配置和Windows引导记录然后重建引导菜单。整个过程大概几分钟提示修复成功后重启引导问题基本就解决了。我修过好多次引导Boot-Repair的自动化程度确实高比手动用grub-install和update-grub折腾半天的效率高多了。5.4 如果哪天想删掉Ubuntu安全卸载步骤双系统装好之后如果实际用下来觉得确实不需要Ubuntu了卸载也不复杂但顺序和操作要特别小心不然容易把Windows引导也一起弄没。第一步在Windows里用管理员身份打开磁盘管理找到Ubuntu所在的分区一般就是那个没有盘符的Linux分区右键删除卷。这一步会清除所有Linux文件所以强烈建议先把Ubuntu里还有价值的个人文件备份出来。第二步删除EFI分区里的/EFI/ubuntu文件夹。在Windows下打开管理员终端运行mountvol S: /S这个命令会把EFI系统分区挂载到S盘或者你指定的字母然后打开S盘找到EFI文件夹下的ubuntu子目录删掉它。最后运行mountvol S: /D解除挂载。第三步用msconfig或者第三方启动项管理工具把EFI启动项里的Ubuntu入口删掉。到这个阶段双系统的残留就被清得差不多了Windows可以完全独立启动。6. 常见问题速查与我的实操总结6.1 高频问题速查表很多人安装双系统遇到的坑其实是重复的我把这几年自己遇到和帮别人排查过的典型问题汇总成一张表按现象、可能原因、解决思路三列给出。有类似问题的朋友可以直接对照处理。现象可能原因解决思路开机直接进Windows没有GRUB菜单UEFI启动顺序里Windows Boot Manager排最前或GRUB未写入EFI进BIOS把Ubuntu启动项提到最前或用Boot-Repair重建引导开机直接进UbuntuGRUB里没有Windowsos-prober未启用修改/etc/default/grub开启os-prober并执行sudo update-grubWindows和Ubuntu时间相差8小时两个系统对硬件时钟的解读不同在Ubuntu里执行timedatectl set-local-rtc 1安装时提示GRUB安装失败EFI分区选择错误或Secure Boot影响确认复用Windows的ESP分区关闭Secure Boot后重试启动U盘进入安装界面后键盘无响应USB接口或U盘引导模式问题换个U口确认以UEFI模式引导不要用Legacy模式NVIDIA显卡驱动装完黑屏驱动版本冲突或nouveau残留进恢复模式卸载驱动重装或启动时加nomodeset参数Ubuntu里SSH连接不上默认没装openssh-server执行sudo apt install openssh-server并启动服务安装时找不到Windows系统分区安装器未以UEFI模式运行确认U盘和主板都是UEFI引导关闭CSM6.2 几个我从坑里爬出来的心得这次完整走完一遍Ubuntu 24.04 LTS双系统安装流程有几个体会想单独拎出来说说。第一个是做好引导备份永远不亏。装系统之前用bcdedit /export把Windows引导配置导出一份存到U盘或者云端真遇到引导炸了的时候恢复成本会低很多。平时不动引导记录可能觉得它不重要但双系统环境下引导是一切的前提备份一下就是多一行命令的事。第二个心得是改动/etc/default/grub之前先把原文件复制一份。sudo cp /etc/default/grub /etc/default/grub.bak一行命令而已。这个文件是双系统引导的核心配置我曾经改错一个参数导致开机停留在GRUB命令行当时花了半小时才反应过来如果有备份直接还原就省事多了。第三个建议是如果你打算长期使用Ubuntu作为开发主力从一开始就把软件源换成国内镜像。在软件与更新里把下载服务器改成阿里云或清华源sudo apt update之后安装软件的速度会快很多。虽然这是Linux老油条的基本操作但新手往往等到下载慢到怀疑人生才想起来换源提前配好能省下不少时间。第四个是不要为了省事跳过Live环境测试这一步。很多人装完才意识到无线网卡不支持、声卡没声音而这些问题在Live环境里就能提前发现。Ubuntu 24.04的内核和驱动更新已经把这些兼容性问题解决了一大半但总有小众硬件存在意外提前三分钟检查比装完再折腾半小时强得多。6.3 重启之后还可以把系统打磨得更顺手基系统装好、引导修好、输入法配好这只是双系统从能开机到能用的第一步。我自己在每次装完新系统之后还有一套固定的打磨流程顺手分享给你。先用sudo apt update sudo apt full-upgrade把系统更新到最新这一步能解决大量安全补丁和驱动问题。然后装一些高频开发工具比如build-essential、git、curl、htop、net-tools这些是我日常终端工作的基础。如果你需要写Python看情况加装python3-pip和python3-venv或者直接上conda。用Docker的话sudo apt install docker.io之后别忘了把当前用户加进docker组不然每次都要sudo挺烦的。屏幕亮度调节、电池管理等笔记本特有的功能在GNOME设置里一般都能直接调。如果你的笔记本有指纹识别器24.04的GNOME也原生支持指纹登录在设置里找用户点开指纹登录选项按提示录入指纹即可。这一套流程走完这台机器的双系统才算真正达到日常可用的状态。6.4 双系统引导还能怎么进阶最后提一个进阶玩法适合有时间折腾的朋友把GRUB菜单美化一下。Ubuntu 24.04的GRUB主题默认是纯文本列表看着确实朴素。网上有开源主题可以下载比如Grub2 Themes把主题文件放到/boot/grub/themes目录然后在/etc/default/grub里加一行GRUB_THEME/boot/grub/themes/主题目录/theme.txt再执行sudo update-grub重启后菜单界面就会变成带背景图和图标的样子。这种改动不影响引导逻辑纯粹改善观感风险很低有兴趣可以试试。还有一个小技巧是给GRUB设置密码防止别人在开机菜单里进入恢复模式直接获取root权限。命令是grub-mkpasswd-pbkdf2生成一个加密密码后写入/etc/grub.d/40_custom虽然日常使用会稍微麻烦一点但在安全要求较高的环境里值得做。6.5 我实际用下来的感受这套双系统方案我在主力机上已经稳定跑了将近一个月日常在Windows里写文档、处理图片切到Ubuntu里写代码、跑容器、调硬件整个过程基本没有因为引导或驱动问题中断过工作。唯一一次主动进BIOS是后来重新调整了内存频率与双系统本身无关。如果你正在犹豫要不要装双系统我的建议是先确认自己确实有需要在Linux下干的重活然后再动手。如果只是偶尔想玩一下命令行WSL和虚拟机完全够用但如果你的开发工作开始频繁涉及Linux服务器行为、容器编排、GPU计算那尽早把环境切到一个真实的Linux系统上省下的是反复折腾环境的时间换来的是和服务器行为一致的工作环境。Ubuntu 24.04 LTS作为长期支持版本稳定性有保障配合双系统的灵活切换算是我目前最推荐的主流Windows用户过渡方案。
返回列表