Windows VM 문제해결

이 페이지에서는 Windows VM의 문제해결 방법을 설명합니다.

EMS 콘솔에 연결

응급 관리 서비스(EMS) 콘솔을 사용하여 Windows VM 문제를 해결할 수 있습니다.

EMS 콘솔에 연결하려면 다음 안내를 따르세요.

  1. 터미널 또는 Cloud Shell에서 VM의 직렬 포트에 대한 연결을 사용 설정합니다.

    gcloud compute instances add-metadata vm-name --metadata=serial-port-enable=1
    

    vm-name을 직렬 포트를 사용 설정할 VM의 이름으로 바꿉니다.

  2. VM의 직렬 포트 2에서 EMS 콘솔에 연결합니다.

    gcloud compute connect-to-serial-port vm-name --port 2
    

    vm-name을 직렬 포트를 연결할 VM의 이름으로 바꿉니다.

  3. 다음과 비슷한 출력이 표시되는지 확인합니다.

    Computer is booting, SAC started and initialized.
    
    Use the "ch -?" command for information about using channels.
    Use the "?" command for general help.
    
    SAC>
    EVENT: The CMD command is now available.
    SAC>
    
  4. cmd 명령어를 사용하여 새로운 명령 프롬프트 세션을 만들고 다음과 비슷한 출력이 표시되는지 확인합니다.

    The Command Prompt session was successfully launched.
    SAC>
    EVENT:   A new channel has been created.  Use "ch -?" for channel help.
    Channel: Cmd0001
    SAC>
    
  5. ch -si 1 명령어를 사용하여 새로운 명령 프롬프트 세션에 연결하고 다음과 비슷한 출력이 표시되는지 확인합니다.

    Name:                  Cmd0001
    Description:           Command
    Type:                  VT-UTF8
    Channel GUID:          28de7392-5413-11ea-bb03-c9656a2ed613
    Application Type GUID: 63d02271-8aa4-11d5-bccf-00b0d014a2d0
    
    Press <esc><tab> for next channel.
    Press <esc><tab>0 to return to the SAC channel.
    Use any other key to view this channel.
    
  6. Enter를 눌러 세션에 연결합니다.

  7. 이 VM의 로그인 사용자 인증 정보를 입력하여 세션에 로그인하면 C:\Windows\system32 디렉터리에서 EMS 콘솔이 열립니다.

    • EMS 콘솔에서 사용할 수 있는 명령어 목록을 확인하려면 help를 입력합니다.

RDP 연결 문제해결

RDP(Remote Desk Protocol)를 사용하여 VM에 연결할 수 없으면 다음을 시도해 보세요.

  1. EMS 콘솔에 연결합니다.

  2. EMS 콘솔에서 다음 명령어를 입력합니다.

    reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
    
    net stop TermService
    
    net start TermService
    

고급 부팅 옵션 사용 설정

Windows 부팅 관리자(BOOTMGR)를 사용하여 안전 모드로 설정하고 고급 부팅 옵션에 액세스할 수 있습니다.

고급 부팅 옵션을 사용 설정하려면 다음 안내를 따르세요.

  1. 터미널 또는 Cloud Shell에서 VM의 직렬 포트에 대한 연결을 사용 설정합니다.

    gcloud compute instances add-metadata vm-name --metadata serial-port-enable=1
    

    vm-name을 직렬 포트를 사용 설정할 VM의 이름으로 바꿉니다.

  2. RDP를 사용하여 Windows VM에 연결합니다.

    RDP를 사용하여 인스턴스에 액세스할 수 없으면 Cloud Console 또는 gcloud 도구를 사용하여 인스턴스를 재설정할 수 있습니다.

  3. 관리 명령 프롬프트에서 다음 명령어를 실행합니다.

    bcdedit /set {bootmgr} displaybootmenu yes
    
    bcdedit /set {bootmgr} timeout 10
    
    bcdedit /set {bootmgr} bootems yes
    
  4. Cloud Console 또는 gcloud 명령줄 도구를 사용하여 직렬 포트 2에서 대화형 직렬 콘솔에 연결합니다.

    gcloud compute connect-to-serial-port vm-name --port 2
    

    vm-name을 직렬 포트를 연결할 VM의 이름으로 바꿉니다.

  5. 사용자 인터페이스나 명령 프롬프트에서 인스턴스를 다시 시작합니다.

    shutdown /r /f
    
  6. 대화형 직렬 콘솔에 Windows 부팅 관리자가 나타나는지 확인합니다.

    Windows 부팅 관리자 화면

  7. Windows 부팅 관리자에서 시작할 운영체제를 선택합니다.

  8. Esc + 8을 눌러 고급 부팅 옵션을 엽니다.

    고급 부팅 옵션 화면

블루 스크린 오류 문제해결

Windows OS가 다운되면 블루 스크린에 오류가 표시될 수 있습니다. 이 블루 스크린을 BSoD(Blue Screen Of Death)라고도 합니다. 블루 스크린 오류가 발생하면 현재 로드된 모듈 목록과 스택 trace는 직렬 포트 1로 전송됩니다.

  1. 20191112 이후 버전의 Windows 이미지에는 로드된 모듈 목록과 스택 trace를 직렬 포트 1로 보낼 수 있는 드라이버가 포함됩니다. 장애가 발생한 Windows VM에서 20191112 이전 버전의 Windows 이미지를 실행하는 경우 Windows VM의 관리자 권한 명령 프롬프트에서 다음 명령어를 실행하여 드라이버를 설치합니다.

    googet install google-compute-engine-driver-pvpanic
    
  2. 터미널 또는 Cloud Shell에서 VM의 직렬 포트에 대한 연결을 사용 설정합니다.

    gcloud compute instances add-metadata vm-name --metadata serial-port-enable=1
    

    vm-name을 직렬 포트를 사용 설정할 VM의 이름으로 바꿉니다.

  3. VM의 직렬 포트 1에 연결합니다.

    gcloud compute instances get-serial-port-output vm-name --port 1
    

    vm-name을 직렬 포트를 연결할 VM의 이름으로 바꿉니다.

  4. 블루 스크린 오류가 발생하면 로드된 모듈 목록과 스택 trace는 직렬 포트 1로 전송됩니다. 이 출력에서 다음은 로드된 모듈 목록의 끝부분과 스택 trace의 시작 부분을 나타냅니다.

    Dumping stack trace:
    
  5. 버그 확인 코드 참조를 확인하여 문제의 범위를 좁힙니다.

라이선스 문제

기본적으로 Compute Engine Windows VM은 TCP 포트 1688을 통해 KMS 서버에 자동으로 연결하여 7일마다 라이선스를 갱신합니다. Windows VM에서 라이선스 만료 또는 라이선스와 관련된 다른 문제에 관한 메시지를 받는 경우 다음을 수행하세요.

  1. Windows VM에 IP 주소가 KMS 서버와의 통신을 허용하기 위해 구성되어 있는지 확인합니다.

  2. TCP 포트 1688을 통해 kms.windows.googlecloud.com에 연결할 때 연결을 차단하는 방화벽 이그레스 규칙이 없는지 확인합니다.

  3. 라이선스 문제가 계속되면 관리자 권한 명령 프롬프트에서 다음 명령어를 실행하여 KMS의 IP 주소를 강제 설정하고 강제로 활성화합니다.

    cscript \windows\system32\slmgr.vbs /skms 35.190.247.13:1688
    
    cscript \windows\system32\slmgr.vbs /ato
    

다음 단계