Ile partycji systemowych EFI (ESP) może mieć komputer?

11

Próbuję skonfigurować dual / multiboot na laptopie UEFI dostarczonym z zainstalowanym Windows 8. Chciałbym działać przy włączonym Bezpiecznym rozruchu. Mogę instalować / konfigurować systemy operacyjne z wyłączonym SecureBoot (ale nie będę działać w trybie CSM). Nie mam nic przeciwko wysadzeniu systemu Windows 8, ale ostatecznie laptop będzie musiał zainstalować system Windows 8 Pro (x64), aby obsługiwać mój sprzęt programistyczny Windows Phone.

Przeczytałem dokumentację Microsoftu dotyczącą UEFI i partycjonowania w Windows i GPT FAQ . Nie jestem pewien, ile partycji systemowych EFI (ESP) może znajdować się na dysku. Ponieważ UEFI może autoryzować dostęp do określonej partycji, myślę, że następujące:

  • Klucz platformy Microsoft (PK) jest ładowany do UEFI
  • MS PK pozwala na dostęp do partycji Microsoft
  • MS używa 4 partycji: ESP, MSR, Data, Recovery
  • Uruchom do MS po wybraniu opcji rozruchu (wymuszonej przez UEFI)

Powyżej ESP jest partycją systemową UEFI; MSR jest zarezerwowany przez Microsoft System dla dodatkowych plików innych niż rozruchu i plików OEM; Dane dotyczą zwykłych plików systemu operacyjnego ładowanych przez moduł ładujący; a Recovery to tylko system operacyjny o wartości dodanej.

Jeśli dodam klucz platformy systemu operacyjnego Linux do bazy danych Klucz platformy (PK), to uważam, że potrzebowałbym (przynajmniej):

  • Kolejna partycja ESP do uruchamiania / ładowania systemu operacyjnego Linux
  • Kolejna partycja danych dla zwykłych plików systemu operacyjnego Linux

Wymagany byłby dodatkowy ESP, ponieważ UEFI będzie wymagał plików rozruchowych / ładujących podpisanych pod PK dla konkretnej opcji rozruchowej; a UEFI nie zezwoli na dostęp do partycji Microsoft podczas uruchamiania systemu operacyjnego Linux.

Ile partycji systemowych EFI (ESP) może mieć komputer? Czy obsługa wielu ESP jest poprawna?

jww
źródło

Odpowiedzi:

9

Działasz w niezrozumieniu, że PK są powiązane z ESP; nie są. Funkcje kryptograficzne Bezpiecznego rozruchu wymagają podpisania poszczególnych plików modułu ładującego rozruch , ale pliki te są przechowywane w zwykłych systemach plików FAT, które same nie są podpisane, zaszyfrowane lub w inny sposób interesujące pod względem kryptograficznym. Podpisany plik modułu ładującego rozruchu można przenieść z jednej partycji na drugą i nadal działać dobrze, przynajmniej z perspektywy Bezpiecznego rozruchu. (Przeniesienie takiego pliku może spowodować jego awarię, ponieważ został on oddzielony od krytycznych plików konfiguracyjnych itp., Oczywiście, ale to inna sprawa.)

Aby bardziej bezpośrednio odpowiedzieć na pytanie, specyfikacja EFI nie nakłada żadnych ograniczeń na liczbę ESP, które mogą być obecne na komputerze lub dysku twardym; możesz mieć ich kilkadziesiąt, jeśli chcesz, i to byłoby w porządku z perspektywy EFI. Niestety Microsoft nie jest tak elastyczny; Windows oficjalnie obsługuje tylko jeden ESP na dysk (może na komputer; jestem trochę zamglony w tym szczególe). Nie wiem o systemie Windows 8, ale instalator systemu Windows 7 uruchomi się, jeśli zobaczy na dysku więcej niż jeden ESP; instalacja będzie przebiegać przez pewien czas, a następnie zakończy się niepowodzeniem. (Przynajmniej tak się dzieje w moich testach.) To powiedziawszy, jeśli utworzysz później drugą ESPinstalując system Windows, system Windows będzie nadal uruchamiał się i działał poprawnie, przynajmniej o ile widziałem. (Nie mogę obiecać, że nie zachowa się źle, jeśli użyjesz określonej funkcji).

Ogólnie rzecz biorąc, w środowisku z wieloma systemami rozruchowymi zalecam ograniczenie się do jednego ESP. Polecam również, aby był dość duży - moim zaleceniem jest 550 MB, z różnych powodów technicznych związanych z rzadkimi błędami i rozmiarami FAT. To powiedziawszy, jeśli masz istniejącą instalację z mniejszym ESP, prawdopodobnie dobrze jest po prostu się z tym trzymać. W obu przypadkach Linux i Windows mogą dobrze współdzielić jeden ESP. Zalecam jednak tworzenie kopii zapasowej wcześnie i często - zdecydowanie wykonaj kopię zapasową przed instalacją nowego systemu operacyjnego. Ponieważ ESP przechowuje programy ładujące, przypadkowe usunięcie go spowoduje, że komputer nie uruchomi się.

Rod Smith
źródło
Dzięki Rod. „Działasz w niezrozumieniu, że PK są powiązane z ESP”. Microsoft stwierdza „Dostęp do partycji jest kontrolowany przez oprogramowanie układowe systemu, zanim system uruchomi system operacyjny”. W jaki sposób oprogramowanie układowe może ograniczyć dostęp do partycji dla opcji rozruchu, jeśli nie przez określony klucz platformy? Rozumiem podpisywanie, ale co powiesz na to, czy PK1, PK2 itp. Są używane jako główny element w prostej liście ACL (próbuję dowiedzieć się, jak działa tutaj podsystem authz).
jww
1
„Specyfikacja EFI nie nakłada żadnych ograniczeń na liczbę ESP, które mogą być obecne na komputerze lub dysku twardym”. Perfekcyjnie, dzięki.
jww
1
„Microsoft nie jest tak elastyczny; Windows oficjalnie obsługuje tylko jeden ESP na dysk”. Microsoft nie stwierdził tego, ale myślałem, że tak było z powodu ich podejrzanego języka. Ci sami ludzie prawdopodobnie piszą „NSA nie ma bezpośredniego dostępu do danych naszych klientów”.
jww
3
Jeśli chodzi o cytat, że „dostęp do partycji jest kontrolowany przez oprogramowanie układowe systemu”, nadmiernie interpretujesz. Nie dotyczy to kontroli kryptograficznych, ale faktu, że EFI zapewnia sterowniki umożliwiające programom EFI dostęp do partycji. Microsoft nie powiedzieć, że obsługuje tylko jeden ESP. Na przykład tutaj: „P: Czy na jednym dysku mogą znajdować się dwa ESP? O: Taka konfiguracja nie powinna zostać utworzona i nie jest obsługiwana w systemie Windows”.
Rod Smith
Instalacja systemu Windows 10 nie powiodła się, gdy miałem dwa dyski z ESP każdy. Kiedy odłączyłem drugi, instalator był w stanie kontynuować bez błędu, ponownie wykorzystując istniejący ESP na jedynym dysku, który pozostawiłem podłączony (który obejmował także docelową partycję root okna).
opatut