问题背景:注释/删除GRUB文件中的启动项时手贱多点了几行
解决方案
一、进入Ubuntu试用环境
- 制作Ubuntu启动盘(推荐与当前系统版本一致)
- 插入U盘重启电脑,按F12/F2进入启动菜单选择U盘启动
- 选择"Try Ubuntu without installing"进入试用模式3
二、挂载系统分区
sudo -i # 获取root权限
fdisk -l # 查看磁盘分区(注意识别Ubuntu系统所在分区)
我本次问题中涉及的是Disk1的以下分区:
Disk /dev/nvme0n1:476.94 GiB,512110190592 字节,1000215216 个扇区
Disk model: Micron MTFDKBA512TFH
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:54D05AFC-1192-42DB-90BF-1422CD33D937
设备 起点 末尾 扇区 大小 类型
/dev/nvme0n1p1 2048 2203647 2201600 1G EFI 系统
/dev/nvme0n1p2 2203648 1000212479 998008832 475.9G Linux 文件系统
确认系统分区后执行挂载:
mount /dev/nvme0n1p2 /mnt # 挂载根分区
mount /dev/nvme0n1p1 /mnt/boot/efi # 挂载EFI分区(仅UEFI需要)
mount -t proc /proc /mnt/proc # 绑定系统目录
mount -t sysfs /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars
三、执行修复操作
chroot /mnt # 进入原系统环境
grub-install /dev/nvme0n1 # 安装GRUB到磁盘(设备名根据实际情况修改)
update-grub # 生成新配置文件
exit # 退出chroot环境
四、完成修复
reboot # 重启后拔掉U盘 然后按下enter健
完成以上动作后正常来说就可以进入Grub界面了,如果出现为windows启动项丢失,可以再执行一次:update-grub
五、注意事项
- 设备路径需根据实际情况修改(nvme0n1/sda等)
- BIOS启动方式无需挂载EFI分区
- 若存在独立/boot/boot分区需额外挂载
- 操作前建议备份重要数据