使用 LVM2 和 UEFI 重建 grub

使用 LVM2 和 UEFI 重建 grub

尝试恢复我的 Ubuntu 22.04 的 grub 引导加载程序,但重建过程中的奇怪异常将启动菜单更改为 CentOS。我尝试了从许多不同来源(包括超级用户)进行的几次重建尝试。以下是我尝试结合来自几个不同来源的技术(从 Live Ubuntu 记忆棒启动)的最新过程:

  • 确保已安装 LVM2

     apt install lvm2
     modprobe dm-mod
     fdisk -l
    
  • 找到具有 LVM 分区的设备,在我的例子中:/dev/nvme0n1p3

     uname -m
    
  • 确保当前操作 x86 与 x86_64 与您要修复的操作系统相匹配

     lvscan
     lvdisplay
     mkdir /mnt/home
     mkdir /mnt/root
     mount /dev/new_name/home /mnt/home
     mount /dev/new_name/root /mnt/root
    
  • 如果有必要,初始化交换分区:

     swapon /dev/new_name/swap
     mount --bind /run /mnt/root/run
     mount --bind /mnt/home /mnt/root/home
     mkdir /mnt/boot
     mount /dev/nvme0n1p1 /mnt/boot
     mount --bind /mnt/boot /mnt/root/boot/efi
     for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt/root/$i; done
     chroot /mnt/root /bin/bash
     grub-install --recheck /dev/nvme0n1
    

结果:

   Installing for x86_64-efi platform.
   grub-install: warning: EFI variables cannot be set on this system.
   grub-install: warning: You will have to complete the GRUB setup manually.
   Installation finished. No error reported.

在那之后:

update-grub
exit

重新启动后...仍然启动 CentOS 的 grub 菜单,并且仍然收到警告消息:

/dev/centos/root、/dev/centos/swap 和 /dev/mapper/centos-root 不存在。

然后启动过程进入紧急模式并生成文件rdsosreport.txt
我有报告……但没有找到附加它的方法。

有什么技巧可以让我的 grub 识别 Ubuntu 吗?顺便说一句,我之前确实挂载了一个 CentOS 7 LVM2 分区,试图查看我试图保存的一些数据。我能够成功挂载它……希望该过程不会导致这些异常。

感谢任何帮助:)

相关内容