GRUB 引导程序迁移

在Windows电脑上将Ubuntu安装到移动硬盘后,即使未插入移动硬盘仍能在启动菜单看到Ubuntu选项,GRUB引导程序被安装到了内置硬盘的EFI分区​

  • 安装时的默认行为:Ubuntu安装程序(如Ubiquity)可能自动将GRUB引导程序写入到电脑内置硬盘的EFI系统分区(ESP),而非移动硬盘的ESP。
  • 结果:即使移动硬盘未连接,内置硬盘的ESP中仍存有Ubuntu的引导项,导致启动菜单显示该选项。但若尝试启动,会因为找不到移动硬盘的系统文件而失败。

将 GRUB 引导程序迁移到移动硬盘,并删除内置硬盘的 Ubuntu 引导项。

使用 gparted调整分区

留出500MB左右空间,FAT32​ 格式的分区,并设置 boot/esp​ 标志,分区自定义。

挂载移动硬盘的 EFI 分区

假设新创建的 EFI 分区是 /dev/sdb3​:

sudo mkdir -p /mnt/esp
sudo mount /dev/sdb3 /mnt/esp

重新安装 GRUB 到移动硬盘

sudo grub-install --target=x86_64-efi --efi-directory=/mnt/esp --bootloader-id=ubuntu --removable
  • ​--removable​ 选项确保 GRUB 可以在不同电脑上启动(适用于移动硬盘)。

更新 GRUB 配置

sudo update-grub

卸载并检查

sudo umount /mnt/esp
lsblk  # 确认挂载点已移除

删除内置硬盘的 Ubuntu 引导项

确认GRUB安装位置

首先,检查GRUB是否真的被安装到了内置硬盘的EFI分区(ESP):

打开终端(Ctrl+Alt+T​),运行:

sudo fdisk -l
  • 找到你的内置硬盘(通常是 /dev/nvme0n1​ 或 /dev/sda​)和移动硬盘(如 /dev/sdb​)。
  • 确认它们的EFI分区(通常是 FAT32​ 格式,大小约100MB~500MB)。

查看GRUB是否安装在内置硬盘:

sudo grub-probe -t device /boot/efi
  • 如果返回的是内置硬盘(如 /dev/nvme0n1p1​),说明GRUB被错误安装到了内置硬盘。

在 Ubuntu 中删除

挂载内置硬盘的 EFI 分区:

sudo mount /dev/nvme0n1p1 /mnt/esp

删除 Ubuntu 引导文件:

sudo rm -rf /mnt/esp/EFI/ubuntu

卸载:

sudo umount /mnt/esp

调整 BIOS/UEFI 启动顺序

  1. 重启进入 BIOS(通常是 F2​、Del​ 或 Esc​)。

  2. 找到 Boot Options,确保:

    • 移动硬盘的 Ubuntu 在列表中。
    • 内置硬盘的 Ubuntu 残留项 已被移除(如果没有自动消失,手动删除)。
  3. 设置 移动硬盘为第一启动项(可选)。


验证

  • 插入移动硬盘 → 启动时按 F12​,应该能看到 Ubuntu(移动硬盘)。
  • 不插移动硬盘 → Ubuntu 选项应消失,直接进入 Windows。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值