Udostępnij przez


Sprawdzanie błędów 0x7B: INACCESSIBLE_BOOT_DEVICE

Sprawdzanie błędów INACCESSIBLE_BOOT_DEVICE ma wartość 0x0000007B. To sprawdzanie błędów wskazuje, że system operacyjny Microsoft Windows utracił dostęp do partycji systemowej podczas uruchamiania.

Ważne

Ten artykuł jest przeznaczony dla programistów. Jeśli jesteś klientem, który otrzymał kod błędu niebieskiego ekranu podczas korzystania z komputera, zobacz Rozwiązywanie problemów z błędami niebieskiego ekranu.

Parametry

Parametr Opis
1 Adres struktury UNICODE_STRING lub adres obiektu urządzenia, którego nie można zamontować
2 0
3 0
4 0

Aby określić znaczenie parametru 1, przyjrzyj się danym, na które wskazuje. Jeśli pierwsze słowo (USHORT) pod tym adresem jest parzyste, to parametr 1 jest początkiem ciągu znaków Unicode. Jeśli pierwszym słowem (USHORT) pod tym adresem jest 0x3, to parametr 1 jest pierwszym polem (typem) obiektu urządzenia.

  • Jeśli ten parametr wskazuje obiekt urządzenia, oznacza to, że system plików, który miał odczytać urządzenie rozruchowe, nie został zainicjowany lub nie rozpoznał danych na urządzeniu rozruchowym jako struktury systemu plików. W takiej sytuacji określony obiekt urządzenia jest obiektem, którego nie można zainstalować.

  • Jeśli ten parametr wskazuje na ciąg znaków Unicode, należy odczytać pierwsze 8 bajtów pod tym adresem. Te bajty tworzą strukturę UNICODE_STRING. Poniższy przykład pokazuje, jak jest zdefiniowana struktura:

    USHORT Length;
    USHORT MaximumLength;
    PWSTR Buffer;
    

    Pole Długość podaje rzeczywistą długość ciągu. Pole Bufor wskazuje początek ciągu. Bufor jest zawsze co najmniej 0x80000000.

    Ciąg zawiera nazwę specyfikacji Advanced RISC Computing (ARC) urządzenia, z którego próbowano uruchomić urządzenie. Nazwy ARC to ogólny sposób identyfikowania urządzeń w środowisku ARC.

Przyczyna

Sprawdzanie błędów INACCESSIBLE_BOOT_DEVICE często występuje z powodu awarii urządzenia rozruchowego. Podczas inicjowania systemu we/wy sterownik urządzenia rozruchowego mógł nie zainicjować urządzenia rozruchowego, zwykle dysku twardego.

Inicjalizacja systemu plików mogła zakończyć się niepowodzeniem, ponieważ nie rozpoznał danych na urządzeniu rozruchowym. Ponowne partycjonowanie partycji systemowej, zmiana konfiguracji systemu BIOS lub zainstalowanie kontrolera dysku może również spowodować ten błąd.

Ten błąd może wystąpić z powodu niezgodnego sprzętu dyskowego. Jeśli błąd wystąpił podczas początkowej konfiguracji systemu, system mógł zostać zainstalowany na nieobsługiwanym kontrolerze dysku. Niektóre kontrolery dysków wymagają, aby inne sterowniki były obecne podczas uruchamiania systemu Windows.

Ten błąd może wystąpić, gdy sprzęt pamięci masowej uległ awarii i nie jest w stanie odpowiedzieć na żądanie systemu Windows.

Rezolucja

Ten błąd występuje zawsze podczas uruchamiania systemu. Ten błąd często występuje przed nawiązaniem połączenia z debugerem, więc debugowanie może być trudne. System operacyjny może być niedostępny, a dzienniki błędów mogą być puste, ponieważ system operacyjny nie uruchomił się wystarczająco daleko, aby uruchomić te podsystemy. W poniższych sekcjach wyjaśniono rozwiązania w obu sytuacjach, jeśli nie możesz uruchomić systemu Windows i jeśli możesz uruchomić system Windows.

Jeśli nie możesz uruchomić systemu Windows

Jeśli otrzymasz ten kod zatrzymania, a system Windows nie uruchomi się dalej w systemie operacyjnym, wypróbuj następujące rozwiązania:

  • Cofnij ostatnie zmiany sprzętowe.

    Usuń ostatnio dodany sprzęt, zwłaszcza dyski twarde lub kontrolery, aby sprawdzić, czy błąd został rozwiązany. Jeśli problematycznym sprzętem jest dysk twardy, wersja oprogramowania układowego dysku może być niezgodna z używaną wersją systemu operacyjnego Windows. Skontaktuj się z producentem, aby uzyskać aktualizacje. Jeśli usunąłeś inny sprzęt i błąd został rozwiązany, mogą wystąpić konflikty portów IRQ lub I/O. Skonfiguruj ponownie nowe urządzenie zgodnie z instrukcjami producenta.

    Jeśli ostatnio wprowadzono zmiany w ustawieniach UEFI (BIOS), takie jak zmiana trybu kontrolera ze starszej wersji na AHCI w UEFI, cofnij te zmiany. Aby uzyskać więcej informacji, zobacz Zaawansowany interfejs kontrolera hosta.

  • Sprawdź kompatybilność urządzenia pamięci masowej.

    Upewnij się, że wszystkie sterowniki dysków twardych, kontrolery dysków twardych i wszelkie inne adaptery pamięci masowej są zgodne z zainstalowaną wersją systemu Windows. Na przykład informacje o zgodności można uzyskać w specyfikacjach systemu Windows 10.

  • Zaktualizuj UEFI (BIOS) i oprogramowanie układowe.

    Sprawdź dostępność aktualizacji systemu UEFI (BIOS) i oprogramowania układowego kontrolera pamięci masowej.

  • Za pomocą narzędzia Windows Media Creation Tool można utworzyć rozruchowy napęd USB lub dysk DVD.

    Użyj narzędzia Media Creation Tool na innym komputerze, aby utworzyć rozruchowy pendrive USB lub DVD. Użyj tego narzędzia, aby przeprowadzić czystą instalację, wybierając plik instalacyjny lub uruchamiając komputer z USB.

    Aby uzyskać więcej informacji, zobacz Pobieranie systemu Windows 10.

    Może być konieczne wyłączenie funkcji lub zmiana priorytetu sekwencji rozruchowej w menu UEFI (BIOS) w celu rozruchu z USB, FDD (FlashDiskDrive) lub DVD zamiast dysku twardego.

    Typowe menu startowego

    menu rozruchu różnią się w zależności od producenta. Te klucze są powszechnie używane. Zapoznaj się z dokumentacją komputera, aby określić, jaki klucz rozruchowy jest używany.

    Często używane menu startowego to:
    F12
    ESC
    F9
    F10
    F8

    Typowe klucze konfiguracji interfejsu UEFI (BIOS)

    Klucze konfiguracji UEFI (BIOS) różnią się w zależności od producenta. Te klucze są powszechnie używane. Zapoznaj się z dokumentacją komputera, aby określić, jaki klucz konfiguracji jest używany.

    Często używane klucze konfiguracji UEFI (BIOS) to:
    ESC
    DEL
    F2

Jeśli możesz uruchomić system Windows

Jeśli otrzymasz ten kod zatrzymania, a system Windows uruchomi się, wypróbuj następujące rozwiązania:

  • Uruchom komputer w trybie awaryjnym, a następnie uruchom się normalnie.

    Rozruch w trybie awaryjnym ładuje podstawowy zestaw sterowników pamięci masowej, które umożliwiają ponowny dostęp do systemu pamięci masowej. Wykonaj następujące czynności, aby uruchomić komputer w trybie awaryjnym:

    1. W obszarze Ustawienia wybierz pozycję Aktualizacja i zabezpieczenia.
    2. Wybierz opcję Odzyskiwanie > Uruchamianie zaawansowane , aby uruchomić komputer w trybie konserwacji.
    3. W wyświetlonym menu wybierz opcję Rozwiązywanie problemów > z opcjami > zaawansowanymi Ustawienia uruchamiania Uruchom > ponownie.
    4. Po ponownym uruchomieniu systemu Windows na ekranie Ustawienia uruchamiania wybierz opcję 4, 5 lub 6, aby uruchomić tryb awaryjny.

    Po załadowaniu systemu Windows w trybie awaryjnym uruchom ponownie komputer, aby sprawdzić, czy załadowane zostały odpowiednie sterowniki pamięci masowej i czy urządzenie pamięci masowej zostało rozpoznane.

    Tryb awaryjny może być również dostępny po naciśnięciu funkcyjnego podczas rozruchu, na przykład F8. Zapoznaj się z informacjami dostarczonymi przez producenta systemu, aby uzyskać informacje o konkretnych opcjach uruchamiania.

  • Użyj narzędzia scan disk, aby potwierdzić, że nie ma błędów systemu plików. Wybierz i przytrzymaj (lub kliknij prawym przyciskiem myszy) dysk, który chcesz przeskanować, a następnie wybierz Narzędzia właściwości > Sprawdź > teraz.

  • Uruchom program wykrywania wirusów. Wirusy mogą infekować wszystkie typy dysków twardych sformatowanych dla systemu Windows, a wynikające z tego uszkodzenie dysku może generować kody sprawdzania błędów systemu. Upewnij się, że program do wykrywania wirusów sprawdza główny rekord rozruchowy pod kątem infekcji.

  • W przypadku urządzeń IDE zdefiniuj wbudowany port IDE jako tylko podstawowy. Sprawdź również każde urządzenie IDE pod kątem prawidłowego ustawienia głównego/podrzędnego/autonomicznego . Spróbuj usunąć wszystkie urządzenia IDE z wyjątkiem dysków twardych. Na koniec sprawdź dziennik systemu w Podglądzie zdarzeń pod kątem innych komunikatów o błędach, które mogą pomóc w zidentyfikowaniu urządzenia lub sterownika, który powoduje błąd.

  • Upewnij się, że na dysku twardym jest wystarczająca ilość wolnego miejsca. System operacyjny i niektóre aplikacje wymagają wystarczającej ilości wolnego miejsca do tworzenia plików wymiany i wykonywania innych funkcji. W zależności od konfiguracji systemu dokładne wymaganie różni się, ale warto mieć 10% do 15% wolnego miejsca.

  • Zajrzyj do Menedżera urządzeń , aby zobaczyć, czy jakieś urządzenia są oznaczone wykrzyknikiem (!). Przejrzyj dziennik zdarzeń wyświetlany we właściwościach sterownika dla sterownika, który uległ uszkodzeniu. Spróbuj zaktualizować powiązany sterownik.

  • Sprawdź dziennik systemu w Podglądzie zdarzeń, aby uzyskać inne komunikaty o błędach, które mogą pomóc w zidentyfikowaniu urządzenia lub sterownika, który powoduje błąd. Poszukaj błędów krytycznych w dzienniku systemu, które wystąpiły w tym samym przedziale czasu co niebieski ekran.

  • Możesz spróbować uruchomić diagnostykę sprzętu dostarczoną przez producenta systemu.

  • Użyj narzędzia do sprawdzania plików systemowych, aby naprawić brakujące lub uszkodzone pliki systemowe. Systemowy moduł sprawdzania plików to narzędzie w systemie Windows, które umożliwia użytkownikom skanowanie pod kątem uszkodzeń w plikach systemowych systemu Windows i przywracanie uszkodzonych plików. Użyj następującego polecenia, aby uruchomić narzędzie systemowego sprawdzania plików (SFC.exe).

    SFC /scannow
    

    Aby uzyskać więcej informacji, zobacz Używanie narzędzia do sprawdzania plików systemowych w celu naprawy brakujących lub uszkodzonych plików systemowych.

  • Po automatycznej naprawie na ekranie Wybierz opcję wybierz opcję Rozwiązywanie problemów z > opcjami > zaawansowanymi Przywracanie systemu. Ta opcja przenosi komputer z powrotem do wcześniejszego punktu w czasie, nazywanego punktem przywracania systemu. Punkty przywracania są generowane podczas instalowania nowej aplikacji, sterownika, aktualizacji lub ręcznego tworzenia punktu przywracania. Wybierz punkt przywracania, zanim wystąpił błąd.

  • Użyj debuggera jądra, aby dołączyć do systemu i dalej analizować awarię zgodnie z opisem w uwagach.

Uwagi

Zbadaj konfigurację systemu pamięci masowej.
Aby zawęzić przyczynę, warto dowiedzieć się jak najwięcej o urządzeniu rozruchowym, na którym jest zainstalowany system Windows. Można na przykład zbadać następujące elementy:

  • Dowiedz się, do jakiego typu kontrolera jest podłączone urządzenie rozruchowe, np. SATA lub IDE. Jeśli możesz uruchomić system, możesz użyć menedżera urządzeń, aby sprawdzić właściwości kontrolera i sterownika dysku. Możesz zobaczyć skojarzony plik sterownika i zdarzenia błędów.

  • Wskaż, czy inne urządzenia są podłączone do tego samego kontrolera, na którym znajduje się urządzenie rozruchowe, takie jak dysk SSD lub DVD.

  • Zanotuj system plików używany na dysku, zwykle NTFS.

Debuger systemu Windows

Aby przeanalizować ten błąd przy użyciu debugera jądra, uruchom polecenie lm (Lista załadowanych modułów) w debugerze, aby zobaczyć, które moduły są ładowane w celu podjęcia próby odizolowania określonego sterownika. Sprawdź, czy załadowano następujące sterowniki.

dysk

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

Partia Główna

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

System plików NTFS

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

classpnp powiedział:

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

Pci

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

Upewnij się, że sterowniki kontrolera są załadowane. Na przykład w przypadku kontrolera SATA RAID sterownikiem może być sterownik iaStorA.Sys lub sterownik EhStorClass .

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

Sterowniki zawierające słowo "stor", takie jak storahci, mogą być obecne.

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)

Uruchom z dołączonym debuggerem.

Jeśli możesz uruchomić system docelowy z podłączonym debuggerem, wydaj !devnode 0 1 podczas sprawdzania błędów. Możesz zobaczyć, które urządzenie nie ma sterownika lub nie uruchamia się, a przyczyna braku uruchamiania może być oczywista.

Jedną z przyczyn może być to, że Plug and Play nie może przypisać zasobów do urządzenia rozruchowego. To ograniczenie można zweryfikować, znajdując wpis dotyczący usługi. Jeśli flagi stanu zawierają DNF_INSUFFICIENT_RESOURCES lub nie zawierają DNF_STARTED lub DNF_ENUMERATED, być może problem został zlokalizowany. Postaraj się !devnode 0 1 storahci zaoszczędzić trochę czasu, zamiast wyrzucać całe drzewo urządzeń.

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)