

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 虚拟机对虚拟机进行的编程修改 Import/Export
<a name="import-modify-vm"></a>

使用 `ImportImage` API 导入 VM 时， Amazon 修改文件系统并添加驱动程序以使导入的 VM 可启动。写入修改后的文件时，以新名称将原始文件 Amazon 保留在同一位置。可以进行以下操作：

**General**
+ 为了与提供的镜像相同 Amazon， Amazon Systems Manager 客户端安装在 VM 上。

**Windows**
+ 修改注册表设置以使 VM 可启动。

**Linux**
+ 可以直接在操作系统中安装 Citrix 半虚拟化驱动程序，也可以进行修改 initrd/initramfs以包含它们。
+ 修改网络脚本以使用动态 IP 替换静态 IP。
+ 修改 `/etc/fstab`、注释掉无效的条目并使用 UUID 替换设备名称。如果找不到设备的匹配 UUID，会在设备描述中添加 `nofail` 选项。导入后，我们必须更正设备名称并删除 `nofail`。最佳实践做法是，在准备要导入的 VM 时，建议您使用 UUID 而非设备名称来指定 VM 磁盘设备。

  `/etc/fstab` 中包含非标准文件系统类型（cifs、smbfs、vboxsf、sshfs 等）的条目将被禁用。
+ 修改默认条目和超时等 GRUB 启动加载程序设置。

## 导入 VM 而不做任何修改
<a name="import-without-modifications"></a>

如果您需要在不进行编程修改的情况下导入 VM，我们建议您按照以下步骤进行操作，而不是使用 `ImportImage`。

**重要**  
如果您使用此流程，则 Amazon 不会进行任何导入后验证以确保映像可启动。您有责任确保正确准备用于导出的 VM。

**导入 VM 而不做任何修改**

1. 准备用于导出的 VM 。有关更多信息，请参阅 [用于从虚拟化环境导出虚拟机的配置](prepare-vm-image.md)。

1. 以以下文件格式之一导出 VM 的启动磁盘： VHD/VHDX、VMDK 或 raw。有关更多信息，请参阅您的虚拟化环境的文档。

1. 请使用 [put-object](https://docs.amazonaws.cn/cli/latest/reference/s3api/put-object.html) 命令将导出的启动磁盘文件上传到要创建映像的区域的 Amazon S3 存储桶。

1. 请使用 [import-snapshot](https://docs.amazonaws.cn/cli/latest/reference/ec2/import-snapshot.html) 命令将启动磁盘作为快照导入。有关导入快照的更多信息，请参阅 [使用 VM Import/Export 将磁盘作为 EBS 快照导入](vmimport-import-snapshot.md)。
**注意**  
您可以使用 [describe-import-snapshot-tasks](https://docs.amazonaws.cn/cli/latest/reference/ec2/describe-import-snapshot-tasks.html) 命令监控导入快照任务的进度。

   记下该命令返回的快照 ID。下一步中您将需要使用该值。

1. 请使用 [register-image](https://docs.amazonaws.cn/cli/latest/reference/ec2/register-image.html) 命令注册新的 AMI，并将上一步中的快照指定为根设备卷。

   记下该命令返回的映像 ID。下一步中您将需要使用该值。

1. 在 AMI 达到 `available` 状态后，您可以使用它启动实例。