상세 컨텐츠

본문 제목

CrowdStrike BSOD 에러 수정(cloud)

Dev Type

by ai developer 2024. 7. 25. 18:30

본문

 

어느 날 클라우드에 접속하려 하니 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개의 스크립트로 간단히 문제가 해결됩니다.

300x250

관련글 더보기

댓글 영역