Mamy serwery UEFI i natrafiliśmy na sytuację, w której musimy zmusić system Windows Server 2008 do uruchomienia za pomocą starszej metody BIOS zamiast przez UEFI.
Czy istnieje sposób, aby powiedzieć systemowi Windows Server 2008 (podczas instalacji lub po instalacji), aby zignorował fakt, że instaluje się na komputerze EFI, a zamiast tego instaluje i używa starszego programu ładującego BIOS?
Wypróbowałem kilka sugestii, które nie pomogły:
Przed instalacją systemu Windows sformatuj dyski jako partycje MBR
Nie, system Windows odmawia instalacji:
Zainstaluj system Windows, migruj partycję na dysk MBR, napraw system
Nie, konsola do naprawy systemu odmawia załadowania. Narzeka, że nie rozpoznaje wersji systemu Windows, którą próbuję naprawić.
Wyłącz UEFI
Gdybym mógł wyłączyć UEFI i uczynić system tylko starszym, zrobiłbym to. Jednak określone systemy, których używam (IBM HS22, x3690X5), są obsługiwane tylko przez UEFI ze starszą obsługą. Nie można po prostu wyłączyć na nich UEFI. Wymagałoby to pełnej implementacji systemu BIOS.
Rozwiązanie!
Jak podkreśla JdeBP, jedyną metodą używaną przez system Windows do ustalenia, czy użyć programu ładującego EFI / GPT, czy BIOS / MBR, jest metoda użyta do uruchomienia instalacyjnego dysku CD.
Połączenie tego z sugestią Weavera, aby stworzyć obraz .iso bez wpisu katalogu rozruchowego 0xEF (przy okazji, jest to znacznie łatwiejsze dzięki edycji szesnastkowej niż remasterowaniu obrazu), prowadzi do ładnej, zwięzłej odpowiedzi:
Wymuś uruchomienie nośnika instalacyjnego przez BIOS, a nie przez UEFI, ponieważ jest to jedyny wyróżnik, który używa Instalator Windows do określenia, którego schematu rozruchowego użyć.
źródło
Odpowiedzi:
Microsoft nie pozwoli ci osiągnąć twojego kroku; więc zamiast tego określ swój cel.
Microsoft błędnie łączy dysk twardy z partycją EFI z oprogramowaniem układowym EFI . Jest to oczywiście błędne. Całkiem możliwe - i w dzisiejszych czasach staje się coraz bardziej pożądane - mieć partycjonowaną płytę EFI na komputerze ze starym oprogramowaniem układowym innym niż EFI. W rzeczywistości - chociaż zajęło to dwa tygodnie, aby ludzie tutaj wykręcali z ciebie cel, a nie krok - chcesz rozmawiać. Chcesz mieć stary dysk partycjonowany MBR w stylu PC / AT na komputerze z oprogramowaniem układowym EFI. (Samo oprogramowanie EFI nie ma problemu z żadnym formatem tablicy partycji i jest rzeczywiście wymagane przez specyfikację EFI do zrozumienia obu. To Microsoft popełnia ten błąd.) I tego chcesz, ponieważ oprogramowanie innej osoby nie może zrozumieć tabeli partycji EFI.
Jedną z kilku konsekwencji błędu Microsoftu jest to, że instalator systemu Windows NT 6.1 musi zostać wywołany z nośnika instalacyjnego, który z kolei został załadowany ze starego oprogramowania PC98, aby zaakceptować pomysł instalacji systemu Windows NT 6.1 na dysku podzielony na partycje ze starym schematem partycjonowania PC / AT MBR. Niestety, jeśli dysk instalacyjny systemu Windows NT zostanie załadowany w nowym EFI, instalator pomyśli, że jest oprogramowanie układowe EFI, i dlatego zadeklaruje, że nie można go zainstalować na dyskach twardych bez partycji EFI.
Jak wskazał Weaver i jak wyjaśnia dokumentacja Microsoft , instalacyjny CD-ROM jest w rzeczywistości podwójnym bootowaniem. Jak wyjaśnia Rod Smith , można ręcznie skonstruować płytę instalacyjną systemu Windows NT 6.1, która uruchamia się w starym stylu PC98. Instalator Windows NT 6.1 pozwoli następnie na instalację na starym dysku twardym z partycją PC / AT MBR.
Jednak w systemach, w których nie ma modułu obsługi kompatybilności , jak mówisz, że twój system ma, nie pomoże to jednemu . Twój system będzie wymagał wersji EFI programu Boot Manager firmy Microsoft, zainstalowanego na partycji systemowej EFI, ponieważ w ten sposób oprogramowanie układowe spróbuje uruchomić system operacyjny. Ale gdy instalator systemu Windows NT 6.1 zostanie uruchomiony na oprogramowaniu układowym innym niż EFI, instaluje wersję Menedżera rozruchu firmy Microsoft inną niż EFI i nie utworzy partycji systemowej EFI. Taka instalacja nie uruchomi się na twoim komputerze i nie będziesz nawet w stanie ukończyć procedury instalacji. Rzeczywiście, ponieważ brakuje Ci CSM, nawet nie będziesz mógł zacząćprocedurę instalacji, ponieważ nie będzie można nawet uruchomić dysku instalacyjnego w stary sposób PC98. Microsoft nie pozwoli ci osiągnąć tego kroku dwa razy.
Zamiast tego skup się na swoim celu. Twoim celem jest umożliwienie klientowi wdrożenia systemu Windows Server 2008 na komputerach z oprogramowaniem układowym EFI z obrazu systemu. Dlatego prawidłowe pytanie, które powinieneś zadać - dostawcy oprogramowania - brzmi, jak naprawić to stare / uszkodzone oprogramowanie do tworzenia obrazów płyt, aby nie miało problemów z tabelą partycji EFI.
źródło
Krótko mówiąc, tak i nie z kilku różnych powodów. Jeśli system Windows uruchamia się z dysku GPT, musi to być system UEFI. Menedżer rozruchu systemu Windows i moduł ładujący nie mogą uruchomić się na dysk MBR z natywnego UEFI. Jeśli jednak interfejs UEFI jest skonfigurowany do uruchamiania starszego systemu BIOS, do rozruchu można użyć dysku MBR. Wynika to z trybu uruchamiania systemu Windows (BIOS z MBR lub UEFI z GPT), który jest zależny od środowiska, w którym jest wywoływany.
Czytaj dalej, aby zapoznać się z technologią -
Fizyczny sprzęt (lub sprzęt wirtualny, ale sprzęt) oprogramowanie układowe (BIOS / UEFI) zapewnia początkowe środowisko operacyjne (struktury danych i konwencje związane z uruchamianiem) oraz usługi oprogramowania układowego dostępne dla kolejnych etapów procesu uruchamiania systemu operacyjnego.
BIOS / MBR
W przypadku rozruchu systemu BIOS / MBR pierwszy sektor pierwszego dysku startowego - główny rekord rozruchowy (LBA 0) zawiera garść zestawu x86 (16 bitów 8088), następnie tablicę partycji, a następnie podpis). BIOS ładuje ten sektor do pamięci i zaczyna działać - BIOS zrzeka się własnej kontroli kodu programu, gdy tylko MBR się zaangażuje.
http://mbr.adamsatoms.com/
http://www.ata-atapi.com/hiwmbr.html
Zestaw x86 (Intel 8088 w większości MBR) w MBR analizuje tablicę partycji, szuka aktywnej partycji i przeskakuje do pierwszego sektora na tej partycji - zwanego rekordem rozruchu woluminu. Rekord rozruchowy woluminu zawiera plik jmp zestawu x86, blok parametrów BIOS (w ogóle nieużywany przez system BIOS, więc myląca nazwa) oraz kilka innych zestawów x86, które ostatecznie ładują moduł ładujący systemu operacyjnego (NTLDR lub BOOTMGR w środowiskach Windows ) z samego woluminu / partycji rozruchowej.
NTLDR lub BOOTMGR przestawiają procesor w tryb chroniony, sprawdzają konfigurację czasu rozruchu (odpowiednio boot.ini lub BCD, zarówno na woluminie / partycji rozruchowej), i ładują NTOSKRNL, gdzie reszta jest historią.
http://technet.microsoft.com/en-us/library/cc781134%28WS.10%29.aspx
http://en.wikipedia.org/wiki/Windows_NT_startup_process
http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/bios-parameter-block.html
UEFI / GPT
Po pierwsze pozwól mi stwierdzić, że nie mam zbyt dużego doświadczenia z UEFI / GPT. Jednakże, ponieważ użyłem go i rozumiem, że działa - duża różnica (związana z naszą rozmową) polega na tym, że kontrola wykonywalna nie jest przekazywana do MBR.
Zamiast tego oprogramowanie układowe UEFI zawiera własnego menedżera rozruchu. Ten menedżer rozruchu skanuje dyski i nośniki, - przegląda ochronny MBR dysków w formacie GPT, dociera do nagłówka GPT, a następnie nurkuje w partycji systemowej EFI (ESP), w której szuka programów wykonywalnych EFI - które powinny System operacyjny można startowych ładowarki uruchamiania systemu operacyjnego bezpośrednio, jednak jak widzieliśmy z najnowszymi MS i Apple wykonywalnych EFI, w rzeczywistości są one menedżerów startowych dodając kolejną warstwę do XX procesu i złożoności.
http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/efi-boot-process.html
http://msdn.microsoft.com/en-us/windows/hardware/gg463525#X-201104111922443
Wniosek / TL; DR
Należy odrzucić to, że istnieje oczekiwane środowisko, w którym menedżer rozruchu systemu operacyjnego i moduł ładujący spodziewają się uruchomienia. Dostępne usługi na poziomie oprogramowania układowego (przerwania BIOS / UEFI), struktury danych (zmienne, konwencje stosu itp.), A nawet konwencje formatowania dysku. Nie można go zmienić w czasie wykonywania - przynajmniej nie tak, jak to rozumiem.
Twoje opcje?
Przed instalacją można kontrolować instalację za pomocą systemu BIOS / MBR lub UEFI w starszym systemie BIOS z MBR lub UEFI z GPT.
Po instalacji - może istnieć kilka interesujących możliwości zmiany formatu dysku (MBR na GPT i GPT na MBR) w trybie offline, a następnie rozruchu do konsoli odzyskiwania (w odpowiednim trybie UEFI lub BIOS) i pracy z programami bcdboot i bcdedit w celu uzyskania systemu Windows menedżer rozruchu ustawiony prosto.
Aktualizacja 2011.09.09
@MikeyB
Lista opcji, jakie rozumiem, bez formalnych sugestii.
Niemniej jednak, po przeprowadzeniu nieco więcej badań na temat UEFI (pamiętam, że nie mam z tym dużego aktywnego doświadczenia) odkryłem kilka ciekawych ciekawostek na temat menedżera rozruchu UEFI i obsługi uruchamiania CD / DVD.
Specyfikacja rozruchowa El Torito z '95 jest nadal dostępna i jest używana z bootowalnymi płytami CD / DVD. Pojedyncza płyta CD / DVD może wymagać rozruchu na kilku architekturach - i chociaż ISO 9660 jest raczej niezależna od platformy, kod wykonywalny tak nie jest. Jako taka, specyfikacja rozruchowa El Torito pozwala na wiele pozycji rozruchowych / obrazów.
Te wpisy / obrazy zawierają identyfikator platformy , który ma wskazywać, czy wpis dotyczy komputerów PC, PowerPC i innych architektur, aby system BIOS (lub oprogramowanie układowe) architektury mógł wybrać odpowiedni wpis rozruchu.
Standardowe komputery PC x86 z systemem BIOS mają identyfikator platformy El Torito 0x00. Identyfikator platformy obsługujący UEFI to 0xEF - raczej kreatywny.
Standardowe BIOS komputera PC x86 ignorują wszystkie inne wpisy oprócz 0x00. Oprogramowanie układowe UEFI, które ma starszą obsługę BIOS (znane jako Moduł Wspierania Kompatybilności (CSM)) - chociaż jest w stanie uruchomić 0x00, będzie preferowało natywną pozycję rozruchową 0xEF z katalogu.
Nośniki DVD z systemem Windows 2008, 2008 R2 i 7 zawierają katalog El Torito z wieloma obrazami o wartościach 0x00 i 0xEF. Wartość domyślna to 0x00, ale UEFI będzie nad nią połyskiwać, jeśli istnieje wartość 0xEF i wybierze pozycję 0xEF - ponieważ jest rodzima.
Możliwe jest stworzenie nośnika, który zawiera tylko preferowany identyfikator platformy w katalogu rozruchowym El Torito. Zamiast katalogu z wieloma pozycjami utwórz katalog z pojedynczymi wpisami o identyfikatorze platformy 0x00. Powinno to zmusić oprogramowanie układowe UEFI, jeśli w rzeczywistości obsługuje starsze uruchamianie systemu BIOS, do wybrania identyfikatora platformy 0x00 i uruchomienia starszego wpisu rozruchu systemu BIOS na nośniku systemu Windows.
Jak to zrobić?
Korzystanie z Oscdimg jest możliwe. Poniżej znajduje się kilka przykładów osób tworzących wyłącznie media UEFI, aby obejść ograniczenia w implementacji UEFI firmy Apple. Zauważ, że jest to przeciwieństwo tego, co próbujemy zrobić - chcemy stworzyć tylko BIOS, pomijając pozycję rozruchową UEFI z katalogu.
Tylko UEFI (przeciwny) 1
Tylko UEFI (przeciwny) 2
Proces tworzenia nośnika zawierającego tylko system BIOS jest podobny ze zmianami argumentów
-b
i-p
argumentami na następująceŚwietnym źródłem, który rzucił nieco światła na wybrane przez firmę Microsoft szaleństwo na nośniku instalacyjnym Windows, jest dokument Wsparcie i wymagania UEFI dla systemów operacyjnych Windows .
źródło
Jedną z prostych metod byłoby po prostu wykonanie podstawowej instalacji systemu Windows na komputerze, który nie obsługuje EFI, przechwycenie go za pomocą oprogramowania do obrazu i przywrócenie go na prawdziwym sprzęcie.
Dobrym wyborem może być zbudowanie podstawowej instalacji na maszynie wirtualnej. We wcześniejszych wersjach (wer. <6) system Windows nie dostosowywał się dobrze do przenoszenia z jednego rodzaju sprzętu na inny. W najnowszych wersjach systemu Windows, o ile kontroler pamięci jest obsługiwany na obrazie, system Windows wykona całkiem dobrą robotę, dostosowując się do nowego sprzętu.
Dysk instalacyjny systemu Windows (wersja> = 6) zazwyczaj zawiera plik wim , który jest po prostu obrazem systemu operacyjnego.
źródło