moim pomysłem jest stworzenie USB-Boot-Stick z Lubuntu, który byłby zdolny do uruchamiania na starszym laptopie BIOS i nowszych systemach UEFI.
Byłoby to dość łatwe, gdy Stick byłby skonfigurowany jako starsze urządzenie rozruchowe, ale chcę, aby było to urządzenie obsługujące UEFI.
- Czy to ma w ogóle sens ?! Czy też zrozumiałem, że koncepcja UEFI jest strasznie błędna?
- W razie potrzeby mogą być dwie różne instalacje systemu Linux (jedna dla UEFI, jedna dla starszych wersji, ale obie na tym samym dysku)
- Uruchom urządzenie GPT na starszym Biosie - czy to zadziała?
Nie widzę wyraźnego, może być po prostu lepszym pomysłem mieć oddzielną starą wersję bootowania Linuksa, ale jestem ciekaw odkrywania granic :)
Czy mój pomysł na hybrydowy linux-uefi-boot-usb-stick, który działałby ze starszymi biosami jest możliwy?
(3) wydaje się być możliwe dla Linuksa z grub http://www.rodsbooks.com/gdisk/booting.html
Co więcej, mam partycję EF00 gotową na tym drążku, oprócz Swap, Fat32 i dwóch partycji Ext4.
(1) wydaje się również możliwe http://www.rodsbooks.com/bios2uefi/
Te instrukcje pochodzą jednak z 2012 roku, minęło trochę czasu, ponieważ - czy ktoś ma działający przykład, który jest łatwiejszy?
Dla innych badaczy tego tematu:
Uruchamianie systemu Windows 7 z dysku GPT na płycie głównej innej niż EFI Czy istnieje sposób na uruchomienie systemu Windows 7/8 przy użyciu systemu BIOS na GPT?
http://www.borncity.com/blog/2012/07/25/uefi-emulation-auf-pcs/
AKTUALIZACJA:
Udało mi się stworzyć część UEFI, w tym bezpieczną konfigurację rozruchu za pomocą rEFInd.
Zgodnie z podanymi wskazówkami dd
kopiowałem gptmbr.bin
na dysk, który wydaje się teraz robić przynajmniej coś w systemie BIOS: „To nie jest dysk rozruchowy”
Postępowałem jednak zgodnie z radą i ustawiłem pmbr
flagę dysku i legacy boot
flagę gpt - nadal otrzymujesz ten błąd, jakieś pomysły?
Moja partycja ESP jest drugą partycją na dysku i jest instalowana z plikami efi.
Ustawić:
- 64 GB miejsca
- GPT Partitiontable
- Dysk ma ustawioną flagę pmbr
- Pierwsza partycja zaczyna się od 16 MB i ma około 45 GB, co oznacza 32 główne dane
- Druga partycja zaczyna się około 45 GB i jest to system EFI (fat32) z działającą konfiguracją rEFInd
- 3 - 5 partycja to home (ext4), swap i root (ext4) mojego działającego Lubuntu 14.04.1
Za pomocą dd
skopiowałem gptmbr.bin
mój skompilowany Syslinux 6.02 do pierwszych 440 bajtów.
W parted 3.2 widzę, że moja partycja 2 ma flagę boot
i legacy_boot
.
Podczas rozruchu otrzymuję Brak dysku rozruchowego - jeśli ustawię swoją 5. zamiast 2. partycji legacy_boot
, otrzymuję brakujący system operacyjny
To żyje!
(Jak moje stare pytanie zostało usunięte /ubuntu//q/516730/319747 )
Domyślam się, że muszę skopiować niektóre
*.c32
i inne pliki do folderu syslinux eighter na moim EFI (gdzie ?!) lub na głównej partycji (/boot/syslinux
?!), Aby go uruchomić - mam rację? Jakie pliki są niezbędne?Co więcej, chyba też będę potrzebować tego
syslinucx.cfg
pliku - prawda?
Moim celem byłoby przynajmniej bezpośrednie uruchomienie systemu lubuntu na głównej partycji ext4.
Aktualizacja:
Chociaż nie mam pojęcia, dlaczego to działa - ale nie z ręczną instalacją.
pmbr
flag było złe i zakazane mój system UEFI z uruchomieniem kij jak UEFIlegacy_boot
flag było konieczne dla mojego 5th partycji (root linux)- Musiałem użyć
extlinux --install /path/to/root/parition
- Musiałem utworzyć
syslinux.cfg
w folderze syslinux pod startem mojej partycji rootZrobiłem to wszystko na drugim mniejszym patyku, a potem próbowałem skopiować tylko folder syslinux, ale nie miałem szczęścia -
extlinux --install
wydaje się to obowiązkowe.Czy ktoś wie, co dokładnie
extlinux --install
robi? Czy można to zrobić ręcznie lub jak inaczej można zainstalować nowszą wersję, taką jak 6.02, bez instalowania jej w systemie?
Mam kij do pracy z partycjami wymienionymi w BIOS, UEFI i UEFI SecureBoot, do diabła z przejażdżką, wiele się nauczyłem, prawie zabiłem 2 TB z rozstaniem, bądź ostrożny i powodzenia.
Odpowiedzi:
Jest to możliwe i bardzo często odbywa się to zarówno przy użyciu zewnętrznych pamięci USB, jak i napędów wewnętrznych.
W odniesieniu do typów tabel partycji:
BIOS zwykle nie potrzebuje żadnej tablicy partycji. Jest zainteresowany tylko częścią kodu bootstrap, która jest pierwszymi 440 bajtami twojego MBR. (Chociaż są wyjątki. Niektóre implementacje BIOS-u faktycznie się psują, jeśli nie mogą znaleźć MBR z jednym ze zwykłych typów partycji. Mam nadzieję, że są one rzadkie.)
Tabela partycji GPT nie zastępuje fizycznie MBR - zawsze zaczyna się od sektora 1, podczas gdy MBR znajduje się w sektorze 0 - więc możliwe jest, że dysk ma oba. W rzeczywistości, większość dysków GPT nie mają „MBR ochronną”, zawierającą tylko jedną partycję, która obejmuje cały dysk, aby zapobiec starszych narzędzi do partycjonowania MBR tylko przed przypadkowym zniszczeniem danych.
Możesz więc na przykład zainstalować sektor rozruchowy Syslinux w MBR, a on się uruchomi. (
syslinux-install_update
Skrypt zrobi to za Ciebie, ale możesz poszukaćgptmbr.bin
w pakiecie syslinux, aby zrobić to ręcznie.)Podobnie jak flaga „aktywna” na partycjach MBR, Syslinux będzie szukać flagi „starszej wersji BIOS-u do rozruchu” na partycjach GPT (bit 2 - specyfikacja UEFI 2.4 sekcja 5.3.3 tabela 20); wyżej wspomniany skrypt również ustawia tę flagę automatycznie, jeśli masz
sgdisk
(z gptfdisk) zainstalowany.GRUB może być również używany, ale jest też trochę bardziej irytujący. Ponieważ GRUB 2 chce „osadzić” swoje części w tradycyjnie nieużywanych sektorach 1-62, zastąpiłoby GPT, które są przechowywane w tej samej lokalizacji. Może więc być konieczne utworzenie dedykowanej partycji o wielkości 2-4 MB i oznaczenie jej jako rozruchowej z systemu BIOS, aby
grub-install
znalazło się miejsce do osadzenia.Z drugiej strony, specyfikacja UEFI nie wymagają wsparcia dla typów partycji MBR (rozdział 12.3.1) i przypisać typ partycji MBR
0xEF
na partycji systemowej EFI (sekcja 5.2.2).Więc jeśli z jakiegoś powodu nie możesz uruchomić swojego dysku z GPT, nadal możesz utworzyć partycję systemową EFI na MBR i będzie ona używana, o ile będzie mieć prawidłowy system plików i wszystkie niezbędne pliki (sekcja 12.3.1.3):
Jeśli chodzi o systemy operacyjne, Linux zasadniczo nie dba o to, czy został uruchomiony dzisiaj z BIOS-u, a jutro z UEFI. W tym tygodniu musiałem ponownie uruchomić laptopa z trybu UEFI do trybu „BIOS” iz powrotem sto razy, próbując znaleźć błąd we wsparciu UEFI 3.17 ...
Zauważ, że artykuł „Transformacja systemu BIOS na UEFI” dotyczy zupełnie innej rzeczy. Opisuje sposób instalacji samego UEFI - implementacji UEFI o nazwie „DUET” - która ma być uruchamiana z systemu tylko BIOS. Nie ma to nic wspólnego z uruchamianiem systemu operacyjnego bezpośrednio z BIOS-u.
źródło
mbr
wydaje się, że wszystko jest w porządku, ale nie mogę znaleźćEFI System
partycji. Czy to problem, że jest to druga partycja na dysku zaczynająca się od około 45 GB na dysk? Czy muszę skonfigurować dział EFI oprócz istniejącej konfiguracji EFI?Tak, jest to możliwe.
Podstawową ideą jest podzielenie pamięci USB na GPT w następujący sposób:
1686148-6449-6E6F-744E-656564454649
) - 1 MiB, bez systemu plikówC12A7328-F81F-11D2-BA4B-00A0C93EC93B
) - system plików 200 MiB, VFAT0FC63DAF-8483-4772-8E79-3D69D8477DE4
) - 1 system plików GiB, ext40FC63DAF-8483-4772-8E79-3D69D8477DE4
) - pozostała przestrzeń, system plików XFS lub BtrfsPartycjonowanie pozwala nam uruchamiać się w starszych systemach, ponieważ dzięki GPT wciąż jest miejsce na MBR (ze względu na kompatybilność wsteczną), a Grub2 ma wystarczająco dużo miejsca, aby zainstalować część środkową na partycji rozruchowej BIOS. Starsze BIOS-y nie dbają o schemat partycjonowania, a jądro Grub2 / Linux nie ma problemów ze zrozumieniem GPT w starszych systemach.
W systemach UEFI oprogramowanie układowe UEFI ignoruje MBR i wykorzystuje partycję systemową EFI jako punkt wejścia.
Na przykład w Fedorze zasadniczo musisz wykonać następujące czynności:
Upewnij się, że system plików Linux Boot jest zamontowany pod,
/boot
a system plików partycji systemowej EFI jest zamontowany pod/boot/efi
.(Ponownie) Zainstaluj starsze moduły ładujące i moduł ładujący UEFI:
(Re-) Wygeneruj pliki konfiguracyjne grub zarówno dla starszego, jak i rozruchu UEFI:
W zależności od tego, czy system został uruchomiony w trybie starszym, czy w trybie UEFI, musisz naprawić pierwszy lub drugi plik i zastąpić
(linux|initrd)16
go(linux|initrd)efi
na odwrót.Zainstaluj gruba w MBR:
Voila
źródło