创建 VHD - 亚马逊 AppStream 2.0

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

创建 VHD

VHD 是一个单独的文件,挂载到操作系统后会被当作硬盘处理。VHD 可挂载为驱动器号和/或挂载到文件夹路径。挂载 VHD 后,您可以像对待任何其他硬盘一样对待它,包括安装应用程序或向其中复制用户需要的文件。

要创建应用程序块,您需要创建 VHD,在其中安装应用程序,然后将其分离。分离后,您可以在另一台 PC、EC2 实例或 AppStream 2.0 映像生成器上测试您的 VHD,以验证应用程序是否按预期运行。完成后,将其上传到您账户中的 Amazon S3 存储桶并创建应用程序块。

注意

本页介绍如何使用 VHD 交付应用程序;但是, AppStream 2.0 流式传输实例将从 Amazon S3 下载任何对象。您存储在 Amazon S3 中的对象也可以是 zip 文件、应用程序安装程序或应用程序可执行文件本身。您可以在用户启动其应用程序之前,使用设置脚本在流实例上进行正确配置。

安装脚本运行之前, AppStream 2.0 流媒体实例最多会等待 120 秒让 VHD 完成下载。如果 VHD 未在这段时间内完成下载,则下载将停止,设置脚本也不会运行。

我们建议 VHD 的最大大小为 1.5GB。您或许可以通过压缩来减小 VHD 的大小。挂载文件之前,您必须使用设置脚本对其进行解压缩,因为在挂载和启动应用程序之前,需要从 Amazon S3 完全下载该文件。较大的 VHD 会增加应用程序启动时间和开始流式传输会话所需的时间。

为 Microsoft Windows 创建 VHD
  1. 从 Windows PC 或 Windows Amazon Elastic Compute Cloud(Amazon EC2)实例中,以管理权限打开命令提示符。

  2. 输入以下命令启动 Microsoft diskpart 实用工具:

    diskpart

  3. 输入以下命令创建未格式化且未初始化的 VHD 文件,其中 <最大文件大小> 是 VHD 文件的大小(以 MB 为单位):

    create vdisk file=C:\path\to\new\file.vhdx maximum=<maximum file size> type=expandable

  4. 输入以下命令选择新创建的 VHD:

    select vdisk file=C:\path\to\new\file.vhdx

  5. 输入以下命令连接新创建的 VHD:

    attach vdisk

  6. 输入以下命令初始化新创建的 VHD:

    convert mbr

  7. 输入以下命令创建跨整个 VHD 的主分区:

    create partition primary

  8. 输入以下命令格式化新创建的分区:

    format fs=ntfs quick

  9. 您可以将新创建的 VHD 挂载到未使用的驱动器号和/或根卷上的文件夹路径。

    要挂载驱动器号,请输入:assign letter=<unused drive letter>

    要挂载文件夹,请输入:assign mount=C:\path\to\empty\folder\to\mount\

    注意

    要挂载到文件夹路径,该文件夹必须已经存在且必须为空。

  10. 现在,您可以使用在步骤 9 中选择的驱动器号或文件夹挂载路径将应用程序安装到 VHD。

将应用程序安装到 VHD 后,您需要先将其分离,然后才能安全地将其上传到 Amazon S3 存储桶。

分离适用于 Microsoft Windows 的 VHD
  1. 输入以下命令启动 Microsoft diskpart 实用工具:

    diskpart

  2. 输入以下命令选择 VHD:

    select vdisk file=C:\path\to\new\file.vhdx

  3. 输入以下命令分离 VHD:

    detach vdisk

  4. VHD 现已拆卸,可以在另一台 Windows PC、Amazon EC2 实例或 AppStream 2.0 映像生成器上进行测试。

创建适用于 Linux 的 VHD
  1. 从亚马逊 Linux 2 EC2 实例、亚马逊 Linux 2 AppStream 2.0 映像生成器或亚马逊 Linux 2 WorkSpaces 打开终端会话。

  2. 创建未格式化且未初始化的 VHD 文件:

    dd if=/dev/zero of=<name of file> bs=<size of VHD> count=1

  3. 输入以下命令将文件系统添加到创建的 VHD 中:

    sudo mkfs -t ext4 <name of file>

    注意

    您可能会看到一条消息,指出该文件不是块特殊设备。无论如何,您都可以选择继续。

  4. 输入以下命令创建一个空文件夹以用作挂载点:

    sudo mkdir /path/to/mount/point

  5. 运行以下命令将新创建的 VHD 挂载到文件系统路径:

    sudo mount -t auto -o loop <name of file> /path/to/mount/point

  6. 现在,您可以使用在步骤 4 中选择的文件夹挂载路径将应用程序安装到 VHD。

    注意

    在 VHD 上创建的文件和文件夹的默认权限会阻止非管理员用户启动应用程序或读取文件。验证权限并在必要时进行更改。

将应用程序安装到 VHD 后,您需要先将其分离,然后才能安全地将其上传到 Amazon S3 存储桶。

分离适用于 Linux 的 VHD
  1. 打开一个终端会话,然后输入以下命令:

    sudo umount /path/to/mount/point

  2. VHD 现已拆卸,可以在另一个亚马逊 Linux 2 Amazon EC2 实例、亚马逊 Linux 2 AppStream 2.0 映像生成器或亚马逊 Linux 2 WorkSpaces 上进行测试。