双NVMe硬盘配置下如何恢复GRUB引导程序?
双NVMe硬盘配置下如何恢复GRUB引导程序?
嗨,根据你描述的情况,我整理了几个针对性的恢复方案,优先推荐能保留原有GRUB配置(包括壁纸)的方法:
方案一:利用旧硬盘(OldDrive)启动Kubuntu迁移GRUB
这是最能保留你原有GRUB设置的方法,毕竟你还能把OldDrive装回去启动Kubuntu:
- 把OldDrive装回空闲的PCIe插槽,重启后从它启动进入Kubuntu系统
- 打开终端,先确认你的SecondaryDrive设备名(比如
/dev/nvme1n1,可以通过sudo fdisk -l查看容量来区分) - 找到SecondaryDrive的EFI分区(通常是容量几百MB的小分区,比如
/dev/nvme1n1p1),执行命令挂载它:sudo mount /dev/nvme1n1p1 /mnt - 接下来把GRUB安装到SecondaryDrive的EFI分区,这样以后就不用依赖OldDrive了:
sudo grub-install --efi-directory=/mnt /dev/nvme1n1 - 最后更新GRUB配置,让它能识别新安装的Windows和所有Linux发行版:
sudo update-grub - 操作完成后关机拔掉OldDrive,重启电脑就能看到熟悉的GRUB菜单了,你的旧壁纸和设置都会保留下来。
方案二:利用BIOS可识别的Kali修复GRUB
如果不想折腾OldDrive,直接用BIOS能看到的Kali来修复:
- 从BIOS选择启动Kali,进入系统后打开终端
- 同样用
sudo fdisk -l确认SecondaryDrive的设备名和它的EFI分区 - 挂载EFI分区:
sudo mount /dev/nvme1n1p1 /mnt - 安装GRUB到SecondaryDrive:
sudo grub-install --efi-directory=/mnt /dev/nvme1n1 - 更新GRUB配置:
sudo update-grub - 这个方法的缺点是GRUB会默认使用Kali的配置,你需要重新设置壁纸,但优点是不用动OldDrive,操作更快捷。
方案三:Linux Live USB修复(备用方案)
如果上面两个方案都无法执行,比如Kali启动有问题,可以制作一个Kubuntu或Ubuntu的Live USB来修复:
- 用另一台电脑制作Linux Live USB,插入你的PC后从USB启动,进入“试用Ubuntu/Kubuntu”模式
- 打开终端,先挂载SecondaryDrive的根分区(比如
/dev/nvme1n1p2)和EFI分区:sudo mount /dev/nvme1n1p2 /mnt sudo mount /dev/nvme1n1p1 /mnt/boot/efi - 进入chroot环境,模拟在SecondaryDrive的系统中操作:
sudo chroot /mnt - 安装GRUB并更新配置:
grub-install /dev/nvme1n1 update-grub - 执行
exit退出chroot环境,重启电脑并拔掉USB,GRUB就恢复了。
注意事项
- 执行所有命令前一定要仔细核对设备名,别把NewDrive的分区搞错了,否则可能损坏Windows系统
- 你的配置是UEFI启动(NVMe硬盘基本都是这种模式),所以以上步骤都是针对UEFI的,如果是MBR启动,操作会略有不同,但你这个情况大概率不用考虑。
备注:内容来源于stack exchange,提问作者Annathema




