本身对ARM相关知识并不熟,之前曾成功搭起来一个在PVE中启动后能自动引导进入系统的虚拟机,为了防止忘记,现在总结一下。
我主要参考了PVE社区和知乎这篇文章。
简单来说就是
- 不使用介质
- 取消勾选“添加EIF磁盘”
- 创建完成后不启动
- 创建一个默认的串口0
- 修改显示器信息,将显卡修改为串行终端0,
- 新添加一个CD/DVD,添加镜像(不知道前边为什么要删除)并在引导顺序中将这个iso设置为第一位。
- 修改虚拟机配置。
安装后删除CD/DVD然后会发现进入UEFI shell。此时需要手动启动grub。但是可以配置startup.nsh
。我查了一下就把它配置在fs0:EFI\boot\startup.nsh
了,可以使用edit什么的指令把启动grub的命令写在里边保存,比如我这里是fs0:\EFI\debian\grubaa64.efi
。它类似一个shell脚本,但是EFI shell的工具配合显示器输出到串口似乎不能刷新整个屏幕,用起来还是很痛苦的。仅供参考
另外我还看到了这篇文章
他手动删除所有硬盘和DVD驱动后手动创建EFI,理由是EFI配置在${storage_id}:0
的位置才能确保正常引导。没有测试但是感觉可信度很高
而且看了他的性能测试,虚拟机性能真差,如果以后我需要arm设备开发我很可能直接买一个真机。
感觉需要以后了解一下ARM相关知识