
1. 为什么小米笔记本值得折腾 Ubuntu 双系统小米笔记本装 Ubuntu 双系统这件事我在自己手上那台 RedmiBook 上前后折腾过三轮从最初的反复翻车到后来能半小时搞定一台中间踩的坑基本都集中在 BIOS 存储模式和引导分区这两块。这篇就把完整流程和踩坑记录摊开讲包括磁盘怎么规划、BIOS 里哪几个开关必须动、GRUB 被 Windows 更新干掉之后怎么救回来以及装完之后高分屏缩放、时间差八小时、网卡驱动这些日常会烦人的细节。所谓双系统就是同一块硬盘上划出两片独立区域一片留给 Windows一片留给 Ubuntu开机时由引导程序让你挑一个进去。它和虚拟机的区别很直接虚拟机里跑 LinuxCPU 是虚拟的、显卡是模拟的、磁盘走一层映射编译大项目或者跑深度学习的时候性能损耗肉眼可见双系统是原生运行风扇转速、编译速度、外接显示器都跟单装 Linux 没差别。缺点是同一时刻只能用一个系统切来切去要重启。小米笔记本做这件事有几个天然的便利条件一是硬盘普遍是 NVMe 固态512GB 起步留出 150GB 给 Ubuntu 完全够用二是小米的 BIOS 是基于 Insyde 或 AMI 定制的中文界面Secure Boot、启动顺序这些选项都能直接改不像某些品牌藏得那么深三是网卡和显卡大多是 Intel 或联发科的常见型号Linux 社区驱动覆盖得比较全Ubuntu 22.04 LTS 和 24.04 LTS 开箱即用的概率很高。但也不是全无麻烦。近两年的新机型不少默认开着 Intel VMD 或者 RAID 模式Ubuntu 安装器进去之后会直接看不到硬盘屏幕上一片空白很多人卡在这一步以为是自己 U 盘做坏了其实是 BIOS 的锅。另外小米笔记本的 F 键默认是功能键模式F2 进 BIOS、F12 选启动项都得配合 Fn 一起按不知道这一点的话会以为按键失灵。提醒双系统安装属于会改动磁盘分区表的操作任何一步失误都可能导致数据丢失。动手之前把论文、设计稿、项目代码这些不能重来的东西先备份到移动硬盘或者云盘这一步不要省。这篇文章适合三类人一是刚拿到小米笔记本、想学 Linux 但不想放弃 Windows 的学生二是需要在 Linux 下做嵌入式开发、ROS 调试、后端部署的工程师三是已经装过一次但被引导问题搞崩、想搞明白原理的人。下面按准备、BIOS、分区、安装、配置、引导维护、排错这七个环节往下走。2. 动手前必须做完的准备工作2.1 备份不是走流程Windows 侧有三个开关必须先关很多人备份只备份了自己看得见的文件忽略了 Windows 本身的状态。实际上有三个设置如果不关安装过程中会出现奇怪的问题。第一个是快速启动。Windows 的快速启动本质上是混合关机关机的时候把内核状态写进休眠文件并没有真正断电。这种状态下 NTFS 分区处于脏的挂载状态Linux 挂载它只能只读甚至安装器在识别分区时会出问题。关闭路径是控制面板 → 电源选项 → 选择电源按钮的功能 → 更改当前不可用的设置 → 取消勾选启用快速启动。第二个是设备加密 / BitLocker。Windows 家庭版默认会在登录微软账户后自动开启设备加密专业版则可能被企业策略开启。这个功能一旦生效你改动了分区表或者引导顺序下次进 Windows 时会要求输入 48 位恢复密钥进不去的话数据就锁死了。检查方式是管理员命令提示符里执行manage-bde -status或者进设置 → 隐私和安全性 → 设备加密看状态。确认开着的话先在设置里关闭并等待解密完成再去微软账户页面把恢复密钥抄下来存一份。第三个是休眠和快速启动的残留。即使关了快速启动如果之前存在休眠文件也要用powercfg /h off彻底关掉休眠顺便把hiberfil.sys删掉腾出空间。# 以管理员身份运行 PowerShell powercfg /h off manage-bde -status提示如果你的小米笔记本是公司配发或者开启了域策略BitLocker 可能不允许自行关闭。这种情况建议先找 IT 确认或者干脆用一块移动固态硬盘外置安装 Ubuntu不要动内置硬盘。2.2 镜像下载与校验SHA256 这一步别偷懒Ubuntu 的镜像从官网下载版本上我建议两条路线22.04 LTS稳各种第三方软件、驱动、教程都对得上适合生产环境24.04 LTS内核新对新一代网卡、声卡、指纹模块支持更好适合 2023 年以后出厂的小米机型。不要选非 LTS 的过渡版本半年就停止支持升级起来很麻烦。下载完之后一定要校验尤其是用国内镜像站下载的时候偶尔会出现下载不完整的情况。校验方法是在 Linux 或者装了 Git Bash 的 Windows 上执行# Linux / macOS sha256sum ubuntu-24.04-desktop-amd64.iso # Windows PowerShell Get-FileHash .\ubuntu-24.04-desktop-amd64.iso -Algorithm SHA256把算出来的值和官网上公布的 SHA256SUMS 里对应那一行对比一致才继续。我遇到过一次镜像站的文件比官网小了 200MB校验直接不通过要是没校验就直接写盘安装到一半会报 I/O error排查半天。2.3 启动盘制作Ventoy 和 Rufus 怎么选U 盘容量 8GB 起步16GB 更舒服因为可以往里面塞多个镜像。制作工具有两个流派Ventoy的思路是把 U 盘做成一个引导器镜像文件直接复制进去就行想装哪个系统选哪个。好处是以后换版本不用重新格式化一个 U 盘能同时放 Windows 安装盘和好几个 Linux 发行版。它的安装分两步先用 Ventoy2Disk 把 U 盘刷成 Ventoy 格式再把 ISO 拖进去。Rufus是传统的一次性写盘工具界面简单分区类型选 GPT、目标系统选 UEFI写入模式选 DD 模式镜像模式成功率更高。缺点是换镜像就得重刷。我自己的习惯是主力 U 盘用 Ventoy备一个便宜的 16GB U 盘用 Rufus 写一份救命盘放着不动专门用来修引导。因为在引导已经损坏的情况下Ventoy 的多层菜单偶尔会出幺蛾子而 Rufus 写的单镜像盘基本不会。写完之后在小米笔记本上插上 U 盘重启时按Fn F12呼出引导菜单如果能看到 U 盘名字说明启动盘本身没问题可以进入下一步了。3. BIOS 设置进不了安装界面多半卡在这里3.1 小米笔记本的按键组合和界面结构小米笔记本进 BIOS 的按键是F2但小米出厂默认把 F 键设成了多媒体键也就是按 F2 实际触发的是音量减。两个办法一是按住Fn F2二是进 BIOS 之后在 Advanced 里把 Function Key Behavior 改成 Function Key First之后就不用按 Fn 了。引导菜单是Fn F12注意这个菜单只在开机自检那几秒内响应Windows 的快速启动如果是开着的很多机型会直接跳过这个界面。所以前面让你关快速启动不只是为了磁盘状态也是为了能顺利按出引导菜单。小米的 BIOS 界面右上角可以切换中文选项卡一般是 Main / Advanced / Security / Boot / Exit 这几个。不同年份的机型标签名略有差异但核心选项位置差不多。3.2 Secure Boot、VMD/RST、快速启动到底关不关这三个选项是小米笔记本装 Ubuntu 最容易翻车的地方逐个说。Secure Boot安全启动这个选项在 Security 标签下。Ubuntu 官方是支持开着的因为它有微软签名的 shim 引导程序。但问题是如果你后面要装 NVIDIA 闭源驱动、VirtualBox 内核模块、或者自己编译的 DKMS 模块这些模块没签名开 Secure Boot 的情况下加载会失败表现就是显卡驱动装了没用、虚拟机起不来。所以我一般建议先关掉装完系统、确认一切正常之后如果对安全性有要求再打开并做 MOK 注册。小米的某些机型这个选项是灰色的需要先在 Security 里设一个 Supervisor Password 才能修改设完之后别忘了密码忘记了只能拆机清 CMOS。Intel VMD / SATA Mode这是最关键的一项。Intel VMDVolume Management Device是英特尔推出的一种存储管理方案本意是方便服务器热插拔但 Linux 下对它的支持一直是靠补丁打上去的。2023 年以后出厂的小米笔记本、RedmiBook 很多默认把 NVMe 硬盘挂在 VMD 下面Ubuntu 安装器进去点安装 Ubuntu之后会报未找到磁盘或者手动分区界面空空如也。解决方式是在 Advanced 里把 SATA Mode / Storage 从 Intel RST Premium 或 VMD 改成AHCI。但这里有个大坑如果你的 Windows 是在 VMD 模式下装的直接改 AHCIWindows 会蓝屏INACCESSIBLE_BOOT_DEVICE起不来。正确的切换顺序是# 1. 先在 Windows 里以管理员身份打开命令提示符 bcdedit /set {current} safeboot minimal # 2. 重启进 BIOS 把 VMD/RST 改成 AHCI # 3. 进入 Windows 安全模式后再执行 bcdedit /deletevalue {current} safeboot # 4. 正常重启Windows 应该能在 AHCI 下正常工作这个流程的原理是安全模式下 Windows 只加载最基本的一组存储驱动切到 AHCI 之后启动时它会重新枚举硬件加载 AHCI 驱动然后你把 safeboot 标记删掉恢复正常启动。没走这一步直接切蓝屏是必然的。Fast Boot快速启动BIOS 里的 Fast Boot 和 Windows 里的快速启动是两码事。BIOS 里的这个选项会跳过部分硬件自检加快启动速度但它也会导致开机时来不及按 F12 进引导菜单、来不及按 F2 进 BIOS。装系统期间建议关掉装完再打开也不迟。3.3 实操顺序先改 BIOS 再插 U 盘整理一下顺序按这个来基本不会乱关闭 Windows 快速启动、关闭设备加密、执行powercfg /h off。如果是 VMD 模式按上面的 safeboot 流程切到 AHCI先进一次 Windows 确认能正常进桌面。重启按 Fn F2 进 BIOS关闭 Secure Boot、关闭 BIOS Fast Boot确认 Storage 是 AHCI。保存退出插上做好的 U 盘重启按 Fn F12选择 U 盘启动。注意有些小米机型的 BIOS 里有 USB Boot 开关默认是 Enabled如果引导菜单里看不到 U 盘去 Boot 标签确认这一项没被关掉。4. 磁盘分区给 Ubuntu 留多少空间才合理4.1 容量规划与方案对比先看你的硬盘总容量。512GB 的机器Windows 本身加上常用软件、系统还原点占掉 100GB 到 150GB 很正常再留一点余量能给 Ubuntu 的空间大概在 200GB 上下。1TB 的机器就宽裕多了给 Ubuntu 300GB 以上完全没问题。分区方案我推荐三种按需求选方案分区结构适用人群优缺点极简/ 根分区 共用 EFI只想跑跑命令行、空间紧张结构简单不出错重装系统会丢数据标准/ /home 共用 EFI大多数开发者home 独立重装系统个人数据不受影响完整/ /home swap 独立 EFI需要休眠、内存小于 16GB最灵活但分区数量多手动操作容易出错我一般推荐标准方案加上一个 swapfile 替代 swap 分区这样分区表里只需要多出两个分区操作简单又能享受 /home 独立的便利。swapfile 是文件形式的交换空间Ubuntu 安装时会自动创建一个 2GB 的/swapfile需要休眠的话可以后续自己调大。具体容量建议以 512GB 硬盘、Windows 已占用 150GB 为例EFI 分区共用 Windows 已有的那个如果它的容量小于 200MB建议新建一个 1GB 的独立 EFI 分区/ 根分区80GBext4装系统和所有软件/home剩下的全部ext4放个人文件swapfile默认 2GB内存 16GB 以上基本用不到4.2 压缩 Windows 分区的正确姿势不要在 Ubuntu 安装器里直接压缩 Windows 分区风险高。正确做法是在 Windows 里用自带的磁盘管理工具或者 DiskGenius 先压缩。Windows 自带的磁盘管理压缩有个限制它只能压到某些不可移动文件比如页面文件、休眠文件、系统还原点所在的位置为止。经常出现的情况是你有 200GB 空闲但它只让你压缩 50GB。解决办法有几种关闭系统保护系统还原点系统属性 → 系统保护 → 配置 → 禁用系统保护关闭休眠已经用powercfg /h off关过了把页面文件临时设到别的盘或者设为无用第三方工具 DiskGenius 的无损分区调整功能它不受这个限制压缩出来的空间保持未分配状态不要新建分区、不要格式化安装 Ubuntu 的时候直接拿这块未分配空间来用。提示分区操作前用 DiskGenius 或者 CrystalDiskInfo 看一眼硬盘的健康状态。如果是用了三四年的机器SMART 里有重映射扇区警告那分区表改动的风险会明显上升这种情况建议先换硬盘再折腾。4.3 EFI 分区共用还是新建EFI 系统分区ESP是 UEFI 启动的核心里面存的是各个系统的引导程序。Windows 装系统时会创建一个 100MB 到 260MB 的 ESP格式是 FAT32。Ubuntu 安装器默认会往这个已有的 ESP 里写一份\EFI\ubuntu\目录。共用是没问题的UEFI 规范允许一个 ESP 里放多个系统的引导文件靠 NVRAM 里的启动项来区分。但有两个情况建议新建独立 ESP第一Windows 的 ESP 只有 100MB装完 Windows 加一些厂商工具后剩余空间不到 30MB而 Ubuntu 的引导文件加上内核更新残留会占几十 MB容易写满导致更新内核时失败第二你之前折腾过黑苹果、或者其他发行版ESP 里已经很乱了新建一个可以保持干净。新建 ESP 的做法是在未分配空间里划出 512MB 到 1GB格式选EFI 系统分区安装器的引导器位置选这个新分区。检测标准是分区类型标识Ubuntu 安装器认的是boot和esp两个 flag手动分区时在用于下拉框里应该能直接选到 EFI 系统分区。5. 安装 Ubuntu手动分区那一步最容易出错5.1 安装器逐屏说明与关键选择从 U 盘启动之后会依次经过语言选择、键盘布局、网络连接、更新选项、安装类型、磁盘分区、时区、账户创建这几个界面。挑几个容易选错的说说。网络连接建议这一步先别连 WiFi。连上网络后安装器会问你要不要下载更新和第三方驱动下载过程可能耗时很久国内网络访问 Ubuntu 官方源不快而且中途断网会导致安装失败。装完系统换好国内源再更新效率高得多。安装类型这是最关键的一屏。选与 Windows Boot Manager 共存看起来最省事但它会自己算一个分区方案通常是把整块未分配空间做成一个大的 ext4 根分区不给你分 /home而且有时候会压到别的分区去。选其他选项才是手动模式能完全控制分区。虽然官方文档会强调手动分区有风险但只要你看得懂分区表这个选项更可控。时区选 Shanghai这个影响系统时间和日志时间戳。用户名和密码密码不要设得太简单因为 Linux 下sudo用的就是这个密码。另外注意用户名的全名和登录名可以不同登录名尽量用小写字母避免装某些软件时路径出问题。5.2 手动分区的具体参数进入其他选项之后你会看到一张磁盘分区表里面每一行是一个分区显示设备名、类型、挂载点、大小、文件系统。你要做的是找到那块空闲区域点它然后点号新建。具体操作分两步第一步建根分区。点空闲空间点大小填 81920也就是 80GB单位是 MB新分区的类型主分区位置空间起始位置用于Ext4 日志文件系统挂载点/第二步建 home 分区。再点剩下的空闲空间点大小剩下的全部不填自动占满类型逻辑分区如果前面没超过 4 个主分区的话主分区也行用于Ext4挂载点/home如果决定新建独立 ESP再建一个大小1024类型主分区用于EFI 系统分区分区类型标识这一栏要留意/和/home对应的分区必须有boot标签吗不需要只有 ESP 需要esp和boot标签Ubuntu 安装器会自动设置。引导器安装位置这一栏在分区表下方。如果你新建了独立 ESP就选那个 ESP 的设备名比如/dev/nvme0n1p5。如果共用 Windows 的 ESP选 Windows 那个 ESP 的设备名。这一栏其实在 UEFI 模式下意义不大因为引导文件最终都是写到那个 FAT32 的 ESP 里但选对了心理上踏实。注意分区表底下会有一行 Device for boot loader installation不要把它选成整块磁盘/dev/nvme0n1。选整块磁盘会让安装器往磁盘的主引导记录里写东西虽然 UEFI 下影响有限但如果你的机器同时支持 Legacy 启动可能会把 Windows 的引导搞乱。5.3 安装过程与首次启动确认分区方案之后安装器会弹一个以下分区将被格式化的确认框仔细核对一遍特别是 Windows 所在的分区和数据盘有没有被误勾上格式化。确认无误再点继续。安装过程视硬盘速度而定NVMe 上一般 8 到 15 分钟。中间屏幕会黑几次属于正常现象。结束之后提示重启拔掉 U 盘如果直接进了 Windows 而没看到 GRUB 菜单说明引导项顺序不对这是下一章要解决的问题。首次进 Ubuntu先跑一次完整更新sudo apt update sudo apt full-upgrade -y sudo reboot内核更新之后重启一次确认新内核能正常启动再往下折腾驱动。这一步的顺序很重要因为很多驱动问题在新内核里已经修好了。6. 装完第一件事驱动、时间、输入法和高分屏6.1 系统时间差八小时怎么修这是双系统最经典的毛病。原因在于 Windows 默认把硬件时钟RTC当作本地时间读写而 Linux 遵循 Unix 传统把 RTC 当作UTC 时间然后根据时区换算成显示时间。两边对同一个硬件时钟的理解不一样就出现了 8 小时偏差。解决办法有两个方向选一个就行不要两边都改。方案一让 Ubuntu 迁就 Windows把 RTC 当本地时间timedatectl set-local-rtc 1 --adjust-system-clock timedatectl执行完之后RTC in local TZ会显示 yes。这个方案的好处是操作简单坏处是官方不推荐某些场景下比如夏令时切换可能出现奇怪的偏移系统日志里也会警告。方案二让 Windows 遵循 UTC这是更正统的做法# Windows 管理员 PowerShell reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1 /f执行完重启 Windows再进 Ubuntu 执行timedatectl set-local-rtc 0两边就统一了。我一般用方案二因为以后如果再加一个 Linux 发行版不需要每个都单独设置。6.2 无线网卡、显卡、指纹与声音无线网卡是小米笔记本最容易出问题的一环。2020 年以后的机型常见 Intel AX201、AX211、联发科 MT7921 这几种。AX 系列在 5.15 内核之后基本没问题MT7921 需要 5.15 以上Ubuntu 22.04 的 HWE 内核和 24.04 都覆盖了。如果装完发现 WiFi 列表空白先执行lspci -nn | grep -i network rfkill list dmesg | grep -i firmware | tail -20大部分情况是固件没加载需要装linux-firmware的最新版本。少数机型需要手动从内核源码仓库下载固件放到/lib/firmware这种情况比较少见。显卡方面小米笔记本大多有 Intel 核显加一块 NVIDIA 的 MX 系列或者 GTX/RTX 独显。装 NVIDIA 驱动最省事的办法是打开软件和更新 → 附加驱动选带 proprietary, tested 标记的那个版本点应用等它下载安装完重启。或者用命令行ubuntu-drivers devices sudo ubuntu-drivers autoinstall装完 NVIDIA 驱动之后会多出一个prime-select工具可以在 Intel 省电模式和 NVIDIA 性能模式之间切换prime-select query sudo prime-select nvidia # 或者 sudo prime-select on-demandon-demand模式比较适合笔记本平时用核显省电需要的时候用__NV_PRIME_RENDER_OFFLOAD1环境变量指定程序走独显。指纹识别小米笔记本上常见的是 Goodix 或者 FocalTech 的方案Linux 下的支持一直不太好。可以用lsusb查一下具体型号然后对着 libfprint 的支持列表看。如果是 Goodix 27c6:开头的那几款基本可以放弃了直接不折腾。这不是你操作的问题是驱动生态的问题。声音部分小米机型用的是 SOFSound Open Firmware架构的音频需要较新的内核和固件。如果装完发现扬声器没声音但耳机有声音或者麦克风完全不工作先确认内核版本再试sudo apt install firmware-sof-signed。老内核上还有一个经典偏方是加内核参数snd_intel_dspcfg.dsp_driver1不过新版本上基本不需要了。6.3 中文输入法与字体Ubuntu 默认自带的输入法框架是 ibus配合中文拼音引擎能用但词库和联想能力一般。想要更好的体验两条路一是换成 fcitx5二是装搜狗输入法。fcitx5 的方案更推荐因为它在 Wayland 下兼容性好不会出现候选框飘在屏幕角落的问题sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk3 fcitx5-frontend-qt5 # 设置环境变量 echo export GTK_IM_MODULEfcitx ~/.profile echo export QT_IM_MODULEfcitx ~/.profile echo export XMODIFIERSimfcitx ~/.profile然后在设置 → 键盘 → 输入源里把输入法系统改成 fcitx5注销重新登录托盘里就会出现 fcitx5 的图标进去加拼音输入法就行。搜狗输入法的方案是下载 deb 包用sudo dpkg -i安装遇到依赖问题用sudo apt install -f补。它的词库确实强但基于 fcitx4在较新的系统上偶尔会有依赖冲突装之前心里有数。字体方面Ubuntu 默认的中文字体是 Noto Sans CJK够用但显示偏细。想要更接近 Windows 观感的可以装思源黑体和微软雅黑的替代字体sudo apt install fonts-noto-cjk fonts-wqy-microhei fonts-wqy-zenhei如果要处理公文排版还得装方正系列的商业字体那就需要自己去找授权版本了。6.4 高分屏缩放与触摸板手势小米笔记本很多是 2.5K 甚至 3.2K 的屏幕在 Linux 下默认 100% 缩放的话字小得看不清。GNOME 在 Wayland 会话下支持分数缩放设置路径是设置 → 显示 → 缩放可以选 125%、150%、175%。X11 会话下只有 100%、200% 这种整数倍200% 字又太大所以高分屏机器强烈建议用 Wayland。Wayland 会话在登录界面右下角的齿轮里选 Ubuntu on Wayland。如果遇到某些软件在 Wayland 下显示异常可以在登录界面切回 X11或者在启动参数里加GDK_BACKENDx11。触摸板手势在 GNOME 下原生支持三指切换工作区、四指呼出应用列表不需要额外装软件。如果想要更多手势比如三指拖动窗口、边缘滑动调节音量可以装gestures这个扩展配一个 yaml 配置文件社区里有现成的模板可以直接抄。6.5 常用开发环境一次性配好装完系统之后开发环境我一般按这个顺序装。Git 和 SSHsudo apt install git git config --global user.name 你的名字 git config --global user.email 你的邮箱 ssh-keygen -t ed25519 -C 你的邮箱 cat ~/.ssh/id_ed25519.pub把公钥内容贴到代码托管平台的 SSH 密钥设置里。如果之前用 Windows 已经有密钥直接拷贝~/.ssh目录过来更省事。Python 环境不要动系统自带的 PythonUbuntu 很多系统工具依赖它。用 pyenv 或者 conda 管理独立环境更安全。conda 的方式是下载 Miniconda 的安装脚本执行之后初始化 shellbash Miniconda3-latest-Linux-x86_64.sh conda init bashpyenv 的方式更适合纯 Python 项目两者选一个即可同时装容易搞乱 PATH。Node.js 和 npm不要用apt install nodejs版本太旧。用 nvmcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install --ltsDocker官方源的方式比 Ubuntu 仓库里的版本新sudo apt install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod ar /etc/apt/keyrings/docker.gpg后面按官网的命令加仓库、装 docker-ce最后把当前用户加到 docker 组sudo usermod -aG docker $USER重新登录生效。国内源替换装系统时如果用的官方源更新会慢得让人想砸键盘。换成清华或者阿里的镜像sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i s|http://archive.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g /etc/apt/sources.list sudo sed -i s|http://security.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g /etc/apt/sources.list sudo apt update24.04 用的是新的 deb822 格式配置文件在/etc/apt/sources.list.d/ubuntu.sources改法类似注意别改错文件。7. 双系统引导维护GRUB 不见了怎么办7.1 为什么 Windows 更新之后 GRUB 会消失这是双系统用户最常碰到的事故。Windows 每次大版本更新比如功能更新都会重写自己的引导项把 UEFI 启动顺序里 Windows Boot Manager 提到第一位。有些极端情况下它还会把 ESP 分区里的其他引导目录当成多余文件清理掉。表现是开机直接进 Windows完全不出现 GRUB 菜单。但 Ubuntu 并没有被删除只是引导入口没了。判断方法是在 Windows 里用管理员命令提示符执行bcdedit /enum firmware如果输出里还能看到ubuntu相关的条目说明只是启动顺序被改了改回来就行。如果看不到说明 NVRAM 里的条目真被删了需要用 Ubuntu U 盘重新创建。7.2 用 Ubuntu 启动盘修复引导先做一个 Ubuntu 的安装 U 盘从它启动选 Try Ubuntu 进入试用桌面。然后打开终端按下面的步骤走。第一步找到你的根分区sudo fdisk -l # 或者 lsblk -f从输出里找到你的 ext4 根分区比如/dev/nvme0n1p5。第二步挂载并 chroot 进去sudo mount /dev/nvme0n1p5 /mnt sudo mount /dev/nvme0n1p1 /mnt/boot/efi # 换成你的 ESP 设备名 for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done sudo chroot /mnt第三步重装 GRUBgrub-install /dev/nvme0n1 update-grub exitgrub-install会把引导文件重新写到 ESP并在 NVRAM 里注册启动项。update-grub会扫描硬盘上所有的操作系统把 Windows 也加进菜单。如果嫌命令行麻烦Ubuntu 的 Live 环境里可以直接装boot-repair图形界面点推荐修复基本能解决大部分引导问题sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair boot-repair第四步重启拔盘看 GRUB 菜单里有没有 Windows 选项。如果没有进 Ubuntu 之后执行sudo os-prober sudo update-grub我遇到过os-prober什么都不输出的情况原因是 Ubuntu 22.04 之后为了安全默认把 os-prober 关掉了。需要改配置sudo nano /etc/default/grub # 找到 GRUB_DISABLE_OS_PROBERtrue改成 false # 或者在文件末尾加一行 GRUB_DISABLE_OS_PROBERfalse sudo update-grub改完再跑一次Windows 就应该出现在菜单里了。7.3 用 Windows 修复 Windows 引导反过来如果你把 Windows 的引导搞坏了比如误删了 ESP 里的 Microsoft 目录需要 Windows 安装 U 盘来修# 从 Windows 安装盘启动选修复计算机 → 疑难解答 → 命令提示符 bootrec /fixmbr bootrec /fixboot bootrec /scanos bootrec /rebuildbcdbootrec这套命令在 UEFI 加 GPT 的环境下其实效果有限真正有效的是bcdbootbcdboot C:\Windows /s S: /f UEFI其中S:是你手动挂载的 ESP 分区盘符用diskpart挂载C:是 Windows 所在分区。这条命令会重建 ESP 里的 Microsoft 引导目录和 NVRAM 条目。注意修 Windows 引导和修 GRUB 引导的动作会互相覆盖启动顺序。一般来说修完 Windows 之后需要再修一次 GRUB或者在 BIOS 里手动把 ubuntu 那条启动项调到第一位。这不是哪一方的问题是 UEFI 启动项机制本身的特性。7.4 设置默认启动系统与菜单超时GRUB 菜单默认会停留 30 秒或者 10 秒等你自己选。想让某个系统默认启动改/etc/default/grubsudo nano /etc/default/grub几个关键参数GRUB_DEFAULT0默认选第 0 项。如果用saved配合GRUB_SAVEDEFAULTtrue可以记住上次选的那一项这个更符合日常使用习惯。GRUB_TIMEOUT10菜单停留 10 秒。GRUB_TIMEOUT_STYLEmenu强制显示菜单。设成 hidden 的话菜单会被藏起来按 Shift 才能呼出反而麻烦。改完执行sudo update-grub生效。如果想在图形界面里调整顺序和默认项可以装grub-customizer能拖拽排序、改名字、删掉多余的旧内核条目比手改配置直观。8. 常见问题速查与卸载回退8.1 安装阶段问题速查现象可能原因处理办法引导菜单看不到 U 盘BIOS 里 USB Boot 被关、或 Fast Boot 开着进 BIOS 打开 USB Boot关闭 Fast Boot安装器看不到硬盘存储模式是 Intel VMD / RST按 safeboot 流程切到 AHCI卡在 logo 界面不进去显卡驱动加载失败U 盘引导时按 e 编辑启动项在quiet splash后加nomodeset安装到一半报 I/O error镜像损坏或 U 盘质量问题校验 SHA256换 U 盘重写提示没有 EFI 分区磁盘是 MBR 格式备份数据后转成 GPT或者在 BIOS 里开 Legacy 支持手动分区时全是灰的未分配空间被识别成 MBR 保留区检查是否还有其他分区占了位置nomodeset这个参数值得单独说一句。它的作用是让内核不要过早加载显卡驱动用基础的 VESA 模式启动代价是分辨率低、没有硬件加速但对排查显卡问题非常有用。装完系统、装好驱动之后就不需要了。8.2 使用阶段的高频问题风扇狂转、续航明显缩短。多半是 NVIDIA 独显一直处于工作状态。执行prime-select query看看当前模式改成on-demand或者intel。还可以装 TLP 做电源管理sudo apt install tlp tlp-rdw sudo systemctl enable tlp sudo tlp startTLP 会针对电池和插电两种状态分别设置 CPU 调度策略、硬盘休眠、USB 自动挂起等参数。默认配置对大多数机型已经够用想要细调就改/etc/tlp.conf。亮度调节键没反应。小米笔记本的亮度键走的是 ACPI 事件。先确认按键有没有触发事件acpi_listen # 然后按亮度键看有没有输出如果有输出但屏幕不变化就是 GNOME 那边没接上可以手动绑定快捷键。如果没有输出可能是内核参数问题试试在 GRUB 里加acpi_backlightnative或者acpi_backlightvendor逐个试。蓝牙搜不到设备。常见原因是蓝牙被 rfkill 软屏蔽了rfkill list sudo rfkill unblock bluetooth sudo systemctl restart bluetooth如果是 Intel 的蓝牙模块还需要确认btintel固件加载正常dmesg | grep -i blue能看到加载信息。关机变重启。这在某些小米机型上出现过原因是 ACPI 表里的关机方法定义有问题。可以在 GRUB 参数里加rebootacpi或者rebootbios逐个试。SSH 连不上。Ubuntu 默认不装 SSH 服务端需要手动装sudo apt install openssh-server sudo systemctl enable --now ssh sudo systemctl status ssh如果装完了还连不上检查sudo ufw status防火墙没放行的话执行sudo ufw allow ssh。还有一种是文件权限问题~/.ssh目录权限必须是 700authorized_keys必须是 600权限不对 SSH 会静默拒绝。环境变量改错了导致登录后黑屏。这属于自己把~/.profile或/etc/environment写坏了。处理方法是在 GRUB 菜单里选 Advanced options进 recovery mode用 root shell 进去把文件改回来。所以改这类全局配置文件之前一定要先cp一份备份。8.3 卸载 Ubuntu 与恢复单系统不想用了想回到纯 Windows步骤比安装要简单但顺序不能错。第一步在 Windows 里修复引导确保 Windows 引导正常bcdedit /enum firmware # 找到 ubuntu 那条记下标识符 bcdedit /delete {标识符}第二步用 DiskGenius 或者 Windows 磁盘管理删除 Ubuntu 的那几个分区ext4 和 swap。注意别删错ESP 分区不能删。第三步把删掉的空间合并到相邻分区。Windows 自带的磁盘管理只能合并相邻的、且在被合并分区右侧的空间很多时候做不到还是得用 DiskGenius 的无损合并。第四步清理 ESP 里的残留目录。用 DiskGenius 挂载 ESP 分区删掉\EFI\ubuntu\文件夹。这一步不做的话虽然引导项删了但目录还在以后重装可能会冲突。提示删除分区之前一定要先删 UEFI 启动项反过来操作会出现启动项指向一个不存在的分区开机报错进不去系统还得用 U 盘来救。我自己这几年在小米笔记本上装 Ubuntu 的体会是整个流程里真正花时间的不是安装本身而是装完之后那一堆驱动和配置的微调。第一台机器我折腾了整整两天第二台半天第三台半小时装完系统加一小时配环境就完事了。差距全在于你知道哪些地方会出问题、出问题了该看哪个日志。另外一个小建议把装好之后的系统用 Timeshift 做一次快照存到一块移动硬盘上。以后不管是驱动装崩了还是手滑删了系统文件回滚十分钟搞定比重新装一遍省太多事。这个习惯一旦养成折腾 Linux 的心理负担会小很多敢试的东西也就更多了。