

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立 VHD
<a name="create-vhd"></a>

VHD 是單一檔案，掛載至作業系統時會視為硬碟。VHD 可以掛載為磁碟機代號、資料夾路徑，或兩者。掛載 VHD 後，您可以將其作為任何其他硬碟來處理，包括安裝應用程式或將使用者需要的檔案複製到其中。

若要建立應用程式區塊，您需要建立 VHD、在其中安裝您的應用程式，然後將它分離。分離後，您可以在另一部 PC、EC2 執行個體或 WorkSpaces 應用程式映像建置器上測試 VHD，以驗證應用程式是否如預期般運作。完成後，上傳到您帳戶中的 Amazon S3 儲存貯體，並建立應用程式區塊。

**注意**  
此頁面說明使用 VHD 交付您的應用程式；不過，WorkSpaces 應用程式串流執行個體將從 Amazon S3 下載任何物件。您存放在 Amazon S3 中的物件也可以是 zip 檔案、應用程式安裝程式，或應用程式可執行檔本身。您可以在使用者啟動其應用程式之前，使用安裝指令碼在串流執行個體上正確設定它。  
WorkSpaces 應用程式串流執行個體會在安裝指令碼執行之前等待最多 120 秒，讓 VHD 完成下載。如果 VHD 未在此期間內完成下載，下載將停止，且安裝指令碼將不會執行。  
我們建議的 VHD 大小上限為 1.5 GB。您可以利用壓縮來縮減 VHD 的大小。您必須先使用安裝指令碼將檔案解壓縮才能進行掛載，因為檔案必須從 Amazon S3 完整下載後才能進行掛載，且應用程式才能啟動。較大的 VHD 會增加應用程式啟動和串流工作階段開始所需的時間。

**建立適用 Microsoft Windows 的 VHD**

1. 從 Windows PC 或 Windows Amazon Elastic Compute Cloud (Amazon EC2) 執行個體，開啟具有管理權限的命令提示字元。

1. 輸入下列命令以啟動 Microsoft **diskpart** 公用程式：

   **diskpart**

1. 輸入下列命令以建立未格式化且未初始化的 VHD 檔案，其中 *<maximum file size>* 是 VHD 檔案的大小，以 MB 為單位：

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

1. 輸入下列命令以選取新建立的 VHD：

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

1. 輸入下列命令以連接新建立的 VHD：

   **attach vdisk**

1. 輸入下列命令以初始化新建立的 VHD：

   **convert mbr**

1. 輸入以下命令以建立橫跨整個 VHD 的主要分割區：

   **create partition primary**

1. 輸入下列命令以格式化新建立的分割區：

   **format fs=ntfs quick**

1. 您可以將新建立的 VHD 掛載到未使用的磁碟機代號、根磁碟區上的資料夾路徑，或兩者。

   若要掛載磁碟機代號，請輸入：**assign letter=*<unused drive letter>***

   若要掛載資料夾，請輸入：**assign mount=*C:\$1path\$1to\$1empty\$1folder\$1to\$1mount\$1***
**注意**  
若要掛載至資料夾路徑，該資料夾必須已存在且必須是空的。

1. 您現在可以將應用程式安裝到使用步驟 9 中所選擇磁碟機代號或資料夾掛載路徑的 VHD。

將應用程式安裝到 VHD 之後，您需要先將其分離，才能安全地將其上傳到 Amazon S3 儲存貯體。

**分離適用 Microsoft Windows 的 VHD**

1. 輸入下列命令以啟動 Microsoft diskpart 公用程式：

   **diskpart**

1. 輸入下列命令以選取 VHD：

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

1. 輸入下列命令以分離 VHD：

   **detach vdisk**

1. VHD 現在已分離，並且可以在另一個 Windows PC、Amazon EC2 執行個體或 WorkSpaces 應用程式映像建置器上進行測試。

**建立適用 Linux 的 VHD**

1. 開啟終端機：
   + 對於 Amazon Linux 2：使用 EC2 執行個體、WorkSpaces 應用程式映像建置器或採用 Amazon Linux 2 技術的 WorkSpaces 
   + 對於 Ubuntu Pro 24.04 LTS：使用 EC2 執行個體或採用 Ubuntu Pro 技術的 WorkSpaces 

1. 建立未格式化且未初始化的 VHD 檔案：

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

1. 輸入下列命令以將檔案系統新增至建立的 VHD：

   **sudo mkfs -t ext4 *<name of file>***
**注意**  
您可能會看見一則訊息，指出檔案不是區塊特殊裝置。您可以直接選擇繼續進行。

1. 輸入下列命令以建立用於掛載點的空資料夾：

   **sudo mkdir */path/to/mount/point***

1. 執行下列命令以將新建立的 VHD 掛載至檔案系統路徑：

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

1. 您現在可以將應用程式安裝到使用步驟 4 中所選擇資料夾掛載路徑的 VHD。
**注意**  
在 VHD 上所建立檔案和資料夾的預設許可，能夠防止非管理員的使用者啟動應用程式或讀取檔案。驗證許可並視需要進行變更。

將應用程式安裝到 VHD 之後，您需要先將其分離，才能安全地將其上傳到 Amazon S3 儲存貯體。

**分離適用 Linux 的 VHD**

1. 開啟終端機工作階段，然後輸入下列命令：

   **sudo umount */path/to/mount/point***

1. VHD 現已分離，並且可以在另一個 Amazon Linux 2/Ubuntu Pro 24.04 LTS Amazon EC2 執行個體、Amazon Linux 2 WorkSpaces 應用程式映像建置器或 Amazon Linux 2/Ubuntu WorkSpaces Personal 上進行測試。