어느 날 클라우드에 접속하려 하니 RDP 접속이 되지 않았다.
왜 안되지? 서버가 꺼졌나 싶어 클라우드 콘솔을 확인해 봤지만 status: Running 상태...;
해킹을 당했나 싶어 고민하다 결국 서버실 엔지니어분께 연락해 확인해 보니 위와 같이 계속 재시작을 반복하고 있었다.
서버실 엔지니어분이 요새 화제가 되고 있는 CrowdStrike 에러인 것 같다고 말했고, 그게 뭔지 검색해 보니 간단한 해결 방법이 있어 이를 엔지니어분께 전달해 문제를 해결할 수 있었다. 결국 집 컴퓨터에서 위와 같은 오류가 있다고 하면 아래와 같이 해결하면 된다.
1. 재부팅을 한다.
2. 부팅 모드를 안전모드로 하여 윈도우를 실행한다.
3. 안전모드에서 Windows/System32/Drivers/CrowdStrike/C-00000291*.sys (*는 이후의 문자가 무엇이든 291까지만 일치하면 .sys 확장자인 경우 모두 지우라는 말) 를 지워준다.
4. 다시 재부팅하여 정상모드로 실행한다.
직접 작업한 건 아니지만 이렇게만 전달하니 문제가 해결됐다.
그런데 문제는 외국 클라우드 회사들이다. 외국 클라우드 회사들도 연락이 되는 사람들도 있지만 나는 연락처가 없다. 그래서 어떻게 하지 하고 찾던 중 Azure의 경우 이 링크를 참조해 수정하면 됐다. 난 이 링크에서 옵션 2를 이용해 해결했다.
과정은 간단하다. 복구 VM을 만들고, 문제가 있는 VM의 OS Disk를 Copy한 후 복구 VM에 Copy한 OS Disk를 장착합니다.
그런 뒤 복구 VM을 같은 Resource Group에 만들어 줍니다. MS 에서 이 과정을 한번에 할 수 있게 script를 만들어 줌.
우선 Azure Shell을 열고 복구가 필요한 VM이 있는 구독으로 셋팅합니다.
az account set --subscription "<구독 이름>"
그런 뒤 아래 스크립트를 실행합니다. (RGNAME: Resource Group이름, BROKENVMNAME: 무한재부팅중인VM)
az vm repair create -g RGNAME -n BROKENVMNAME --verbose
여기서 만약 VM이 Encrypt 되어 있다면 뒤에 --unlock-encrypted-vm 을 붙여줘야 합니다.
VM 구성이 완료되면 이제 복구 스크립트를 동작시킵니다. (여기서 291 파일을 제거하는 것으로 예상함)
az vm repair run -g RGNAME -n BROKENVMNAME --run-id win-crowdstrike-fix-bootloop --run-on-repair --verbose
이제 마지막 과정은 이제 복구 VM의 고쳐진 OS Disk를 복사하고 무한 재부팅 중인 VM을 종료하고 고쳐진 OS Disk를 장착합니다. 그리고 다시 고쳐진 VM을 실행하고 복구용 VM을 제거합니다.
az vm repair restore -g RGNAME -n BROKENVMNAME --verbose
위 3개의 스크립트로 간단히 문제가 해결됩니다.
스마트폰(안드로이드) USB 디버깅하기! (0) | 2024.08.31 |
---|---|
Golang에는 Set이 없어요... (0) | 2024.08.29 |
Pre-Trained AI를 활용해 Serverless로 Image 에서 Text Extractor 및 Translator 구축하기 (1) | 2024.07.16 |
paramiko ssh stdin.write 명령어 사용 시 OSError: socket is closed 발생 (0) | 2024.07.02 |
🏆 2024년 4월 가장 인기 있는 필수 솔루션 10개 (0) | 2024.05.24 |
댓글 영역