独立访客虚拟机 (IGVM) 文件格式
Independent Guest Virtual Machine (IGVM) File Format

原始链接: https://github.com/microsoft/igvm

## 独立客户虚拟机 (IGVM) 项目概要 该项目定义了 IGVM 文件格式,这是一种标准化方法,用于打包启动跨各种虚拟化平台(包括利用 AMD SEV-SNP 和 Intel TDX 实现增强隔离的平台)所需的全部信息。 基本上,IGVM 文件包含用于构建初始客户状态的加载器命令,以及用于验证文件完整性和授权来源的安全测量。 该格式在 `igvm_defs` crate 中定义,并在 `igvm` 中提供 Rust 实现。 该项目积极鼓励贡献,要求签署贡献者许可协议 (CLA) 以确保适当的使用权。 它还遵守微软开源行为准则和商标使用指南。 CLA 要求详情由机器人自动管理,并在提交拉取请求时进行处理。

微软推出了一种新的独立客户虚拟机 (IGVM) 文件格式,引发了 Hacker News 的讨论。该格式旨在将虚拟机的整个状态——固件、磁盘、网络——打包到一个文件中,类似于 OVA。 然而,一个关键问题是当前的软件支持:它是否可以与流行的虚拟机管理程序(如 QEMU、KVM、VirtualBox 或 VMware)一起使用?目前,关于兼容性的细节很少。 评论者表达了怀疑,一些人认为这是对现有格式(如 libvirt XML)的不必要的重新发明。 还有人开玩笑说微软未来会将 CoPilot 集成到虚拟机中。 一个争议点是“独立”的命名,一位用户指出该项目实际上是由微软维护的。 链接的 QEMU 文章提供了一个更清晰的解释,表明“独立”指的是与虚拟机管理程序无关,而不是项目独立性。
相关文章

原文

crates.io docs.rs crates.io docs.rs

This project is the home of the Independent Guest Virtual Machine (IGVM) file format. The format specification can be found in the igvm_defs crate, with a Rust implementation of the binary format in the igvm crate.

The IGVM file format is designed to encapsulate all information required to launch a virtual machine on any given virtualization stack, with support for different isolation technologies such as AMD SEV-SNP and Intel TDX.

At a conceptual level, this file format is a set of commands created by the tool that generated the file, used by the loader to construct the initial guest state. The file format also contains measurement information that the underlying platform will use to confirm that the file was loaded correctly and signed by the appropriate authorities.

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit Contributor License Agreements.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

联系我们 contact @ memedata.com