1. 双系统启动项消失的常见原因
装完Windows和Ubuntu双系统后,很多朋友都会遇到一个头疼的问题——重启电脑直接进了Windows,Ubuntu就像人间蒸发了一样。这种情况我遇到过不下十次,每次帮人处理都能看到对方一脸懵的表情。其实根本原因很简单:Windows安装程序会霸道地覆盖掉MBR或EFI分区中的GRUB引导记录。
这里有个冷知识:Windows和Linux的引导机制完全不同。Windows使用bootmgr或winload.efi,而Linux依赖GRUB这个"万能引导器"。当你后安装Windows时,它会默认认为自己是唯一的操作系统,直接把引导权抢走。有趣的是,如果你先装Windows再装Ubuntu,GRUB通常会聪明地把Windows启动项包含进来,但反过来Windows可不会这么"友好"。
我遇到过最极端的情况是,某些品牌机的BIOS还会偷偷搞小动作。比如某款戴尔笔记本会在检测到Windows系统时,自动把Ubuntu的EFI启动项隐藏起来。这时候不仅需要修复GRUB,还得进BIOS手动把Ubuntu的启动项调出来。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 急救第一步:进入GRUB命令行
当发现Ubuntu启动项丢失时,别急着重装系统。准备一个Ubuntu安装U盘(和你系统版本一致),插入电脑后重启。在BIOS启动菜单中选择U盘启动,但注意不要选"Install Ubuntu",而是选择"Try Ubuntu"进入试用模式。
进入Live CD环境后,打开终端。这时候我们需要先搞清楚磁盘分区情况。我强烈建议先用这个命令查看:
bash复制sudo fdisk -l
输出结果可能会让你眼花缭乱,重点找两类分区:一个是EFI系统分区(通常300MB左右,文件系统是FAT32),另一个是Linux的/boot分区(如果有单独划分的话)。在我的联想Yoga上,EFI分区是/dev/nvme0n1p1,而/boot是/dev/nvme0n1p6。
这里有个实用技巧:如果记不住分区编号,可以用lsblk -f命令,这个输出更直观,能直接看到文件系统类型和挂载点。我曾经帮人修复时,发现他把/boot单独分在了SD卡上,结果SD卡接触不良导致启动失败,这种奇葩情况用lsblk一眼就能看出来。
3. 手动挂载关键分区
知道分区编号
