오류 개요
컴퓨터나 서버의 하드웨어(메인보드, 드라이브 컨트롤러 등)를 교체하거나, 백업본에서 시스템 이미지를 복원하거나, 물리 서버를 가상화 환경으로 마이그레이션(P2V)한 직후 Windows Server 2008 R2 또는 Windows 7을 처음 부팅할 때 다음과 같은 BSOD(블루스크린) 오류가 나타날 수 있습니다.
STOP: 0x0000007B (0xFFFFF880009A9928, 0xFFFFFFFFC0000034, 0x0000000000000000, 0x0000000000000000)
이 정지 코드는 INACCESSIBLE_BOOT_DEVICE(부팅 장치 접근 불가) 오류에 해당하며, 새로운 서버(물리 컴퓨터 또는 가상 머신)의 하드 디스크 컨트롤러가 기존 장비와 다를 때 발생합니다. 부팅 과정에서 새 컨트롤러에 필요한 드라이버가 로드되지 않아 Windows가 시작되지 못하는 것입니다.

오류가 발생하는 대표적인 상황
- 백업본에서 다른 물리 컴퓨터나 Hyper-V / VMware / VirtualBox 가상 머신으로 OS를 복원할 때 (Bare Metal Recovery를 다른 하드웨어로 복구하는 경우 포함)
- 디스크 이미지(예: disk2vhd로 생성)를 이용해 물리 시스템을 마이그레이션하고, 해당 이미지로 새 가상 머신을 배포할 때
- BIOS에서 SATA 컨트롤러 모드를 AHCI에서 IDE로, 또는 그 반대로 전환한 후
- 메인보드 및/또는 하드 드라이브 컨트롤러를 교체한 후
실제 사례에서는 Windows Server 2008 R2가 설치된 물리 서버를 VMware 환경으로 마이그레이션하는 과정에서 문제가 발생했으며, VM을 처음 시작할 때 블루스크린이 나타났습니다. 디버그 모드에서 확인해 보면 Windows 부팅이 CLASSPNP.SYS 드라이버 로드 단계에서 멈추는 것을 알 수 있습니다.

0x0000007B 오류 해결 방법
오류를 수정하려면 Windows 설치 미디어(Windows 7 / 2008 R2 이상)나 부팅 디스크(예: DART)로 부팅해야 합니다. Windows 설치 디스크를 사용하는 경우 첫 번째 설치 화면(언어 및 키보드 레이아웃 선택 화면)에서 Shift+F10을 누르면 명령 프롬프트 창이 열립니다. 여기서 다음 명령을 실행합니다.
Regedit.exe
1단계: 시스템 레지스트리 하이브 로드
레지스트리 편집기에서 HKEY_LOCAL_MACHINE을 선택한 후 메뉴에서 파일(File) → 하이브 로드(Load Hive)를 클릭합니다. 로컬 서버 드라이브(WinPE 디스크와 혼동하지 않도록 주의)에서 \Windows\System32\config\SYSTEM 파일을 선택합니다. 이 파일에는 로컬 Windows의 시스템 레지스트리 정보가 저장되어 있습니다.
이렇게 하면 하드 디스크에 있는 시스템의 레지스트리 하이브가 레지스트리 편집기에 마운트됩니다(예: local_hkey라는 이름).

2단계: 스토리지 컨트롤러 드라이버 시작 값 변경
로드된 하이브에서 HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services 키로 이동한 뒤, 다음 레지스트리 키를 찾습니다.
- Atapi
- Intelide
- LSI_SAS
각 키에서 이름이 Start인 REG_DWORD 값을 찾아 값을 0(0x00000000)으로 변경합니다.
오류가 발생하기 전에 SATA 컨트롤러 모드를 AHCI로 전환했다면 msahci 섹션에서도 Start 값을 0으로 설정해야 합니다.
참고: Start=0은 해당 서비스가 Windows 시작 시 자동으로 시작됨을 의미하고, Start=3은 수동으로 시작됨을 의미합니다.

3단계: 변경 사항 저장 및 재부팅
디스크의 로컬 레지스트리 파일에 변경 사항을 저장하려면 HKEY_LOCAL_MACHINE\local_hkey 키를 선택한 후 메뉴에서 하이브 언로드(Unload Hive)를 클릭합니다.

이제 서버를 재시작하면 Windows가 정상적으로 부팅되며, 새 드라이브 컨트롤러용 드라이버를 자동으로 검색하여 설치합니다. VMware 환경이라면 VMware Tools만 추가로 설치하면 됩니다.
여전히 오류가 발생하는 경우: 컨트롤러별 Start 값 참조표
위 변경 후에도 부팅 시 동일한 INACCESSIBLE_BOOT_DEVICE 오류가 반환된다면, 다른 유형의 디스크 컨트롤러를 사용 중일 가능성이 높습니다. 아래 표를 참고하여 HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services에서 각 서비스의 Start 매개변수 값을 조정해 보세요.
| Windows 서비스 이름 | VMware 가상 머신 | 네이티브 SATA 어댑터를 사용하는 x64 물리 PC | RAID 컨트롤러가 있는 물리 PC |
|---|---|---|---|
| aliide | 3 | 3 | 3 |
| amdide | 3 | 3 | 3 |
| atapi | 0 | 0 | 0 |
| cmdide | 3 | 3 | 3 |
| iastorv | 3 | 3 | 3 |
| intelide | 0 | 3 | 3 |
| msahci | 3 | 0 | 0 |
| pciide | 3 | 0 | 3 |
| viaide | 3 | 3 | 3 |
| LSI_SAS | 0 | 3 | 3 |