Amazon EC2 視窗執行個體啟動問題 - Amazon Elastic Compute Cloud

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

Amazon EC2 視窗執行個體啟動問題

以下是可協助您解決 Amazon EC2 Windows 執行個體的密碼和啟用問題的疑難排解秘訣。

「未提供密碼」

若要使用遠端桌面連線到 Windows 執行個體,您必須指定帳戶和密碼。所提供的帳戶和密碼是根據您用來啟動執行個體的帳戶和密碼而定。AMI您可以擷取系統管理員帳戶的自動產生密碼,也可以使用在建立該帳戶的原始執行個體中使用的帳戶和密碼。AMI

您可以為使用自訂 Windows 啟動的執行個體產生管理員帳戶的密碼AMI。要生成密碼,您需要在創建之前在操作系統中配置一些設置。AMI如需詳細資訊,請參閱創建一個 Amazon 支EBS持 AMI

如果您的 Windows 執行個體未設定產生隨機密碼,當您使用主控台擷取自動產生的密碼時,就會收到以下訊息:

Password is not available.
The instance was launched from a custom AMI, or the default password has changed. A
password cannot be retrieved for this instance. If you have forgotten your password, you can
reset it using the Amazon EC2 configuration service. For more information, see Passwords for a
Windows Server instance.

檢查執行個體的主控台輸出,查看您用來啟動執行個體的輸出是否已停用密碼產生功AMI能的情況下建立。如果停用產生密碼,主控台輸出會包含以下內容:

Ec2SetPassword: Disabled

如果停用產生密碼而您不記得原始執行個體的密碼,您可重設此執行個體的密碼。如需詳細資訊,請參閱重設 Amazon EC2 視窗執行個體的管理員密碼

「尚未提供密碼」

若要使用遠端桌面連線到 Windows 執行個體,您必須指定帳戶和密碼。所提供的帳戶和密碼是根據您用來啟動執行個體的帳戶和密碼而定。AMI您可以擷取系統管理員帳戶的自動產生密碼,也可以使用在建立該帳戶的原始執行個體中使用的帳戶和密碼。AMI

您應該會在幾分鐘內收到密碼。如果未提供密碼,當您使用主控台擷取自動產生的密碼時,就會收到以下訊息:

Password not available yet.
Please wait at least 4 minutes after launching an instance before trying to retrieve the 
auto-generated password.

如果超過四分鐘仍未收到密碼,則可能是執行個體的啟動代理程式未設定為產生密碼。請檢查主控台輸出是否為空以確認。如需詳細資訊,請參閱無法取得主控台輸出

同時確認用來存取管理入口網站的 AWS Identity and Access Management (IAM) 帳戶是否具有允許的ec2:GetPasswordData動作。如需有關IAM權限的詳細資訊,請參閱什麼是IAM?

「無法擷取 Windows 密碼」

若要擷取管理員帳戶的自動產生密碼,您必須使用啟動執行個體時所指定之金鑰對的私有金鑰。如果您在啟動執行個體時未指定金鑰對,就會收到下列訊息。

Cannot retrieve Windows password

您可以終止此執行個體並使用相同的執行個體啟動新執行個體AMI,並確定指定 key pair。

等待中繼資料服務

Windows 執行個體必須先從自己的執行個體中繼資料取得資訊,才能自行啟動。依預設,此WaitForMetaDataAvailable設定可確保EC2Config服務會等待執行個體中繼資料存取,然後再繼續開機程序。如需詳細資訊,請參閱使用執行個體中繼資料來管理您的EC2執行個體

如果執行個體的執行個體連線能力測試失敗,請嘗試下列方法解決此問題。

  • 檢查CIDR塊為您的VPC. 如果 Windows 執行個體啟動到的 IP 位址範圍從224.0.0.0255.255.255.255 (類別 D 和類別 E IP 位址範圍),則無法正確開機。VPC這些是保留的 IP 地址範圍,不應該指派給主機裝置。我們建議您使VPC用 RFC19 18 中指定的私有(非公開路由)IP 位址範圍建立一個CIDR區塊。

  • 系統可能已以靜態 IP 地址設定。請嘗試建立網路介面連接至執行個體

  • 若要DHCP在您無法連線到的 Windows 執行個體上啟用
    1. 停止受影響的執行個體並分離其根磁碟區。

    2. 啟動與受影響執行個體同一可用區域中的暫時執行個體。

      警告

      如果您的暫存執行個體是以原始執行AMI個體所依據的相同為基礎,您必須完成其他步驟,否則您將無法在還原其根磁碟區後,因為磁碟簽章衝突而無法啟動原始執行個體。或者,為暫存例證選AMI取不同的執行個體。例如,如果原始執行個體使用 AWS 視窗AMI伺服器 2016 年版,請使用 AWS Windows AMI 伺服器 2019 年版啟動暫存執行個體。

    3. 從受影響的執行個體將根磁碟區連接到此暫時執行個體。連線至暫時執行個體、開啟 Disk Management (磁碟管理) 公用程式,然後讓磁碟機上線。

    4. 從臨時實例中,打開註冊表編輯器,然後選擇 HKEY_ LOCAL _ MACHINE。從 File (檔案) 功能表中,選擇 Load Hive (載入 Hive)。選取磁碟機、開啟檔案 Windows\System32\config\SYSTEM,然後在提示時指定金鑰名稱 (您可使用任何名稱)。

    5. 選取剛載入的機碼並導覽至 ControlSet001\Services\Tcpip\Parameters\Interfaces。每個網路介面都以GUID. 選取正確的網路介面。如果DHCP停用且指派靜態 IP 位址,EnableDHCP則會設定為 0。若要啟用DHCP,請設EnableDHCP定為 1,並刪除下列金鑰 (如果存在):NameServerSubnetMaskIPAddress、、和DefaultGateway。再次選取該金鑰,然後從 File (檔案) 功能表中選擇 Unload Hive (取消載入 Hive)

      注意

      如果您有多個網路介面,則需要識別要啟用的正確介面DHCP。若要找出正確的網路界面,請檢閱下列機碼值:NameServerSubnetMaskIPAddressDefaultGateway。這些值會顯示前一個執行個體的靜態組態。

    6. (選擇性) 如果DHCP已啟用,則可能是您沒有前往中繼資料服務的路由。更新EC2Config可以解決此問題。

      1. 下載並安裝最新版本的EC2Config服務。如需安裝此服務的詳細資訊,請參閱 安裝 EC2Config 的最新版本

      2. .zip 檔案中的檔案解壓縮到所連接之磁碟機上的 Temp 目錄中。

      3. 打開註冊表編輯器,然後選擇 HKEY_ LOCAL _ MACHINE。從 File (檔案) 功能表中,選擇 Load Hive (載入 Hive)。選取磁碟機、開啟檔案 Windows\System32\config\SOFTWARE,然後在提示時指定金鑰名稱 (您可使用任何名稱)。

      4. 選取剛載入的機碼並導覽至 Microsoft\Windows\CurrentVersion。選取 RunOnce 機碼。(如果此機碼不存在,請在 CurrentVersion 按一下滑鼠右鍵、指向 New (新增)、選取 Key (機碼) 並命名機碼 RunOnce。) 按一下滑鼠右鍵、指向 New (新增),然後選取 String Value (字串值)。在名稱輸入 Ec2Install,在資料輸入 C:\Temp\Ec2Install.exe -q

      5. 再次選取該金鑰,然後從 File (檔案) 功能表中選擇 Unload Hive (取消載入 Hive)

    7. (選擇性) 如果您的暫存執行個體是以原始執行AMI個體所依據的相同為基礎,您必須完成下列步驟,否則您將無法在還原其根磁碟區後,因為磁碟簽章衝突而無法啟動原始執行個體。

      警告

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

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

      2. 在 [登錄編輯程式] 中,MACHINE從內容功能表中選擇 [HKEYLOCAL_ _] (按一下滑鼠右鍵),然後選擇 [尋找]。

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

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

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

      6. 在資料中的位移為 0x38 處找到四位元組的磁碟簽章。反轉位元組以建立磁碟簽章,然後寫下來。例如,下列資料所代表的磁碟簽章是 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
    8. 使用 Disk Management (磁碟管理) 公用程式讓磁碟機離線。

      注意

      如果暫時執行個體執行的作業系統與受影響執行個體的相同,磁碟機會自動離線,因此您不需要手動將其離線。

    9. 分離磁碟區與暫時執行個體。如果不再需要使用此暫時執行個體,您可終止它。

    10. 將磁碟區連接為 /dev/sda1 來還原受影響執行個體的根磁碟區。

    11. 啟動受影響的執行個體。

如果您已連線至執行個體,請從執行個體開啟網際網路瀏覽器,並URL為中繼資料伺服器輸入下列資料:

http://169.254.169.254/latest/meta-data/

如果無法聯絡中繼資料伺服器,請嘗試下列方法解決問題:

  • 下載並安裝最新版本的EC2Config服務。如需安裝此服務的詳細資訊,請參閱 安裝 EC2Config 的最新版本

  • 檢查 Windows 執行個體是否正在執行 RedHat 光伏驅動程式。如果是,請更新至 Citrix PV 驅動程式。如需詳細資訊,請參閱升級 EC2 Windows 執行個體上的 PV 驅動程式

  • 確認防火牆IPSec、和 Proxy 設定不會封鎖傳送至中繼資料服務 (169.254.169.254) 或 AWS KMS 伺服器的傳出流量 (位址在中的TargetKMSServer元素中指定C:\Program Files\Amazon\Ec2ConfigService\Settings\ActivationSettings.xml)。

  • 使用下列命令確認您有中繼資料服務的路由 (169.254.169.254)。

    route print
  • 檢查是否有可能影響您執行個體可用區域的網路問題。請前往 http://status.aws.amazon.com/

無法啟動 Windows

視窗執行個體使用視窗 AWS KMS 啟用。您可以收到以下訊息:A problem occurred when Windows tried to activate. Error Code 0xC004F074,如果您的執行個體無法連線到 AWS KMS 伺服器。Windows 必須每 180 天啟動一次。EC2Config嘗試在啟用期限到期之前聯絡 AWS KMS 伺服器,以確保 Windows 保持啟動狀態。

如果您發生 Windows 啟用問題,請使用下列程序予以解決。

對於 EC2Config (視窗伺服器 2012 R2 AMIs 及更早版本)
  1. 下載並安裝最新版本的EC2Config服務。如需安裝此服務的詳細資訊,請參閱 安裝 EC2Config 的最新版本

  2. 登入執行個體並開啟下列檔案:C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml

  3. 在檔案中找到 EC2 WindowsActivate 外掛程config.xml式。將狀態變更為 Enabled (已啟用) 並儲存變更。

  4. 在 Windows 服務嵌入式管理單元中,重新啟動EC2Config服務或重新啟動執行個體。

如果這無法解決啟用問題,請遵循下列其他步驟。

  1. 設定 AWS KMS 目標:C:\> slmgr.vbs /skms 169.254.169.250:1688

  2. 啟動 Windows:C:\> slmgr.vbs /ato

適用於 EC2Launch (視窗伺服器 2016 AMIs 及更新版本)
  1. 從具有管理權限的 PowerShell 提示中,匯入EC2Launch模組:

    PS C:\> Import-Module "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1"
  2. 呼叫新增路由函數以查看新路由清單:

    PS C:\> Add-Routes
  3. 調用 Set-ActivationSettings 函數:

    PS C:\> Set-Activationsettings
  4. 接著執行下列指令碼以啟動 Windows:

    PS C:\> cscript "${env:SYSTEMROOT}\system32\slmgr.vbs" /ato

對於EC2Config和EC2Launch,如果您仍然收到激活錯誤,請驗證以下信息。

  • 確認您具有通往 AWS KMS 伺服器的路由。開啟 C:\Program Files\Amazon\Ec2ConfigService\Settings\ActivationSettings.xml 並找到 TargetKMSServer 元素。執行下列命令,並檢查是否列出這些 AWS KMS 伺服器的位址。

    route print
  • 確認已設定 AWS KMS 用戶端金鑰。執行下列命令並檢查輸出。

    C:\Windows\System32\slmgr.vbs /dlv

    如果輸出包含「錯誤:找不到產品金鑰」,表示未設定 AWS KMS 用戶端金鑰。如果未設定 AWS KMS 用戶端金鑰,請依照以下 Microsoft 文章:用戶端安裝金鑰所述查詢AWS KMS 用戶端金鑰,然後執行下列命令來設定 AWS KMS 用戶端金鑰。

    C:\Windows\System32\slmgr.vbs /ipk client_key
  • 確認系統的時間和時區是否正確。如果您使用的時區不是UTC,請新增下列登錄機碼並將其設定,1以確保時間正確無誤:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal

  • 如已啟用 Windows 防火牆,請使用下列命令暫時停用它。

    netsh advfirewall set allprofiles state off

Windows 不是正版 (0x80070005)

視窗執行個體使用視窗 AWS KMS 啟用。如果執行個體無法完成啟用程序,會回報所用 Windows 不是正版。

請嘗試無法啟動 Windows的建議。

無終端機伺服器的授權伺服器可提供授權

Windows Server 預設透過遠端桌面可同時授權兩名使用者使用。如果您需要讓兩個以上的使用者透過遠端桌面同時存取您的 Windows 執行個體,您可以購買遠端桌面服務用戶端存取授權 (CAL),並安裝遠端桌面工作階段主機和遠端桌面授權伺服器角色。

檢查是否有下列問題:

  • 您已超過同時RDP工作階段的數目上限。

  • 您已安裝 Windows 遠端桌面服務角色。

  • 授權已過期。如果授權已過期,您就無法以使用者身分連線到您的 Windows 執行個體。您可以嘗試下列方法:

    • 使用 /admin 參數從命令列連線至執行個體,例如:

      mstsc /v:instance /admin

      如需詳細資訊,請參閱下列 Microsoft 文章:Access Remote Desktop Via Command Line

    • 停止執行個體、分離其 Amazon EBS 磁碟區,然後將它們連接到相同可用區域中的另一個執行個體以復原資料。

「部分設定是由您的組織所管理」

從最新 Windows 伺服器啟動的執行個體AMIs可能會顯示 Windows Update 對話方塊訊息,指出「某些設定是由您的組織管理」。此訊息是因為 Windows Server 中的變更而出現,不影響 Windows Update 的行為或造成您無法管理更新設定。

如何移除警告
  1. 開啟 gpedit.msc 並導覽至電腦組態 > 系統管理範本 > Windows 元件 > Windows 更新。編輯設定自動更新,然後將其設為已啟用

  2. 在命令提示字元中,使用 gpupdate /force 更新群組政策。

  3. 關閉「Windows Update 設定」再重新開啟。您將看到上述訊息表示您的設定正由您的組織所管理,後面接著「我們將自動下載更新,付費連線的情況除外 (因為可能需要支付費用)。在該種情況下,我們會自動下載保持 Windows 順暢運作所需的這些更新。」

  4. 返回 gpedit.msc,然後將群組政策設回尚未設定。再次執行 gpupdate /force

  5. 關閉命令提示字元並等待幾分鐘。

  6. 重新開啟「Windows Update 設定」。您應該不會看到「部分設定是由您的組織所管理」這個訊息。