Windows 執行個體的常見問題 - Amazon Elastic Compute Cloud

Windows 執行個體的常見問題

下列的故障診斷秘訣可協助您解決執行 Windows Server 之 EC2 執行個體的相關問題。

EBS 磁碟區不是在 Windows Server 2016 和更新版本上初始化

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

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

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

  2. 使用以下格式指定磁碟區設定:

    { "driveLetterMapping": [ { "volumeName": "sample volume", "driveLetter": "H" } ] }
  3. 儲存您的變更並結束檔案。

  4. 開啟 Windows PowerShell,並使用下列命令執行初始化磁碟的 EC2Launch 指令碼:

    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 指令碼未初始化磁碟區,請確定磁碟區已上線。如果磁碟區離線,請執行下列命令以使所有磁碟上線。

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

在目錄服務還原模式 (DSRM) 中開機 EC2 Windows 執行個體

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

DSRM 的磁碟機支援

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

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

如需如何啟用增強聯網的資訊,請參閱 在 VPC 的 Windows 執行個體上啟用增強聯網。如需升級 AWS PV 驅動程式的詳細資訊,請參閱 升級 Windows 執行個體上的 PV 驅動程式

設定執行個體在 DSRM 中開機

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

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

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

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

  2. 選擇 Boot (開機) 標籤。

  3. Boot options (開機選項) 下選擇 Safe boot (安全開機)

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

使用命令列在 DSRM 中開機線上執行個體

從命令提示視窗執行下列命令:

bcdedit /set safeboot dsrepair

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

在 DSRM 中開機離線執行個體

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

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

  4. 選擇 Launch instances (啟動執行個體),並在與受影響執行個體相同的可用區域中,建立暫時性的執行個體。選擇使用不同 Windows 版本的執行個體類型。例如,如果您的執行個體是 Windows Server 2008,則選取 Windows Server 2008 R2 執行個體。

    重要

    若您沒有在與受影響的執行個體相同的可用區域內建立執行個體,您將無法將受影響執行個體的根磁碟區連接到新的執行個體。

  5. 在導覽窗格中,選擇 Volumes (磁碟區)

  6. 尋找受影響執行個體的根磁碟區。分離磁碟區,再將其連接至先前建立的暫時性執行個體。使用預設裝置名稱 (xvdf) 連接它。

  7. 使用遠端桌面連接至暫時性執行個體,然後使用 Disk Management 公用程式將磁碟區變成可用

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

    bcdedit /store D:\Boot\BCD /set {default} safeboot dsrepair
  9. 在磁碟管理公用程式中,選擇先前連接的磁碟機,開啟內容 (按右鍵) 選單,然後選擇 Offline (離線)

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

  11. 啟動實例。

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

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

執行個體遺失網路連線能力或排程任務未如預期執行

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

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

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

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

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

  1. 請務必執行建議的 PV 驅動程式。如需詳細資訊,請參閱 升級 Windows 執行個體上的 PV 驅動程式

  2. 確認以下登錄機碼存在且設為 1HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal

無法取得主控台輸出

若為 Windows 執行個體,執行個體主控台會顯示在 Windows 開機程序期間執行的任務輸出。如果 Windows 成功開機,最後記錄的訊息為 Windows is Ready to use。請注意,您也可以在主控台中顯示事件日誌訊息,但預設不啟用此功能。如需詳細資訊,請參閱 EC2 服務屬性

若要使用 Amazon EC2 主控台取得執行個體的主控台輸出,請選取執行個體,然後選擇 Actions (動作)Monitor and troubleshoot (監視和故障診斷)Get system log (取得系統記錄檔)。若要使用命令列取得主控台輸出,請使用下列其中一項命令:get-console-output (AWS CLI) 或 Get-EC2ConsoleOutput (AWS Tools for Windows PowerShell)。

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

網路不提供 Windows Server 2012 R2

如需故障診斷網路不提供之 Windows Server 2012 R2 執行個體的資訊,請參閱 Windows Server 2012 R2 在執行個體重新開機後遺失網路及儲存體連線能力

磁碟簽章衝突

您可以使用 EC2Rescue for Windows Server,檢查並解決磁碟簽章衝突。或者,您可以執行下列步驟,手動解決磁碟簽章問題。

警告

下列程序說明如何使用登錄編輯程式來編輯 Windows 登錄檔。如果您不熟悉 Windows 登錄檔或如何使用登錄編輯程式來安全地進行變更,請參閱 設定登錄檔

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

  2. 登錄編輯程式中,從內容功能表中選擇 HKEY_LOCAL_MACHINE (按一下右鍵),然後選擇 Find (尋找)。

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

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

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

  6. 在資料中的位移為 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 ...
  7. 在命令提示視窗中,執行下列命令以啟動 Microsoft DiskPart。

    diskpart
  8. 執行下列 DiskPart 命令以選取磁碟區。(可以使用磁碟管理公用程式,確認磁碟編號為 1)。

    DISKPART> select disk 1 Disk 1 is now the selected disk.
  9. 執行下列 DiskPart 命令即可取得磁碟簽章。

    DISKPART> uniqueid disk Disk ID: 0C764FA8
  10. 如果上一個步驟中顯示的磁碟簽章不符合您先前寫下的 BCD 中的磁碟簽章,請使用下列 DiskPart 命令來變更磁碟簽章,使其符合:

    DISKPART> uniqueid disk id=E9EB3AA5