jiangcuo / Proxmox-Port

Proxmox VE arm64 riscv64 loongarch64
GNU Affero General Public License v3.0
840 stars 44 forks source link

虚拟机经过 clone 之后,无法启动,会停留在 EFI Shell #81

Closed qiongzhu closed 7 months ago

qiongzhu commented 7 months ago

Describe the bug 近期更新较多包之后遇到此问题,之前没有。使用ISO安装的KVM虚机可以顺利启动。关闭虚机,然后从PVE网页界面里执行Clone,新虚机无法启动,会停留在 EFI Shell 上。

To Reproduce Steps to reproduce the behavior:

  1. 使用任意支持的 iso 安装一个 kvm 虚机,设置OMVF格式,创建EFI Disk,安装系统后,检查可以启动
  2. 将该虚机正常关闭
  3. 从PVE网页界面左侧的树状列表中选中该虚机,鼠标右键点击后选择 'Clone',对话框中保持默认,点击'Clone',等待操作完成
  4. 选择新虚机,点击 Start后发现无法启动

存储使用 thin-lvm,相关软件版本是:

lvm2/stable,now 2.03.16-2 arm64 [installed]
thin-provisioning-tools/stable,now 0.9.0-2 arm64 [installed]

edk2 固件版本

pve-edk2-firmware-aarch64/unknown,now 4.2023.08-4 all [installed,automatic]
pve-edk2-firmware-legacy/unknown,now 4.2023.08-4 all [installed,automatic]
pve-edk2-firmware-ovmf/unknown,now 4.2023.08-4 all [installed,automatic]

Expected behavior Clone后的虚机可以像原虚机一样启动

Screenshots boot_failure_after_clone

ENV (please complete the following information): sysinfo

Additional context Add any other context about the problem here.

jiangcuo commented 7 months ago

https://github.com/jiangcuo/Proxmox-Port/wiki/Rockchip-device-NOTE

qiongzhu commented 7 months ago

前面我漏了升级前的版本信息。我之前用的 pve 版本大概是 8.1.3,这个版本非常稳定,保持了很长时间没有更新,使用上也没有问题。近期debian12和pve都有较多更新,升到了8.1.7后,发现拷贝后的虚机无法启动的问题。这个升级和FAQ里的7升8情况不同

安装 pve-edk2-firmware-aarch64 最新版本 4.2023.08-4时,从8.1.3时候留下的虚机,以及随后用ISO新安装的虚机,都可以启动。和FAQ中描述的似乎有些不同

现在我将 pve-edk2-firmware-aarch64 降级到指定版本,拷贝之后虚机无法启动的问题仍然存在,通过iso直接安装的都可以正常启动,其行为与 最新版本 4.2023.08-4 一致。

pve-edk2-firmware-aarch64/unknown,now 3.20220526-rockchip all [installed,upgradable to: 4.2023.08-4]
pve-edk2-firmware-legacy/unknown,now 4.2023.08-4 all [installed,automatic]
pve-edk2-firmware-ovmf/unknown,now 4.2023.08-4 all [installed,automatic]
jiangcuo commented 7 months ago

那你降级试试,

qiongzhu commented 7 months ago

误报了。放虚机的 nvme 盘似乎出了问题。把现有的几个重要虚机备份了之后做了一次Secure erase,还原后一切正常了。但是那几个 edk2 firmware 我这个确实安装的不正确,缺了pve-edk2-firmware。最终完全正常的版本是以下4个,不管是之前安装的、新安装的,以及cloud image,还有clone之后的,都可以顺利启动。

root@pve-rock:~# apt list --installed | grep edk2

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

pve-edk2-firmware-aarch64/unknown,now 4.2023.08-4 all [installed]
pve-edk2-firmware-legacy/unknown,now 4.2023.08-4 all [installed,automatic]
pve-edk2-firmware-ovmf/unknown,now 4.2023.08-4 all [installed]
pve-edk2-firmware/unknown,now 4.2023.08-4 all [installed]