如何在 Arch Linux 中将 EFI 引导加载程序转换为 MBR(和/或将 GPT 磁盘转换为 MBR 磁盘)而不丢失数据

如何在 Arch Linux 中将 EFI 引导加载程序转换为 MBR(和/或将 GPT 磁盘转换为 MBR 磁盘)而不丢失数据

我已经在磁盘 sdc 上安装了 arch linux,其中 sdc1 是 efi 分区,sdc2 是根分区。我也尝试使用 esxi 7 启动此安装,但它似乎拒绝启动,因为它说找不到我用来物理启动它的 PARTUUID 号码,如下所示:

在此处输入图片描述 在此处输入图片描述

我无法理解应该使用什么值,所以我认为对于像我这样的新手来说,将 arch linux 的 EFI 引导加载程序转换为 mbr 引导加载程序(和/或将整个 GPT 转换为 MBR 硬盘)更容易,而不会丢失数据,也不必进行新安装。也许,执行此操作后,esxi 将能够启动 arch linux。谢谢。

更新 :

解决方法是修改文件/etc/fstab,将/dev/sdc1更改为/dev/sda1,将/dev/sdc2更改为/dev/sda2。

答案1

如果您的虚拟机到达了这一点,则说明您当前的引导加载程序类型和分区表类型是合适的,因为您确实已成功加载内核并到达 Linux initramfs。错误消息不是来自 ESXi 或引导加载程序,而是来自 Linux 本身。

最有可能的是,ESXi 模拟的“物理”磁盘与您所拥有的类型不同(例如 SCSI vs AHCI vs NVMe),并且 initramfs 存档缺少正确的驱动程序。尝试编辑要使用的内核命令行,initramfs-linux-fallback.img该命令行始终包含所有驱动程序。

您还可以查看dmesgLinux 检测到的磁盘类型。如果 initramfs 包含它,也可以尝试lsblk(可能lsblk -o +partuuid)。

相关内容