Udostępnij za pośrednictwem


Rozwiązywanie problemów z błędem rozruchu — wystąpił błąd odczytu dysku

Dotyczy: ✔️ maszyny wirtualne z systemem Windows

Ten artykuł zawiera kroki rozwiązywania problemów, w których nie można odczytać dysku na maszynie wirtualnej platformy Azure.

Symptomy

Gdy używasz diagnostyki rozruchu do wyświetlenia zrzutu ekranu maszyny wirtualnej, zobaczysz, że zrzut ekranu wyświetla monit zawierający komunikat "Wystąpił błąd odczytu dysku. Naciśnij Ctrl+Alt+Del, aby uruchomić ponownie."

Zrzut ekranu przedstawiający komunikat o błędzie odczytu dysku.

Przyczyna

Ten komunikat o błędzie wskazuje, że struktura dysku jest uszkodzona i nieczytelna. Jeśli używasz maszyny wirtualnej generacji 1, możliwe jest również, że partycja dysku zawierająca dane konfiguracji rozruchu nie jest ustawiona na Wartość Aktywna.

Rozwiązanie

Omówienie procesu

Napiwek

Jeśli masz najnowszą kopię zapasową maszyny wirtualnej, możesz spróbować przywrócić maszynę wirtualną z kopii zapasowej , aby rozwiązać problem z rozruchem.

  1. Tworzenie maszyny wirtualnej naprawy i uzyskiwanie do jej dostępu.
  2. Wybierz rozwiązanie:
  3. Włącz zbieranie zrzutów pamięci i konsoli szeregowej.
  4. Ponownie skompiluj maszynę wirtualną.

Uwaga 16.

W przypadku wystąpienia tego błędu rozruchu system operacyjny gościa nie działa. Aby rozwiązać ten problem, będziesz rozwiązywać problemy w trybie offline.

Tworzenie maszyny wirtualnej naprawy i uzyskiwanie do jej dostępu

  1. Wykonaj kroki 1-3 z poleceń naprawy maszyny wirtualnej, aby przygotować maszynę wirtualną na potrzeby naprawy.
  2. Za pomocą połączenia pulpitu zdalnego połącz się z maszyną wirtualną naprawy.

Ustaw stan partycji na aktywny

Uwaga 16.

To ograniczenie dotyczy tylko maszyn wirtualnych generacji 1. Maszyny wirtualne generacji 2 (korzystające z interfejsu UEFI) nie używają aktywnej partycji.

  1. Dołącz dysk systemowy do maszyny wirtualnej odzyskiwania.

  2. Uruchom połączenie pulpitu zdalnego z maszyną wirtualną odzyskiwania.

  3. Otwórz zarządzanie komputerem Zarządzanie dyskami>. Upewnij się, że dysk jest oflagowany jako Online w konsoli zarządzania dyskami. Zwróć uwagę na literę dysku przypisaną do dołączonego dysku systemowego.

    Zrzut ekranu przedstawiający dysk dołączony do maszyny wirtualnej odzyskiwania.

  4. Zidentyfikuj partycję rozruchową i partycję systemu Windows. Jeśli na dysku systemu operacyjnego znajduje się tylko jedna partycja, ta partycja jest zarówno partycją rozruchową, jak i partycją systemu Windows.

    Jeśli dysk systemu operacyjnego zawiera więcej niż jedną partycję, możesz zidentyfikować partycje, wyświetlając w nich foldery:

    • Partycja systemu Windows zawiera folder o nazwie Windows, a ta partycja jest większa niż inne.

    • Partycja rozruchowa zawiera folder o nazwie Rozruch. Ten folder jest domyślnie ukryty. Aby zobaczyć ten folder, należy włączyć wyświetlanie ukrytych plików i folderów oraz wyłączyć opcję Ukryj chronione pliki systemu operacyjnego (zalecane) . Partycja rozruchowa ma zwykle rozmiar od 300 MB do 500 MB.

  5. Uruchom następujące polecenie jako administrator, aby utworzyć rekord rozruchowy:

    bcdboot <Windows partition>:\Windows /S <windows partition>: 
    
  6. Użyj narzędzia DISKPART, aby sprawdzić, czy partycja systemu Windows jest aktywna:

    1. Otwórz wiersz polecenia z podwyższonym poziomem uprawnień i otwórz narzędzie DISKPART.

      diskpart

    2. Wyświetl listę dysków w systemie i poszukaj dodanych dysków i przejdź do wybrania nowego dysku. W tym przykładzie nowy dysk to Disk 1.

      list disk
      sel disk 1
      

      W oknie diskpart są wyświetlane dane wyjściowe poleceń list disk i sel disk 1. Dysk 0 i Dysk 1 są wyświetlane w tabeli. Dysk 1 jest wybranym dyskiem.

    3. Wyświetl listę wszystkich partycji na tym dysku, a następnie przejdź do wybrania partycji, którą chcesz sprawdzić. Zwykle partycje zarządzane przez system są mniejsze i mają rozmiar około 350 MB. Na poniższej ilustracji ta partycja to Partycja 1.

      list partition
      sel partition 1
      

      Zrzut ekranu przedstawiający wybraną partycję

    4. Sprawdź stan partycji. W naszym przykładzie partycja 1 nie jest aktywna.

      detail partition

      Okno diskpart z danymi wyjściowymi polecenia partycji szczegółów, w którym partycja 1 nie jest aktywna.

      Jeśli partycja nie jest aktywna, zmień flagę Aktywna, a następnie ponownie sprawdź, czy zmiana została wykonana prawidłowo.

      active
      detail partition
      

      Okno diskpart z danymi wyjściowymi polecenia partycji szczegółów, w którym partycja 1 jest aktywna.

    5. Zamknij narzędzie DISKPART.

      exit

Naprawianie partycji dysku

  1. Otwórz wiersz polecenia z podwyższonym poziomem uprawnień (cmd.exe).

  2. Użyj następującego polecenia, aby uruchomić narzędzie CHKDSK na dyskach i wykonać poprawki błędów:

    chkdsk <DRIVE LETTER>: /f

    Dodanie /f opcji polecenia naprawia wszelkie błędy na dysku. Pamiętaj, aby zastąpić < LITERĘ > DYSKU literą dołączonego dysku VHD systemu operacyjnego.

Włączanie konsoli szeregowej i kolekcji zrzutów pamięci

Ważne

W tej sekcji, metodzie lub w tym zadaniu podano informacje dotyczące modyfikowania rejestru. Niepoprawne zmodyfikowanie rejestru może jednak być przyczyną poważnych problemów. Dlatego należy uważnie wykonać poniższe kroki. Aby uzyskać dodatkową ochronę, należy przed rozpoczęciem wykonania tej modyfikacji wykonać kopię zapasową rejestru, aby rejestr mógł zostać przywrócony w przypadku wystąpienia problemu. Aby uzyskać więcej informacji na temat sposobu tworzenia kopii zapasowych, przywracania i modyfikowania rejestru, zobacz artykuł Tworzenie kopii zapasowych i przywracanie rejestru systemu Microsoft Windows.

Zalecane: Przed odbudową maszyny wirtualnej włącz kolekcję konsoli szeregowej i zrzutu pamięci, wykonując następujące kroki:

  1. Otwórz sesję wiersza polecenia z podwyższonym poziomem uprawnień jako administrator.

  2. Uruchom następujące polecenia BCDEdit przy użyciu opcji /ems i /emssettings :

    Włącz konsolę szeregową:

    bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /ems {<boot-loader-identifier>} ON
    bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200
    
  3. Sprawdź, czy wolne miejsce na dysku systemu operacyjnego jest większe niż rozmiar pamięci RAM na maszynie wirtualnej.

    Jeśli na dysku systemu operacyjnego nie ma wystarczającej ilości miejsca, zmień lokalizację, w której jest tworzony plik zrzutu pamięci, i odwołaj się do dowolnego dysku danych dołączonego do maszyny wirtualnej, która ma wystarczającą ilość wolnego miejsca. Aby zmienić lokalizację, zastąp literą %SystemRoot% dysku danych, taką jak F:, w następujących poleceniach.

    Aby włączyć plik zrzutu systemu operacyjnego, uruchom następujące polecenia ładowania, dodaj i zwolnij , aby zaimplementować sugerowaną konfigurację przy użyciu narzędzia reg :

    Załaduj gałąź rejestru z uszkodzonego dysku systemu operacyjnego:

    reg load HKLM\<broken-system> <volume-letter-of-broken-os-disk>:\windows\system32\config\SYSTEM
    

    Włącz dla kontrolki ControlSet001:

    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    

    Włącz dla kontrolki ControlSet002:

    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    

    Zwolnij uszkodzony dysk systemu operacyjnego:

    reg unload HKLM\<broken-system>
    

Ponowne kompilowanie maszyny wirtualnej

Użyj kroku 5 poleceń naprawy maszyny wirtualnej, aby ponownie skompilować maszynę wirtualną.

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.