

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

# 針對 Amazon EC2 Windows 執行個體的問題進行疑難排解
<a name="win-ts-common-issues"></a>

下列的疑難排解秘訣可協助您解決 Amazon EC2 Windows 執行個體的相關問題。

**Topics**
+ [無法將 AWS Systems Manager Sessions Manager 連線至 Windows Server 2025 執行個體](#connect-sysmgr-win2025)
+ [EBS 磁碟區不是在 Windows Server 2016 和 2019 和更新版本上初始化](#init-disks-win2k16)
+ [在目錄服務還原模式 (DSRM) 中開機 EC2 Windows 執行個體](#boot-dsrm)
+ [執行個體遺失網路連線能力或排程任務未如預期執行](#instance-loses-network-connectivity)
+ [無法取得主控台輸出](#no-console-output)
+ [網路不提供 Windows Server 2012 R2](#server-2012-network-loss)
+ [磁碟簽章衝突](#disk-signature-collision)

## 無法將 AWS Systems Manager Sessions Manager 連線至 Windows Server 2025 執行個體
<a name="connect-sysmgr-win2025"></a>

您可能會遇到將 AWS Systems Manager Sessions Manager 連線至 Windows Server 2025 執行個體的問題。若要解決此問題，請登入執行個體，然後導覽至 `Settings > Apps > Optional Features`，再新增 `WMIC`。重新啟動 SSM Agent 服務或將執行個體重新開機，且 Sessions Manager 應連線。

您也可使用以下 PowerShell 命令來執行相同動作：

```
Start-Process -FilePath "$env:SystemRoot\system32\Dism.exe" -ArgumentList @('/Online', '/Add-Capability', '/CapabilityName:WMIC~~~~') -Wait; Restart-Service -Name AmazonSSMAgent
```

## EBS 磁碟區不是在 Windows Server 2016 和 2019 和更新版本上初始化
<a name="init-disks-win2k16"></a>

從適用於 Windows Server 2016 和 2019 和更新版本的 Amazon Machine Image (AMI) 建立的執行個體使用 EC2Launch v1 代理程式處理各種啟動任務，包括初始化 EBS 磁碟區。根據預設，EC2Launch v1 不會初始化輔助磁碟區。然而，您可以設定 EC2Launch v1 自動初始化這些磁碟，如下所示。

**將磁碟機代號映射到磁碟區**

1. 連線至執行個體，以設定 `C:\ProgramData\Amazon\EC2-Windows\Launch\Config\DriveLetterMappingConfig.json` 檔案並在文字編輯器中開啟。

1. 指定磁碟區設定如下：

   ```
   {
   "driveLetterMapping": [
   	{
   	  "volumeName": "sample volume",
   	  "driveLetter": "H"
   	}]
   }
   ```

1. 儲存您的變更並結束檔案。

1. 開啟 Windows PowerShell，並使用下列命令執行初始化磁碟的 EC2Launch v1 指令碼：

   ```
   PS C:\>  C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1
   ```

   若要在每次執行個體開機時初始化磁碟，請新增 `-Schedule` 標記，如下所示：

   ```
   PS C:\>  C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 -Schedule
   ```

   EC2Launch v1 代理程式可以執行執行個體初始化指令碼，例如與 `InitializeInstance.ps1` 指令碼平行處理的 `initializeDisks.ps1`。如果 `InitializeInstance.ps1` 指令碼會重新啟動執行個體，它可能會中斷執行個體啟動時執行的其他排程任務。為了避免任何潛在的衝突，我們建議您將邏輯新增至 `initializeDisks.ps1` 指令碼，以確保執行個體初始化已先完成。
**注意**  
如果 EC2Launch 指令碼未初始化磁碟區，請確定磁碟區已上線。如果磁碟區離線，請執行下列命令以使所有磁碟上線。  

   ```
   PS C:\> Get-Disk | Where-Object IsOffline -Eq $True | Set-Disk -IsOffline $False
   ```

## 在目錄服務還原模式 (DSRM) 中開機 EC2 Windows 執行個體
<a name="boot-dsrm"></a>

如果執行 Microsoft Active Directory 的執行個體發生系統故障或其他重大問題，您可在稱為*目錄服務還原模式*(DSRM) 的特殊版本安全模式中開機此執行個體，執行故障診斷。在 DSRM 中，您可修復或復原 Active Directory。

### DSRM 的磁碟機支援
<a name="boot-dsrm-driver"></a>

啟用 DSRM 和在執行個體中開機的方式取決於執行個體執行的磁碟機。在 EC2 主控台中，您可在系統日誌中檢閱執行個體的磁碟機版本詳細資訊。下表顯示 DSRM 支援的驅動程式。


| 驅動程式版本 | 是否支援 DSRM？ | 後續步驟 | 
| --- | --- | --- | 
| Citrix PV 5.9 | 否 | 從備份還原執行個體。您無法啟用 DSRM。 | 
| AWS PV 7.2.0 | 否 | 雖然此驅動程式不支援 DSRM，但您仍然可以分離根磁碟區與無法連線的執行個體、拍攝磁碟區快照或從磁碟區建立 AMI，然後將它連接到同一可用區域的另一個執行個體做為輔助磁碟區。然後即可啟用 DSRM (如本節中所述)。 | 
| AWS PV 7.2.2 及更新版本 | 是 | 分離根磁碟區、將它連接到其他執行個體，然後啟用 DSRM (如本節中所述)。 | 
| 增強型聯網 | 是 | 分離根磁碟區、將它連接到其他執行個體，然後啟用 DSRM (如本節中所述)。 | 

如需如何啟用增強型聯網的詳細資訊，請參閱 [在 EC2 執行個體上使用 ENA 啟用增強型網路](enhanced-networking-ena.md)。如需有關升級 AWS PV 驅動程式的資訊，請參閱[升級 Windows 執行個體上的 PV 驅動程式](Upgrading_PV_drivers.md)。

### 設定執行個體在 DSRM 中開機
<a name="configure-boot-dsrm"></a>

EC2 Windows 執行個體在作業系統執行前沒有網路連線。因此，您無法按鍵盤的 F8 按鈕選取開機選項。您必須使用下列其中一個程序，在 DSRM 中開機 EC2 Windows Server 執行個體。

如果您懷疑 Active Directory 已毀損，但執行個體仍在執行，您可設定此執行個體使用 System Configuration (系統組態) 對話方塊或命令提示在 DSRM 中開機。

**使用 System Configuration (系統組態) 對話方塊在 DSRM 中開機線上執行個體**

1. 在 **Run (執行)** 對話方塊中輸入 `msconfig`，然後按 Enter。

1. 選擇 **Boot (開機)** 標籤。

1. 在 **Boot options (開機選項)** 下選擇 **Safe boot (安全開機)**。

1. 選擇 **Active Directory repair (Active Directory 修復)**，然後選擇 **OK (確定)**。系統會提示您重新開機伺服器。

**使用命令列在 DSRM 中開機線上執行個體**  
從命令提示視窗執行下列命令：

```
bcdedit /set safeboot dsrepair
```

如果執行個體離線且無法連線，您必須分離根磁碟區，然後將它連接到其他執行個體，以啟用 DSRM 模式。

**在 DSRM 中開機離線執行個體**

1. 在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Instances** (執行個體)。

1. 找出並選取受影響的執行個體。選擇 **Instance state (執行個體狀態)**、**Stop instance (停止執行個體)**。

1. 選擇 **Launch instances (啟動執行個體)**，並在與受影響執行個體相同的可用區域中，建立暫時性的執行個體。選擇使用不同 Windows 版本的執行個體類型。例如，如果您的執行個體是 Windows Server 2016，則選取 Windows Server 2019 執行個體。
**重要**  
若您沒有在與受影響的執行個體相同的可用區域內建立執行個體，您將無法將受影響執行個體的根磁碟區連接到新的執行個體。

1. 在導覽窗格中，選擇 **Volumes (磁碟區)**。

1. 尋找受影響執行個體的根磁碟區。[分離](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-detaching-volume.html)磁碟區，再將其[連接](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-attaching-volume.html)至先前建立的暫時性執行個體。使用預設裝置名稱 (xvdf) 連接它。

1. 使用遠端桌面連接至暫時性執行個體，然後使用 Disk Management 公用程式將[磁碟區變成可用](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-using-volumes.html)。

1. 開啟命令提示並執行下列命令。使用您剛連接之輔助磁碟區的實際磁碟機代號取代 *D*：

   ```
   bcdedit /store D:\Boot\BCD /set {default} safeboot dsrepair
   ```

1. 在磁碟管理公用程式中，選擇先前連接的磁碟機，開啟內容 (按右鍵) 選單，然後選擇 **Offline (離線)**。

1. 在 EC2 主控台中，將受影響的磁碟區與暫時性執行個體分離，然後將其重新連接至裝置名稱為 `/dev/sda1` 的執行個體。您必須指定此裝置名稱，將磁碟區指定為根磁碟區。

1. [啟動](Stop_Start.md)實例。

1. 在執行個體通過 EC2 主控台的運作狀態檢查後，使用遠端桌面連線到執行個體並確認它在 DSRM 模式中開機。

1. (選用) 刪除或停止您在此程序中建立的暫時性執行個體。

## 執行個體遺失網路連線能力或排程任務未如預期執行
<a name="instance-loses-network-connectivity"></a>

如果您重新啟動您的執行個體但它遺失網路連線能力，可能是執行個體的時間發生錯誤。

Windows 執行個體預設使用國際標準時間 (UTC)。如果您將執行個體的時間設至不同的時區然後重新啟動，就會發生時間位移，且執行個體會暫時遺失 IP 地址。執行個體最後會在重新取得網路連線能力，但這可能需要數小時。執行個體重新取得網路連線能力所需要的時間視 UTC 和其他時間之間的差異而定。

此相同的時間問題也會導致排程任務未如預期執行。在本例中，因為執行個體的時間不正確，所以排程的任務未如預期執行。

若要持續使用 UTC 以外的時區，您必須設定 **RealTimeIsUniversal** 登錄機碼。沒有這個機碼，執行個體會在重新啟動後使用 UTC。

**解決造成網路連線能力遺失的時間問題**

1. 請務必執行建議的 PV 驅動程式。如需詳細資訊，請參閱[升級 EC2 Windows 執行個體上的 PV 驅動程式](Upgrading_PV_drivers.md)。

1. 確認以下登錄機碼存在且設為 `1`：**HKEY\$1LOCAL\$1MACHINE\$1SYSTEM\$1CurrentControlSet\$1Control\$1TimeZoneInformation\$1RealTimeIsUniversal**

## 無法取得主控台輸出
<a name="no-console-output"></a>

若為 Windows 執行個體，執行個體主控台會顯示在 Windows 開機程序期間執行的任務輸出。如果 Windows 成功開機，最後記錄的訊息為 `Windows is Ready to use`。您也可以在主控台中顯示事件日誌訊息，但根據您的 Windows 版本不同，系統可能無法預設啟用此功能。如需詳細資訊，請參閱[Amazon EC2 Windows 執行個體的 Windows 啟動代理程式](configure-launch-agents.md)。

若要使用 Amazon EC2 主控台取得執行個體的主控台輸出，請選取執行個體，然後選擇 **Actions (動作)**、**Monitor and troubleshoot (監視和故障診斷)**、**Get system log (取得系統記錄檔)**。若要使用命令列取得主控台輸出，請使用下列其中一項命令：[get-console-output](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-console-output.html) (AWS CLI) 或 [Get-EC2ConsoleOutput](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ConsoleOutput.html) (AWS Tools for Windows PowerShell)。

若是執行 Windows Server 2012 R2 或更舊版本的執行個體，如果主控台輸出是空的，可能表示 EC2Config 服務發生問題，例如設定錯誤的組態檔或 Windows 無法正確開機。若要修復此問題，請下載並安裝最新版的 EC2Config。如需詳細資訊，請參閱[安裝最新版本的 EC2Config](UsingConfig_Install.md)。

## 網路不提供 Windows Server 2012 R2
<a name="server-2012-network-loss"></a>

如需有關對無法在網路上使用之 Windows Server 2012 R2 執行個體進行疑難排解的資訊，請參閱 [Windows Server 2012 R2 會在執行個體重新開機後失去網路和儲存連線](pvdrivers-troubleshooting.md#server2012R2-instance-unavailable)。

## 磁碟簽章衝突
<a name="disk-signature-collision"></a>

您可以使用 [EC2Rescue for Windows Server](Windows-Server-EC2Rescue.md)，檢查並解決磁碟簽章衝突。或者，您可以執行下列步驟，手動解決磁碟簽章問題。
**警告**  
下列程序說明如何使用登錄編輯程式來編輯 Windows 登錄檔。如果您不熟悉 Windows 登錄檔或如何使用登錄編輯程式來安全地進行變更，請參閱 [設定登錄檔](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc725612(v=ws.11))。

1. 開啟命令提示，輸入 **regedit.exe**，然後按 Enter。

1. 在**登錄編輯程式**中，從內容功能表中選擇 **HKEY\$1LOCAL\$1MACHINE** (按一下右鍵)，然後選擇 **Find** (尋找)。

1. 輸入 **Windows Boot Manager**，然後選擇 **Find Next** (尋找下一個)。

1. 選擇名為 `11000001` 的金鑰。此金鑰是您在上一個步驟中找到的金鑰的同級。

1. 在右窗格中，選擇 `Element`，然後從內容功能表中選擇 **Modify** (修改)(按一下右鍵)。

1. 在資料中的位移為 0x38 處找到四位元組的磁碟簽章。這是開機組態資料庫簽章 (BCD)。反轉位元組以建立磁碟簽章，然後寫下來。例如，下列資料所代表的磁碟簽章是 `E9EB3AA5`：

   ```
   ...
   0030  00 00 00 00 01 00 00 00
   0038  A5 3A EB E9 00 00 00 00
   0040  00 00 00 00 00 00 00 00
   ...
   ```

1. 在命令提示視窗中，執行下列命令以啟動 Microsoft DiskPart。

   ```
   diskpart
   ```

1. 執行 `select disk` DiskPart 命令，並指定發生磁碟簽章衝突的磁碟區的磁碟編號。
**提示**  
若要查看發生磁碟簽章衝突的磁碟區的磁碟編號，請使用**磁碟管理**公用程式。開啟命令提示，輸入 `compmgmt.msc`，然後按 **Enter**。在左側導覽面板中，按兩下**磁碟管理**。在**磁碟管理**公用程式中，查看發生磁碟簽章衝突的離線磁碟區的磁碟編號。

   ```
   DISKPART> select disk 1
   Disk 1 is now the selected disk.
   ```

1. 執行下列 DiskPart 命令即可取得磁碟簽章。

   ```
   DISKPART>  uniqueid disk
   Disk ID: 0C764FA8
   ```

1. 如果上一個步驟中顯示的磁碟簽章不符合您先前寫下的磁碟簽章，請使用下列 DiskPart 命令來變更磁碟簽章，使其相符：

   ```
   DISKPART> uniqueid disk id=E9EB3AA5
   ```