为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用VMX挂起和恢复VM

如何使用VMX挂起和恢复VM

拉莫斯之舞 2021-04-13 17:14:43
我已经在Linux中使用VMX设计了一个玩具管理程序,它可以与我的测试VM一起很好地工作。现在,我正在尝试使用玩具管理程序测试挂起并恢复我的测试虚拟机。我进行了以下操作以挂起VM。VM以实模式启动,然后进入保护模式。它调用wrmsr,这将导致VMEXIT。系统管理程序获取VMEXIT,然后将CPU上下文(gprs,段reg,描述符表等)和VM的内存保存到磁盘文件中,然后退出。(未清除VMXON / VMCS区域)。现在,重新启动VM加载程序,它将读取磁盘文件,将CPU上下文保存到VMCS字段中,并填充VM的内存。然后,通过调用“ vmlaunch”告诉系统管理程序启动VM。(在此之前,系统管理程序将调用vmxon,vmclear,vmptrld和vmwrite VMCS字段和来宾CPU上下文)。我的期望是虚拟机将从以前保存的RIP中恢复。但失败并显示“无效的访客状态”我用ch 26.3检查了这些字段,但是找不到任何提示。请在上面照亮你的灯。
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

FS ATTR和GS ATTR无效。请参阅26.3.1.2中对“访问权限字段”的检查。如果位16为0,则位7:0必须为非零值,通常为0x93。


查看完整回答
反对 回复 2021-04-16
  • 1 回答
  • 0 关注
  • 311 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信