다음을 통해 공유


버그 확인 0x7B : INACCESSIBLE_BOOT_DEVICE

INACCESSIBLE_BOOT_DEVICE 버그 검사의 값은 0x0000007B입니다. 이 버그 검사는 시작하는 동안 Microsoft Windows 운영 체제가 시스템 파티션에 액세스할 수 없음을 나타냅니다.

중요합니다

이 문서는 프로그래머를 위한 것입니다. 컴퓨터를 사용하는 동안 파란색 화면 오류 코드를 받은 고객인 경우 파란색 화면 오류 문제 해결을 참조하세요.

매개 변수

매개 변수 설명
1 UNICODE_STRING 구조체의 주소 또는 탑재할 수 없는 디바이스 개체의 주소
2 0
3 0
4 0

매개 변수 1의 의미를 확인하려면 매개 변수 1이 가리키는 데이터를 확인합니다. 이 주소의 첫 번째 단어(USHORT)가 짝수인 경우 매개 변수 1은 유니코드 문자열의 시작입니다. 이 주소의 첫 번째 단어(USHORT)가 0x3인 경우 매개 변수 1은 디바이스 개체의 첫 번째 필드(Type)입니다.

  • 이 매개 변수가 디바이스 개체를 가리키는 경우 부팅 디바이스를 읽어야 하는 파일 시스템이 초기화에 실패했거나 부팅 디바이스의 데이터를 파일 시스템 구조로 인식하지 못했습니다. 이 경우 지정된 디바이스 개체는 탑재할 수 없는 개체입니다.

  • 이 매개 변수가 유니코드 문자열을 가리키는 경우 이 주소에서 처음 8바이트를 읽어야 합니다. 이러한 바이트는 UNICODE_STRING 구조를 형성합니다. 다음 예제에서는 구조체를 정의하는 방법을 보여 줍니다.

    USHORT Length;
    USHORT MaximumLength;
    PWSTR Buffer;
    

    Length 필드는 문자열의 실제 길이를 제공합니다. 버퍼 필드는 문자열의 시작을 가리킵니다. 버퍼 는 항상 0x80000000 이상입니다.

    이 문자열에는 부팅이 시도된 장치의 ARC(Advanced RISC Computing) 사양 이름이 포함되어 있습니다. ARC 이름은 ARC 환경에서 디바이스를 식별하는 일반적인 방법입니다.

원인

INACCESSIBLE_BOOT_DEVICE 버그 검사는 부팅 장치 오류로 인해 자주 발생합니다. I/O 시스템 초기화 중에 부팅 장치 드라이버가 부팅 장치(일반적으로 하드 디스크)를 초기화하지 못했을 수 있습니다.

부팅 장치의 데이터를 인식하지 못했기 때문에 파일 시스템 초기화가 실패했을 수 있습니다. 시스템 파티션을 다시 분할하거나 BIOS 구성을 변경하거나 디스크 컨트롤러를 설치하는 경우에도 이 오류가 발생할 수 있습니다.

이 오류는 호환되지 않는 디스크 하드웨어로 인해 발생할 수 있습니다. 시스템 초기 설치 시 오류가 발생한 경우 시스템이 지원되지 않는 디스크 컨트롤러에 설치되었을 수 있습니다. 일부 디스크 컨트롤러에는 Windows가 시작될 때 다른 드라이버가 있어야 합니다.

이 오류는 스토리지 하드웨어에 오류가 발생하여 Windows의 요청에 응답할 수 없을 때 발생할 수 있습니다.

해결 방법

이 오류는 시스템이 시작되는 동안 항상 발생합니다. 이 오류는 디버거 연결이 설정되기 전에 자주 발생하므로 디버깅이 어려울 수 있습니다. OS가 해당 하위 시스템을 시작할 만큼 충분히 부팅되지 않았기 때문에 OS에 액세스할 수 없고 오류 로그가 비어 있을 수 있습니다. 다음 섹션에서는 Windows를 부팅할 수 없는 경우와 Windows를 부팅할 수 있는 경우 두 상황에 대한 해결 방법을 설명합니다.

Windows를 부팅할 수 없는 경우

이 중지 코드가 표시되고 Windows가 OS로 부팅되지 않는 경우 다음 해결 방법을 시도해 보세요.

  • 최근 하드웨어 변경 사항을 되돌립니다.

    최근에 추가한 하드웨어, 특히 하드 디스크 드라이브 또는 컨트롤러를 제거하여 오류가 해결되었는지 확인합니다. 문제가 있는 하드웨어가 하드 디스크 드라이브인 경우 디스크 펌웨어 버전이 Windows 운영 체제 버전과 호환되지 않을 수 있습니다. 업데이트에 대해서는 제조업체에 문의하십시오. 다른 하드웨어를 제거한 후 오류가 해결되면 IRQ 또는 I/O 포트 충돌이 발생할 수 있습니다. 제조업체의 지침에 따라 새 장치를 다시 구성합니다.

    UEFI에서 레거시에서 AHCI로 컨트롤러 모드를 변경하는 등 최근에 UEFI(BIOS) 설정을 변경한 경우 해당 변경 사항을 되돌립니다. 자세한 내용은 고급 호스트 컨트롤러 인터페이스를 참조하십시오.

  • 저장 장치 호환성을 확인합니다.

    모든 하드 디스크 드라이버, 하드 디스크 컨트롤러 및 기타 스토리지 어댑터가 설치된 Windows 버전과 호환되는지 확인합니다. 예를 들어 Windows 10 사양에서 호환성에 대한 정보를 얻을 수 있습니다.

  • UEFI(BIOS) 및 펌웨어를 업데이트합니다.

    시스템 UEFI(BIOS) 및 스토리지 컨트롤러 펌웨어에 대한 업데이트가 있는지 확인합니다.

  • Windows Media Creation Tool을 사용하여 부팅 가능한 USB 썸 드라이브 또는 DVD를 만듭니다.

    다른 컴퓨터에서 Media Creation Tool을 사용하여 부팅 가능한 USB 썸 드라이브 또는 DVD를 만듭니다. 이 도구를 사용하여 설치 파일을 선택하거나 USB에서 부팅하여 새로 설치를 수행합니다.

    자세한 내용은 Windows 10 다운로드를 참조하세요.

    HDD 대신 USB, FDD(FlashDiskDrive) 또는 DVD에서 부팅하려면 기능을 비활성화하거나 UEFI(BIOS) 메뉴에서 부팅 순서 우선 순위를 변경해야 할 수 있습니다.

    일반적인 부팅 메뉴 키

    부팅 메뉴 키는 제조업체에 따라 다릅니다. 이러한 키는 일반적으로 사용됩니다. PC 설명서를 확인하여 어떤 부팅 키가 사용되는지 확인합니다.

    자주 사용되는 부팅 메뉴 키는 다음과 같습니다.
    F12
    ESC
    F9 키
    F10 키
    F8 키

    일반 UEFI(BIOS) 설정 키

    UEFI(BIOS) 설정 키는 제조업체에 따라 다릅니다. 이러한 키는 일반적으로 사용됩니다. PC 설명서를 확인하여 어떤 설치 키가 사용되는지 확인합니다.

    자주 사용되는 UEFI(BIOS) 설정 키는 다음과 같습니다.
    ESC

    F2 (키보드 기능 키 F2)

Windows를 부팅할 수 있는 경우

이 중지 코드가 표시되고 Windows가 부팅되면 다음 해결 방법을 시도해 보세요.

  • 안전 모드로 부팅한 다음 정상적으로 부팅합니다.

    안전 모드로 부팅하면 스토리지 시스템에 다시 액세스할 수 있는 핵심 스토리지 드라이버 세트가 로드됩니다. 안전 모드로 부팅하려면 다음 단계를 완료하십시오.

    1. 설정에서업데이트 및 보안을 선택합니다.
    2. 복구 > 고급 시작을 선택하여 유지 관리 모드로 부팅합니다.
    3. 결과 메뉴에서 Troubleshoot > Advanced Options > Startup Settings > Restart를 선택합니다.
    4. Windows가 시작 설정 화면으로 다시 시작되면 옵션 4, 5 또는 6을 선택하여 안전 모드로 부팅합니다.

    Windows가 안전 모드로 로드되면 PC를 다시 시작하여 적절한 저장 장치 드라이버가 로드되고 저장 장치가 인식되는지 확인합니다.

    안전 모드는 부팅 시 기능 키(예: F8)를 눌러 사용할 수도 있습니다. 특정 시작 옵션에 대해서는 시스템 제조업체의 정보를 참조하십시오.

  • 디스크 검사 유틸리티를 사용하여 파일 시스템 오류가 없는지 확인합니다. 스캔하려는 드라이브를 길게 선택(또는 마우스 오른쪽 버튼으로 클릭)하고 Properties > Tools > Check now를 선택합니다.

  • 바이러스 탐지 프로그램을 실행합니다. 바이러스는 Windows용으로 포맷된 모든 유형의 하드 디스크를 감염시킬 수 있으며 이로 인한 디스크 손상으로 인해 시스템 버그 검사 코드가 생성될 수 있습니다. 바이러스 감지 프로그램이 마스터 부트 레코드에 감염 여부를 확인하는지 확인합니다.

  • IDE 장치의 경우 온보드 IDE 포트를 Primary only(기본)로만 정의합니다. 또한 각 IDE 장치에 적절한 마스터/종속/독립 실행형 설정이 있는지 확인합니다. 하드 디스크를 제외한 모든 IDE 장치를 제거해 보십시오. 마지막으로 시스템 로그인 이벤트 뷰어에서 오류를 일으키는 장치 또는 드라이버를 식별하는 데 도움이 될 수 있는 다른 오류 메시지가 있는지 확인합니다.

  • 하드 드라이브에 여유 공간이 충분한지 확인합니다. 운영 체제 및 일부 애플리케이션에는 스왑 파일을 만들고 다른 기능을 수행하기에 충분한 여유 공간이 필요합니다. 시스템 구성에 따라 정확한 요구 사항은 달라질 수 있지만, 여유 공간으로 10%에서 15% 정도를 확보하는 것이 좋습니다.

  • 장치 관리자에서 느낌표(!)가 표시된 장치가 있는지 확인합니다. 오류 드라이버에 대한 드라이버 속성에 표시된 이벤트 로그를 검토합니다. 관련 드라이버를 업데이트해 보세요.

  • 시스템 로그인 이벤트 뷰어에서 오류를 일으키는 장치 또는 드라이버를 정확히 찾아내는 데 도움이 될 수 있는 다른 오류 메시지가 있는지 확인합니다. 시스템 로그에서 파란색 화면과 같은 시간 프레임에서 발생한 중요한 오류를 찾습니다.

  • 시스템 제조업체에서 제공한 하드웨어 진단 프로그램을 실행할 수 있습니다.

  • 시스템 파일 검사 도구를 사용하여 누락되거나 손상된 시스템 파일을 복구합니다. 시스템 파일 검사기는 사용자가 Windows 시스템 파일의 손상을 검색하고 손상된 파일을 복원할 수 있는 Windows의 유틸리티입니다. 다음 명령을 사용하여 시스템 파일 검사 도구(SFC.exe)를 실행합니다.

    SFC /scannow
    

    자세한 내용은 시스템 파일 검사 도구를 사용하여 누락되거나 손상된 시스템 파일을 복구하는 방법을 참조하세요.

  • 자동 복구 후 옵션 선택 화면에서 고급 옵션 > 시스템 복원 문제 해결을 >선택합니다. 이 옵션을 사용하면 PC를 시스템 복원 지점이라고 하는 이전 시점으로 되돌릴 수 있습니다. 복원 지점은 새 앱, 드라이버, 업데이트를 설치하거나 수동으로 복원 지점을 만들 때 생성됩니다. 오류가 발생하기 전의 복원 지점을 선택합니다.

  • 커널 디버거를 사용하여 시스템에 연결하고 설명에 설명된 대로 오류를 추가로 분석합니다.

비고

스토리지 시스템 구성을 조사합니다.
원인을 좁히려면 Windows가 설치된 부팅 장치에 대해 가능한 한 많이 아는 것이 도움이 됩니다. 예를 들어 다음 항목을 조사할 수 있습니다.

  • 부팅 장치가 연결된 컨트롤러 유형(예: SATA 또는 IDE)을 확인합니다. 시스템을 부팅할 수 있는 경우 장치 관리자를 사용하여 컨트롤러 및 디스크 드라이버 속성을 검사할 수 있습니다. 연결된 드라이버 파일 및 오류 이벤트를 볼 수 있습니다.

  • 부팅 장치가 있는 것과 동일한 컨트롤러(예: SSD 또는 DVD)에 다른 장치가 연결되어 있는지 여부를 나타냅니다.

  • 드라이브에서 사용되는 파일 시스템(일반적으로 NTFS)을 확인합니다.

Windows 디버거

커널 디버거를 사용하여 이 오류를 분석하려면 디버거에서 lm(로드된 모듈 나열) 명령을 실행하여 특정 드라이버를 격리하기 위해 로드된 모듈을 확인합니다. 다음 드라이버가 로드되었는지 확인합니다.

디스크

           
0: kd> lm m disk
Browse full module list
start             end                 module name
fffff806`bd0b0000 fffff806`bd0cd000   disk       (deferred)

파트MG

0: kd> lm m partmgr
Browse full module list
start             end                 module name
fffff806`bc5a0000 fffff806`bc5c1000   partmgr    (deferred)

NTFS 파일

0: kd> lm m ntfs
Browse full module list
start             end                 module name
fffff806`bd3f0000 fffff806`bd607000   NTFS       (deferred)

클래스PNP

0: kd> lm m classpnp
Browse full module list
start             end                 module name
fffff806`bd0d0000 fffff806`bd131000   CLASSPNP   (deferred)

증권 시세 표시기

0: kd> lm m pci
Browse full module list
start             end                 module name
fffff806`bc440000 fffff806`bc494000   pci        (deferred) 

컨트롤러 드라이버가 로드되어 있는지 확인하십시오. 예를 들어 SATA RAID 컨트롤러의 경우 드라이버는 iaStorA.Sys 드라이버이거나 EhStorClass 드라이버일 수 있습니다.

0: kd> lm m EhStorClass
Browse full module list
start             end                 module name
fffff806`bcbb0000 fffff806`bcbcb000   EhStorClass   (deferred) 

storahci와 같은 "stor"를 포함하는 드라이버가 있을 수 있습니다.

0: kd> lm m stor*
Browse full module list
start             end                 module name
fffff806`bcb00000 fffff806`bcb23000   storahci   (deferred)             
fffff806`bcb30000 fffff806`bcbaa000   storport   (deferred)             
fffff806`c0770000 fffff806`c0788000   storqosflt   (deferred)

디버거가 연결된 상태로 부팅합니다.

디버거가 연결된 상태에서 대상 시스템을 부팅할 수 있는 경우 버그 검사가 발생할 때 !devnode 0 1 을 실행합니다. 어떤 장치에 드라이버가 없거나 시작되지 않는지 확인할 수 있으며 시작되지 않는 이유가 분명할 수 있습니다.

한 가지 원인은 플러그 앤 플레이 부팅 장치에 리소스를 할당할 수 없기 때문일 수 있습니다. 서비스에 대한 항목을 찾아 이 제한을 확인할 수 있습니다. 상태 플래그에 DNF_INSUFFICIENT_RESOURCES 포함되거나 DNF_STARTED 또는 DNF_ENUMERATED 포함되지 않은 경우 문제를 찾았을 수 있습니다. 전체 장치 트리를 덤프하는 대신 시간을 절약하십시오 !devnode 0 1 storahci .

0: kd> !devnode 0 1 storahci
Dumping IopRootDeviceNode (= 0xffffb9053d94d850)
DevNode 0xffffb9053e8dea50 for PDO 0xffffb9053e8da060
  InstancePath is "PCI\VEN_8086&DEV_3B22&SUBSYS_304A103C&REV_05\3&21436425&0&FA"
  ServiceName is "storahci"
  State = DeviceNodeStarted (0x308)
  Previous State = DeviceNodeEnumerateCompletion (0x30d)
  DevNode 0xffffb9053e88db30 for PDO 0xffffb9053e890060
    InstancePath is "SCSI\Disk&Ven_&Prod_ST3500418AS\4&23d99fa2&0&000000"
    ServiceName is "disk"
    State = DeviceNodeStarted (0x308)
    Previous State = DeviceNodeEnumerateCompletion (0x30d)
  DevNode 0xffffb9053e88d850 for PDO 0xffffb9053e88e060
    InstancePath is "SCSI\CdRom&Ven_hp&Prod_DVD-RAM_GH60L\4&23d99fa2&0&010000"
    ServiceName is "cdrom"
    TargetDeviceNotify List - f 0xffffdf0ae9bbb0e0  b 0xffffdf0aea874710
    State = DeviceNodeStarted (0x308)
    Previous State = DeviceNodeEnumerateCompletion (0x30d)