尝试恢复我的 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 分区,试图查看我试图保存的一些数据。我能够成功挂载它……希望该过程不会导致这些异常。
感谢任何帮助:)