사전 준비
https://maruseol-a.tistory.com/343
MEMZ 바이러스 복구 (BIOS)
사전 준비 실습 환경 : Oracle VirtualBox - Windows 10 BIOS 방식의 디스크, 파티션 정보여기서 중요하게 확인할 점은 볼륨 정보 중 시스템 파티션과 부팅 파티션 ※ UEFI 방식의 디스크도 비슷한 방법으로
maruseol-a.tistory.com
BIOS 환경의 복구 방법과 다른 점이 몇 가지 있는데 그 부분에 대해서만 기술할 것이다.
우선 BIOS 복구 방법에 대해서 먼저 확인하고 오길 바란다.
UEFI 환경에서 MEMZ 바이러스를 실행할 경우 GPT 디스크의 헤더가 손상된다.
이로 인해 PE 환경에서 복구할 때 MBR 디스크로 보이게 된다.
복구
PE 환경으로 부팅한다.
UEFI 복구환경 부팅 방법은 아래 글을 참조한다.
https://maruseol-a.tistory.com/345
Oracle VirtualBox UEFI 모드에서 USB 부팅 방법
우선 부팅할 USB 디스크 (UEFI)를 PC에 연결한 후 VirtualBox 가상머신 설정 창 열기USB 탭에서 아래와 똑같이 설정해준다. 가상 머신을 실행한다.가상 머신 창이 뜨고 F2를 연타하면 UEFI 설정 창에 진입
maruseol-a.tistory.com
우선 BIOS 환경에서 사용했던 파티션 복구 툴을 이용하여 파티션을 복구한다.
그 이후, MBR 디스크를 GPT 디스크로 변환한다.
GPT 헤더가 손상되면서 추가로 사용할 툴이 더 있다.
이 글에서는 gdisk64를 사용한다. CUI 방식으로 GPT 디스크의 복구를 도와주는 툴이다.
명령프롬프트를 실행하여 gdisk64.exe가 있는 경로로 이동 후 아래 명령어를 입력한다.
gdisk64.exe \\.\physicaldrive0
Your answer : 에 2를 입력 후 Enter
그러면 커맨드 창이 나온다.
?를 입력하여 도움말을 확인할 수도 있다.
v를 입력해서 디스크를 검증해본다.
위 결과에 대해 요약하자면 GPT 파티션 테이블이 이미 손상되었다는 의미이다.
정상적인 디스크의 경우에는 No problems로 문제가 없다고 나온다.
GPT 파티션 테이블을 복구하기 위해 명령 창에 x를 입력하여 엑스퍼트 모드로 진입한다.
그 이후 ?를 눌러 도움말을 확인해보자.
우리는 GPT 파티션 테이블을 복구할 것이다.
우선 z를 입력하여 GPT 구조를 제거한다.
실행할 건지 물어보면 y를 입력한다.
입력이 완료되면 자동으로 gdisk에서 빠져나가진다.
다시 gdisk64.exe \\.\physicaldrive0 명령어를 입력하여 gdisk에 진입한다.
그럼 새로운 GPT 디스크 파티션을 만들것인지 물어보는데 y를 입력하여 진행한다.
이후 커맨드 입력창이 나오면 n 입력
여기서부터는 GPT 파티션 테이블을 다시 재구성한다.
기존에 존재했던 파티션 구조를 참조하여 파티션을 설정할 것이다.
아래 순서대로 입력한다.
1, 2048, 206847, EF00
위 스크린샷에 대한 설명 (출처 : ChatGPT)
> 1 : 1번 파티션에 대해
> 2048 : 시작 섹터
> 206847 : 끝 섹터
> Hex Code : EF00
위 구조로 GPT 파티션을 1개 생성한 것이다.
참고로 1섹터는 512바이트다.
끝 섹터 206,847 - 시작 섹터 2,048 = 204,799 (100MB)
이후의 파티션도 n 입력 후 위 순서대로 입력하여 파티션을 만들어준다.
GPT 파티션 테이블 생성이 완료되었다.
마지막으로 w를 눌러 파티션 테이블을 저장 후 CTRL+C를 눌러 gdisk를 종료한다.
그 다음 bcdedit 명령어를 실행 시 아래처럼 나온다면 정상적으로 처리된 것이다.
diskpart 진입 후 list vol 입력
E드라이브의 경우 주 파티션, FAT32 드라이브의 경우 시스템 파티션이다.
sel vol 2, assign letter=Z 명령어를 통해 시스템 파티션에 Z 드라이브를 지정한다
이후 exit로 DISKPART를 빠져나간 후 아래 명령어를 입력한다.
이후 bcdedit 명령어를 입력하면 Windows 부팅 로더가 새로 만들어진것을 확인할 수 있다.
그리고 device가 unknown으로 되어있는 것을 delete 명령어를 통해 부팅 로더 한 가지를 삭제한다.
부팅 로더의 identifier의 값을 bcdedit /delete { id } 부분에 입력하면 된다.
복구 완료
이후 재부팅을 하여 정상 부팅해본다.
GPT 디스크도 잘 복구되었다.
'Windows 복구' 카테고리의 다른 글
Oracle VirtualBox UEFI 모드에서 USB 부팅 방법 (0) | 2025.06.29 |
---|---|
시스템 펌웨어가 BIOS인지 UEFI인지 확인하는 방법 (0) | 2025.06.29 |
MEMZ 바이러스 복구 (BIOS) (0) | 2025.06.29 |