Skocz do zawartości

Rozwiązywanie problemów z bootowaniem


Rekomendowane odpowiedzi

Copyright @picasso fixitpc.pl Powielanie tej pracy zabronione.

orb_medium.pngProblemy z bootowaniem

Windows Vista / Windows 7



Wprowadzenie: Pliki startowe Vista to: BOOTMGR (sukcesor NTLDR starszych systemów) + BOOT\BCD (sukcesor BOOT.INI starszych systemów) + winload.exe. Winload siedzi w katalogu system32 Vista, pozostałe bez zmian - czyli w głównym katalogu partycji. Te pliki startowe Vista mogą być ulokowane na partycji spełniającej następujące warunki: partycja podstawowa aktywna. Tradycyjna sytuacja to wspólne siedzenie zainstalowanej Visty wraz z jej plikami startowymi na tej samej partycji. Jednakże pliki startowe Vista niekoniecznie mogą wylądować na tej samej co zainstalowany system, a podstawowy powód dla tego rozszczepienia, to brak odpowiedniej partycji. Jeśli Vista jest instalowana na dysku logicznym, jej pliki startowe nie mogą być tam umieszczone, i są lokowane na dostępnej partycji podstawowej, która staje się kluczową dla startowania systemu i nie może zostać zlikwidowana. Załóżmy dla przykładu, że są dwa dyski twarde, użytkownik nie jest świadomy omawianego tu rozdzielenia, odpiął jeden z nich, właśnie ten z plikami startowymi - system nie będzie startował.
Stan partycji można odczytać w diskmgmt.msc, i jest tu nomenklatura wprowadzająca w błąd, czytana w odwrotny sposób, niż to się nasuwa. Partycja mająca znacznik System = partycja mająca pliki startowe, Partycja mająca znacznik Rozruch / Boot = partycja mająca zainstalowany system.

Materiał referencyjny:

Multibooters: The Windows System and Boot Partitions

Na Multibooters znajdziecie i inne porządne informacje o procesie startu systemów Windows 7 oraz Vista, problematyce partycji i liternictwa, dual / multiboot.





BŁĄD KOMPRESJI BOOTMGR


Scenariusz: Komputer, w obojętnie którym trybie startowanym, zgłasza błąd nie do przejścia:


BOOTMGR is compressed
Press Ctrl+Alt+Del to restart
_



Błąd oznacza, że w niefortunny sposób wykonano kompresję NTFS partycji, na której leżą pliki rozruchowe Vista. Teoretycznie zadanie to jest "słabo wykonalne", ponieważ kluczowe pliki, w tym BOOTMGR, są objęte ochroną bazującą na uprawnieniach, zapobiegającą ich modyfikacji przez Administratorów. Akcja nakładania atrybutów w normalnych okolicznościach zgłasza "Odmowę dostępu", kompresując C, kompresuje się prawie wszystko z wyjątkiem BOOTMGR i BCD :P. Niemniej jest możliwe, że uprawnienia te zostały w jakiś sposób zmienione na korzyść Administratorów a niekorzyść sytuacji systemowej, tym samym udostępniając ważki plik do zdradliwej kompresji.


 

Rozwiązanie



By naprawić ten błąd, należy znieść kompresję dla dysku, na którym jest zlokalizowany plik, lub indywidualnie dla tego pliku (jeśli to tylko ten plik jest skompresowany). W związku z brakiem dostępu do systemu, operacja musi być prowadzona przez bootowalną płytę. Zastartuj z DVD instalacyjnej Windows Vista lub 7 do modułu Repair Computer / Napraw system. Jeśli nie posiadasz płyty, w linku gotowa płyta naprawcza do pobrania.



Są tu dwa sposoby ściągania kompresowania:


METODA 1:
Bardzo łatwa, dla wzrokowców. Wprawdzie WinRE nie udostępnia eksploratora plików, ale przez rozmaite spryciarskie obejścia można wywołać rodzaj okienkowej mini-eksploracji udostępniającej podstawowe operacje na plikach. Chodzi o dialogi otwierania plików, obecne na różnych etapach startu WinRe. Takie dialogi można wywołać:
- Przed pokazaniem się opcji naprawczych i o tym sposobie - jako ciut szybszym - na obrazkach
- Przez dojście do opcji naprawczych i wywołanie Wiersz polecenia, a tam wpisanie polecenia uruchamiania określonego narzędzia, które przewiduje jakiekolwiek otwieranie plików. Np. polecenie notepad > w Notatniku z menu Plik > Otwórz, albo polecenie regedit > z menu Plik > Załaduj gałąź rejestru. Również i tu mamy zawartość dysku otworem i możemy wykonać te same operacje, pomimo że otwierane programy służą do zupełnie czego innego.

1. W momencie, gdy moduł Napraw komputer pokazuje listę wykrytych instalacji systemów, zamiast kliknąć Dalej, należy uruchomić opcję Załaduj sterowniki / Load drivers i zatwierdzić eksplorowanie dysku przez OK:

bootmgr3.gif

2. Zgłosi się jak najbardziej pożądana tu rzecz, czyli mały eksplorator dialogu otwierania. To za jego pomocą dostaniemy się do opcji dekompresji. Eksplorator pokazuje domyślnie zawartość obrazu WinRE. Przez klik w Komputer otrzymamy spis wszystkich napędów. Z prawokliku na wytypowany dysk wywołujemy kontekstową opcję Właściwości / Properties:

bootmgr4.gif

3. Otworzy się okno Właściwości dysku, dość niewygodnie, bo pod innymi oknami. Odznaczamy opcję Kompresuj ten dysk, aby zaoszczędzić miejsce na dysku / Compress this drive to save data space:

bootmgr5.gif

I Zastosuj. Na kolejnym ekranie zatwierdzamy rekursywną dekompresję:

bootmgr6.gif


Wadą całej metody jest słaba możliwość dokładnej weryfikacji. Ta forma eksploracji jest nastawiona na pliki typu instalacyjnego, dlatego też nie pokazuje innych ukrytych plików systemowych, a takim jest BOOTMGR. Owszem, można sprawdzić, czy dysk jest kompresowany, wchodząc nań i sprawdzając czy pokazane nieukryte katalogi są oznaczone kolorem niebieskim:

bootmgr7.gif

Nie jest to zbyt dokładne. Dlatego też, jeśli użytkownik stoi na multi-partycjach, a nie ma pojęcia na której leżą pliki startowe, powinien sprawdzić pod kątem kompresji Właściwości wszystkich innych dysków twardych, i prewencyjnie ją pościągać. Inna sprawa, że to wcale nie dysk odgórny może być poddany kompresji, tylko poszczególne jego obiekty lub właśnie na zasadzie cudu ten jeden plik. Pod tym kątem metoda ma kolejne ułomności, gdyż:
- Właściwości sprawdzanego dysku mogą pokazywać, że kompresja jest odznaczona (bo rzeczywiście dla dysku jej nie wykonano, tylko dla poszczególnych jego składników). Kompresję rozpoznamy po niebieskim kolorze ... o ile skompresowano cokolwiek co może się wyświetlić w tym oknie dialogowym ... Mając błąd kompresji BOOTMGR, ale nie widząc "śladów" kompresji, można na oko założyć, że jest wykonana punktowo. Ostatecznie, w takim przypadku można wykonać dwa kroki, wydłużające oczywiście czas operacji: najpierw dysk skompresować, a następnie go rekursywnie rozkompresować.
- Nie ma bezpośredniego dostępu okienkowego do Właściwości tego konkretnego pliku.
Z tych względów, patrz na metodę numer 2.



METODA 2:
Drugi sposób polega na ominięciu wyżej pokazanej opcji i przejściu do ekranu z funkcjami naprawczymi. Zostanie wykorzystana opcja Wiersz polecenia i narzędzie COMPACT. To polecenie nie jest obsługiwane w sposób bezpośredni, tzn. wpisując je otrzymamy błąd komendy. Jednakże WinRE udostępnia przecież uruchamianie programów z dysku Windows. To znaczy, że w linii poleceń wpisując pełną ścieżkę do narzędzia compact.exe z katalogu Windows, dostaniemy się do tego narzędzia i będzie ono działać zgodnie z planem. Zaletą tej metody jest większa precyzja diagnostyczna, więcej opcji, oraz listowanie ukrytych systemowych, w celu nie budzącego wątpliwości potwierdzenia obecności kompresji.

1. W linii poleceń wpisz komendę zmiany napędu na dysk, na którym jest zlokalizowany plik startowy BOOTMGR. To nie zawsze jest ta sama partycja, na której jest zainstalowany system, ale w przykładzie założę, że jest to standardowo dysk C (na którym jest także zamontowana Vista).


X:\sources>C:



2. Wywołaj narzędzie compact.exe, punktując pełną ścieżkę dostępu do niego, z parametrem /A uwzględniającym wyświetlanie ukrytych systemowych, domyślnie omijanych. Narzędzie to jest w katalogu system32 Windows Vista. Ponownie: partycja z zainstalowanym systemem nie zawsze jest tą samą, na której leżą pliki startowe. W przykładzie założę, że Windows leży również na C, więc ścieżka to C:\WINDOWS\system32\compact.exe, ale należy sobie to uzgodnić do własnej sytuacji. Nieistotne, że napęd na którym jest ustawiona ścieżka poleceń może być różny od ścieżki narzędzia compact.exe. Jako, że mamy ustawiony napęd, na którym jest bootmgr, compact.exe (niezależnie skąd wywołane) listuje obiekty właśnie dla tej ścieżki.


C:>C:\WINDOWS\system32\compact.exe /A



Polecenie to jest wywołane w trybie poboru informacji, w celu sprawdzenia, czy jesteśmy na właściwym dysku i czy istnieje kompresja. Wynik z mojego testu, dysk C jest skompresowany (od góry do dołu atrybuty C), w tym omawiany plik:


bootmgr1.gif


3. Wywołaj polecenie dekompresyjne, uwzględniające ściąganie atrybutów z całego dysku, jego podkatalogów i plików składowych. Odbędzie się ono dla ścieżki aktualnie ustawionej w linii poleceń (tutaj C:). Konieczny parametr /I kontynuujący akcję mimo błędów (narzędzie stopuje przy pierwszym z nich), a błędów typu Odmowa dostępu może być sporo. Pierwszy przykład z brzegu to Documents and settings, ale tym proszę się nie przejmować, bo to link symboliczny.


C:>C:\WINDOWS\system32\compact.exe /U /S /I



Czekamy cierpliwie, dekompresja może długo trwać.

4. Po ukończeniu dekompresowania ponawiamy komendę trybu listowania, by potwierdzić zdjęcie atrybutów:


bootmgr2.gif





DODATKOWE KOMENTARZE:

1. W układzie dual boot XP + Vista, jeśli pliki startowe Vista leżą na partycji XP, można wykorzystać .... Konsolę Odzyskiwania XP. Konsola bowiem posiada polecenie ATTRIB, które potrafi ściągnąć atrybut kompresowania w sposób bezpośredni: ATTRIB -C dla określonego pliku. Dla kontrastu, ATTRIB wbudowane w linię poleceń WinRE nie obsługuje tego. W niektórych przypadkach, przy braku płyty DVD Vista, można szybciej wyjść z opresji korzystając z posiadanego przez siebie CD XP, lub o wiele mniejszej objętościowo (a więc ściąganej szybciej) wykonanej przeze mnie płytki KONSOLA.ISO. Podkreślam raz jeszcze: ta metoda tylko w zastosowaniu, jeśli pliki startowe Vista siedzą tam gdzie Konsola Odzyskiwania ma dostęp i są dostępne operacje na plikach roota, do reszty dysków nie, bo to podstawowa wada tego rozwiązania.

2. Problemem może nie być wcale BOOTMGR, jeśli odgórnym loaderem Vista jest GRUB4DOS (plik GLDR). Taki loader można znaleźć m.in. na ... hmmm ... "legalnych inaczej" Windows, w których wykorzystano ten sposób do krakowania aktywacji. W tym przypadku kompresji może być poddany właśnie GLDR.





BŁĄD BRAKU BOOTMGR



BOOTMGR is missing
Press Ctrl+Alt+Del to restart
_


.... w budowie ....




Aneks - Artykuły
How to use the Bootrec.exe tool in the Windows Recovery Environment to troubleshoot and repair startup issues in Windows
Windows no longer starts after you install an earlier version of the Windows operating system in a dual-boot configuration
Error message when you start Windows Vista: "The Windows Boot Configuration Data file is missing required information"
How Do I Fix the "hal.dll is missing or corrupt" Error Message?

Odnośnik do komentarza
Pomoc jest darmowa, ale proszę rozważ przekazanie dotacji na utrzymanie serwisu: klik.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...