無法對 VM 進行 RDP,因為 VM 會開機進入安全模式

適用於:✔️ Windows VM

本文說明如何解決您無法連線到 Azure Windows 虛擬機器 (VM) 的問題,因為 VM 已設定為開機進入安全模式。

徵兆

您無法對 Azure 中的 VM 進行 RDP 連線或其他連線(例如 HTTP),因為 VM 已設定為開機進入安全模式。 當您在 Azure 入口網站 的開機診斷檢查螢幕快照時,您可能會看到 VM 正常開機,但網路介面無法使用:

顯示網路介面無法使用的螢幕快照。

原因

RDP 服務無法在安全模式中使用。 VM 開機進入安全模式時,只會載入必要的系統程式和服務。 這適用於兩個不同的安全模式版本,這些版本是「安全開機最小」和「具有連線能力的安全開機」。

解決方案

遵循這些步驟之前,請建立受影響 VM OS 磁碟的快照集作為備份。 如需詳細資訊,請參閱 快照集磁碟

若要解決此問題,請使用序列控制來設定 VM 以開機進入一般模式,或使用 復原 VM 離線 修復 VM。

使用序列控件

  1. 線上到 序列控制台並開啟 CMD 實例。 如果您的 VM 上未啟用序列主控台,請參閱 離線修復 VM。

  2. 檢查開機組態數據:

    主控台
    bcdedit /enum
    

    如果 VM 設定為開機進入安全模式,您會在名為 safeboot 的 Windows 開機載入器區段下看到額外的旗標 如果您沒有看到 safeboot 旗標 ,VM 就不會處於安全模式。 本文不適用於您的案例。

    safeboot 旗標可能會出現下列值:

    • 最小

    • 網路

      在這兩種模式中,將不會啟動 RDP。 因此,修正程式會維持不變。

      顯示safeboot旗標值為 [最小值] 的螢幕快照。

  3. 刪除safemoade 旗標,讓 VM 會開機進入一般模式:

    主控台
    bcdedit /deletevalue {current} safeboot
    
  4. 檢查開機組態數據,以確定 已移除safeboot旗標

    主控台
    bcdedit /enum
    
  5. 重新啟動 VM,然後檢查問題是否已解決。

離線修復 VM

將 OS 磁碟連結至復原 VM

  1. 將 OS 磁碟連結至復原 VM
  2. 啟動與復原 VM 的遠端桌面連線。
  3. 請確定磁碟在磁碟管理控制台中標示為 [在線 ]。 請注意指派給連結 OS 磁碟的驅動器號。

開啟傾印記錄與序列主控台 (選擇性 )

如果本文中的解決方案無法解決問題,傾印記錄和序列控制台可協助我們進行進一步的疑難解答。

若要啟用傾印記錄和序列主控台,請執行下列腳本。

  1. 開啟提升許可權的命令提示字元會話(以系統管理員身分執行)。

  2. 執行下列指令碼:

    在此腳本中,我們假設指派給連結 OS 磁碟的驅動器號為 F。請將此驅動器號取代為您的 VM 的適當值。

    PowerShell
    reg load HKLM\BROKENSYSTEM F:\windows\system32\config\SYSTEM
    
    REM Enable Serial Console
    bcdedit /store F:\boot\bcd /set {bootmgr} displaybootmenu yes
    bcdedit /store F:\boot\bcd /set {bootmgr} timeout 5
    bcdedit /store F:\boot\bcd /set {bootmgr} bootems yes
    bcdedit /store F:\boot\bcd /ems {<BOOT LOADER IDENTIFIER>} ON
    bcdedit /store F:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200
    
    REM Suggested configuration to enable OS Dump
    REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    
    REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    
    reg unload HKLM\BROKENSYSTEM
    

將 Windows 設定為開機進入一般模式

  1. 開啟提升許可權的命令提示字元會話(以系統管理員身分執行)。

  2. 檢查開機組態數據。 在下列命令中,我們假設指派給連結 OS 磁碟的驅動器號為 F。請將此驅動器號取代為 VM 的適當值。

    主控台
    bcdedit /store F:\boot\bcd /enum
    

    記下具有 \windows 資料夾之分割區的識別元名稱。 根據預設,標識碼名稱為 「Default」。

    如果 VM 設定為開機進入安全模式,您會在名為 safeboot 的 Windows 開機載入器區段下看到額外的旗標 如果您沒有看到 safeboot 旗標 ,本文不適用於您的案例。

    Windows 開機載入器區段下安全開機旗標的螢幕快照。

  3. 拿掉 safeboot 旗標,讓 VM 開機進入一般模式:

    主控台
    bcdedit /store F:\boot\bcd /deletevalue {Default} safeboot
    
  4. 檢查開機組態數據,以確定 已移除safeboot旗標

    主控台
    bcdedit /store F:\boot\bcd /enum
    
  5. 中斷連結OS磁碟並重新建立 VM。 然後檢查問題是否已解決。

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。