Windows XP

NT OS Loader (NTLDR, New Technology Loader) – program rozruchowy systemów Windows NT, 2000, XP i Server 2003. Do rozruchu wymagane są trzy pliki: NTLDR, ntdetect.com i boot.ini, który wyświetla menu wyboru systemu lub od razu uruchamia Windows.

Do naprawy problemów ze startem Windows XP używamy Konsoli odzyskiwania i odpowiednich komend naprawczych:

  • naprawa MBR
    Komenda: fixmbr nazwa_urządzenia
    To polecenie pozwala naprawić główny rekord rozruchowy (MBR).
    W sytuacji, gdy mamy tylko jeden dysk fizyczny nie musimy wpisywać nazwy urządzenia. W innym przypadku najpierw poleceniem map wyświetlamy listę dysków. Następnie wydajemy komendę wraz z nazwą urządzenia np.

    fixmbr \Device\HardDisk0

    fix-mbr

  • naprawa boot sectora
    Komenda: fixboot litera_dysku:
    To polecenie służy do zapisania nowego kodu sektora rozruchowego systemu Windows na partycji systemowej. Domyślną partycją jest litera C, jeżeli litera jest inna wpisujemy poprawną.
    fixboot
  • naprawa i modyfikacja boot.ini
    Uszkodzenie lub nieprawidłowe wpisy w pliku boot.ini nie pozwoli na start systemu i może objawić się takim komunikatem:
    error-boot.ini
    bootcfg /list – wyświetlą się wpisy w bieżącym pliku Boot.ini
    bootcfg /rebuild – polecenie szuka instalacji Windows XP na dysku i wyświetla wyniki. W przypadku wykrycia padnie pytanie „Czy dodać instalację do listy rozruchu? (Tak/Nie/Wszystkie)”. Wpisujemy „t”. Następnie „Wprowadź identyfikator ładowania” – jest to nazwa systemu wyświetlana w menu rozruchowym. „Wprowadź opcje ładowania systemu operacyjnego” – wpisujemy parametr /fastdetect.
    bootcfg enum

    bootcfg /default /id x – ustawienie domyślnego systemu operacyjnego

    Plik ten zapisany jest w lokalizacji C:\boot.ini = główny katalog partycji systemowej. Normalnie go nie widać, musimy uwidocznić pliki ukryte i systemowe.
    Przykładowa zawartość:

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)WINDOWS=”Microsoft Windows XP Professional” /noexecute=optin /fastdetect

    Aby edytować plik wybieramy menu Start >>> prawym przyciskiem myszy na Mój komputer >>> Właściwości >>> Zaawansowane >>> sekcja Uruchamianie i odzyskiwanie, wybieramy ustawienia (szybciej menu Start >>> Uruchom >>> sysdm.cpl). Alternatywnie menu Start >>> Uruchom >>> msconfig >>> sekcja boot.ini. W kolejnym oknie klikamy w button Edytuj, gdzie plik zostanie otwarty w Notatniku do edycji.
    „Timeout” to czas wyświetlania menu startowego. „Default” to domyślny system. [operating systems] – sekcja z listą dostępnych systemów na dysku.
    uruchamianie xp

  • brak / uszkodzenie plików rozruchowych
    Brak pliku ntldr wyświetla komunikat jak na obrazku poniżej, natomiast brak ntdetect.com powoduje nieustanne restartowanie się komputera.
    brak ntldr
    Startujemy z płyty instalacyjnej Windows XP i kopiujemy na partycję systemową pliki z płyty:

    copy x:\i386\ntldr c:\
    copy x:\i386\ntdetect.com c:\

    Wcześniej poleceniem map wyświetlamy listę wszystkich napędów i za „x” wstawiamy odpowiednią literę napędu:

    rozruch-xp-7

    rozruch-xp-8

    W przypadku braku płyty instalacyjnej można pobrać gotowe pliki: boot-files-win-xp.zip
    Można je skopiować na partycję systemową za pomocą np. WinRE czy Parted Magic.

Windows 7

Boot Configuration Data (BCD) – magazyn przechowujący pliki i ustawienia potrzebne do rozruchu. Lokalizacja: c:\boot\bcd

Do naprawy problemów ze startem Windows Vista/7 używamy Windows Recovery Environment (WinRE) i odpowiednich komend naprawczych:

  • automatyczna naprawa za pomocą Narzędzia do naprawy systemu podczas uruchomienia
  • naprawa MBR
    Komenda 1: bootrec.exe /fixmbr
    Komenda 2: bootsect.exe /nt60 all /force /mbr
    (narzędzie znajduje się na płycie instalacyjnej w folderze x:\boot; przełącznik /force wymusza nadpisanie mbr).
    Te polecenia pozwalają naprawić główny rekord rozruchowy (MBR).
    fixmbr windows 7
  • naprawa boot sectora
    Komenda 1: bootrec.exe /fixboot
    Komenda 2: bootsect /nt60 C: (naprawa partycji c:)
    Komenda 3: bootsect /nt60 SYS (naprawa partycji systemowej)
    Komenda 4: bootsect /nt60 ALL (naprawa wszystkich partycji)
    Polecenia do naprawy boot sektora partycji
    fixboot windows 7

odbudowa magazynu BCD
Komenda: bootrec.exe /rebuildbcd
polecenie skanuje dysk w poszukiwaniu instalacji Windows 7 i pozwala dodać daną instalacje do magazynu BCD. Komunikat, że zidentyfikowano 0 instalacji oznacza, że nie znaleziono żadnych nowych instalacji oprócz tych, które już znajdują się na liście rozruchu.
W przypadku wykrycia instalacji, których nie mamy w magazynie wyświetli się komunikat w tym typie:

Liczba zidentyfikowanych instalacji systemu Windows: 1
[1] D: \ Windows
Dodać instalację do listy rozruchu? (Tak/Nie/Wszystkie):

Wpisujemy Tak, aby dodać instalację do rozruchu.

Można użyć innego sposobu:

  1. backup aktualnego magazynu poleceniem
    bcdedit /export c:\bcdbackup
  2. usuwamy atrybuty systemowy, ukryty i do odczytu z pliku
    attrib c:\boot\bcd -h -r -s
  3. zmieniamy nazwę aktualnego magazynu
    ren c:\boot\bcd bcd.old
  4. odbudowa BCD
    bootrec /rebuildbcd
  5. dodanie instalacji poleceniem Tak / Yes i restart komputera. Wszystko powinno być OK.

BCD error
rebuildbcd

  • edycja i konfigurowanie BCD

    EasyBCD – zarządzanie magazynem BCD w trybie graficznym

    Edycja jak w XP: Zakładka Uruchamianie i odzyskiwanie we Właściwościach systemu czy MSConfig.exe, karta Rozruch.BCDEdit.exe służy do zarządzania magazynem BCD, obsługa z Wiersza poleceń, zastępuje narzędzie Bootcfg.exe z Windows XP.
    bcdedit /enum – wyświetla listę wpisów w magazynie
    bcdedit enum

    bcdedit /delete {ID} /f – usunięcie wpisu z magazynu, usuwanie wpisów z boot managera windows 7
    bcdedit delete

    bcdedit /export /import – wykonywanie kopii zapasowej magazynu BCD oraz jej przywracanie
    bcdedit /export c:\bcdbackup
    bcdedit import

bcdedit /default {ID} – domyślny system
bcdedit /set {ID} description „nazwa” – zmiana nazwy wpisu

bcdedit /set {bootmgr} locale pl-PL
bcdedit /set {current} locale pl-PL
– ustawienie polskiego języka menu

Do naprawy tego typu problemów mozna również wykorzystać: Boot Corector z Paragon Rescue Kit Express i opcja „MBRCode” z TestDisk

Windows XP i 7 w trybie dual-boot

Chcąc mieć oba systemy na jednym komputerze musimy pamiętać, że każdy ma inny bootloader. Aby wyświetlało się menu wyboru systemów podczas startu musimy wykorzystać nowszy loader, który jest także kompatybilny wstecz i pozwala dodać do menu starsze wersje Windows. W drugą stronę to nie zadziała.
Windows 7 obok Windows XP, po instalacji XP Windows 7 nie startuje / nie uruchamia się, na jednym komputerze, przywrócenie bootloadera

Ogólna, zasadnicza zasada: najpierw instalujemy starszy system, potem nowszy. Windows 7 automatycznie wykryje starszą wersję na dysku i utworzy menu z wyborem systemu do uruchomienia.
dual-boot-1

W przypadku, gdy Windows XP instalujemy po instalacji Windows 7 sytuacja jest trudniejsza, ale wykonalna. Problemem jest to, że Windows XP zapisuje swój własny bootloader, który nie wspiera nowszych systemów. W praktyce będziemy mogli uruchomić tylko starszą wersję Windows.

1. Używamy programów do partycjonowania i tworzymy nową partycję dla Windows XP – możemy także zmniejszyć istniejącą partycję z Windows 7. Partycję formatujemy w systemie plików NTFS, nie musi być ona podstawowa i nie może być aktywną.
2. Jeżeli instalujemy Windows XP na innym dysku fizycznym, podczas instalacji nie odłączamy napędu z Windows 7. Uruchamiamy komputer z płyty CD i instalujemy Windows XP na wcześniej utworzonej partycji.
Przykład:
jeżeli mamy jedną partycję oznaczoną literą c: z Windows 7, zmniejszamy ją, tworzymy nową i oznaczamy literą d:. Instalujemy Windows XP na partycji d:. Ale musimy pamiętać, że pliki rozruchowe Windows XP zapiszą się na partycji oznaczonej jako aktywna, więc na c:. W efekcie sytuacja na dysku wygląda jak na zrzucie poniżej:
dual-boot-2

3. Po zainstalowaniu Windows XP stracimy dostęp do Windows 7, ponieważ bootloader XP (ntldr) nie wspiera nowszych systemów. Musimy przywrócić sektor rozruchowy Windows 7 poleceniem:
X:\boot\bootsect.exe -NT60 All
x – litera napędu z płytą Windows 7

Można to uruchomić poprzez start z WinRE lub z poziomu Windows XP i Wiersz polecenia.

4. Teraz możemy uruchomić tylko Windows 7. Musimy dodać starszy system do magazynu BCD: uruchamiamy Wiersz polecenia jako administrator i kolejno wpisujemy polecenia.

Utworzenie nowego wpisu w magazynie BCD:
bcdedit.exe /create {ntldr} /d „Opis starszego systemu Windows”

Wskazujemy partycję, na której znajduje się bootloader Windows XP, czyli plik ntldr. Czasami plik ten może znajdować się na niewidocznej partycji z plikami rozruchowymi o pojemności 100MB. Rozwiązaniem jest przypisanie litery: uruchamiamy zarządzanie dyskami, klikamy prawym przyciskiem myszy na partycji >>> Zmień literę dysku i ścieżki >>> Dodaj >>> Przypisz następującą literę dysku” wybieramy literę. Używamy wybranej litery. Po wszystkim usuwamy literę z partycji – postępujemy tak samo, tylko zamiast Dodaj wybieramy Usuń.
bcdedit /set {ntldr} device partition=C:

Wskazujemy plik bootloadera:
bcdedit /set {ntldr} path ntldr

Określamy kolejność wyświetlania w menedżerze rozruchu. Przełącznik /addlast ustawia system jako ostatni, zaś /addfirst jako pierwszy.
bcdedit /displayorder {ntldr} /addlast

dual-boot-3

5. Uruchamiamy ponownie komputer i mamy dwa systemy do wyboru:
dual-boot-4

Usunięcie Windows 7 i pozostawienie XP

Komenda: x:\boot\bootsect.exe /nt52 ALL /force

nt52 – kod rozruchowy zgodny z NTLDR dla systemów Windows starszych niż Vista np. XP



Data opublikowania: 3 stycznia, 2012
Ostatnia modyfikacja: 27 lipca, 2014
Sebastian Wolszlegier - admin bloga traxter-online.net