2014-06-07 08:29:42 +0000 2014-06-07 08:29:42 +0000
35
35

Jak stworzyć partycję systemową EFI?

TL; DR Jak stworzyć partycję systemową EFI od podstaw? Jak umieścić na niej firmware systemu EFI o ile został on utworzony?

Wersja długa

Mam laptopa Toshiba T430. Otrzymałem go z zainstalowanym systemem Windows 7 (ale wydaje mi się, że oryginalnie został on dostarczony z systemem Windows 8). Zainstalowałem na nim Ubuntu, ale usunąłem niektóre partycje na dysku, więc w końcu wymazałem Windows i miałem tylko Ubuntu. Wśród usuniętych partycji znalazła się partycja systemowa EFI. Odkryłem, że Ubuntu uruchamia się teraz w trybie “Legacy” (a nie UEFI). Staram się przestrzegać ten przewodnik po konwersji mojej instalacji Ubuntu z Legacy do UEFI . Problem - ponieważ nie ma partycji EFI za każdym razem, gdy wybieram z BIOSu do uruchomienia z UEFI, nie mogę uruchomić systemu. To się liczy nie tylko dla dysku twardego, ale także dla USB i DVD. Myślę, że jest to logiczne - oczekuje partycji EFI, a ponieważ nie może jej znaleźć, nie może dalej uruchamiać się z dysku twardego czy DVD. Więc jak odtworzyć partycję EFI?

Powyższy przewodnik mówi:

Tworzenie partycji EFI

Jeśli ręcznie partycjonujesz swój dysk w instalatorze Ubuntu, musisz się upewnić, że masz ustawioną partycję EFI.

  1. Jeśli twój dysk zawiera już partycję EFI (np. jeśli twój komputer miał preinstalowany system Windows8), może on być również używany w Ubuntu. Nie należy jej formatować. Zdecydowanie zaleca się posiadanie tylko 1 partycji EFI na dysku.

  2. Partycja EFI może być utworzona przez najnowszą wersję GParted (wersja Gparted zawarta na dysku 12.04 jest OK), i musi mieć następujące atrybuty:

Miałem pewne problemy z utworzeniem tej partycji:

  • startuję z live Ubuntu DVD, otwieram GParted, tworzę partycję 200MB i formatuję ją do FAT32.
  • W GParted nie mogę ustawić punktu montowania i tym samym nie mogę ustawić flagi startowej.
  • W /etc/fstab nie ustawiłem punktu montowania, ponieważ jest to żywa płyta CD i fstab wyglądał zupełnie inaczej niż oczekiwałem w porównaniu do normalnego startu. W każdym razie, po prostu nie wiedziałem jakie wartości ustawić.

Uruchomiłem ponownie przez live DVD, a następnie wybrałem instalację Ubuntu. Następnie stworzyłem partycję z wymienionymi kryteriami - punkt montowania, 200MB, FAT32, flaga startowa.

Jednak nadal mam ten problem i przypuszczam, że jest on spowodowany tym, że na tej partycji nie ma firmware'u EFI, jest to po prostu pusta partycja, która jest odpowiednia do posiadania firmware'u EFI.

Więc ponownie, jak stworzyć partycję EFI, która ma oprogramowanie EFI, aby laptop mógł ponownie uruchomić się w trybie UEFI?

Odpowiedź Dziękujemy obu za odpowiedzi. To co zrobiłem to zainstalowanie Windows 8.1 od podstaw poprzez sformatowanie całego dysku, a następnie zainstalowanie (tym razem poprawnie) Ubuntu obok niego. Są to teraz moje partycje:

Podczas instalacji Win 8, gdy tylko usunąłem wszystkie istniejące partycje i pozwoliłem systemowi Windows sformatować dysk, automatycznie utworzył on, oprócz głównej partycji instalacyjnej, trzy dodatkowe partycje, a mianowicie 1, 2, 3. Teraz, po tym jak miałem odpowiedni ESP, mogłem startować zarówno z dysku twardego jak i DVD w trybie UEFI.

Mówisz, że ESP domyślnie nie przechowuje żadnych informacji, ale zgaduję, że gdy system operacyjny się instaluje, umieszcza tam jakieś informacje. Więc mój przypadek był następujący: Wymazałem go i mimo, że go odtworzyłem, nie był wypełniony żadnymi informacjami, ponieważ tworzenie ESP odbywało się po zainstalowaniu systemu operacyjnego. Straciłem instalację Ubuntu (nic wielkiego, i tak była to nowa instalacja), ale myślę, że aby ją zapisać, powinienem był zastosować się do rady grawity . Nie miałem jednak czasu, ale na szczęście wszystko jest teraz w porządku.

Odpowiedzi (4)

39
39
39
2014-06-07 13:27:45 +0000

Po pierwsze, nie ustawiasz punktu montowania w GParted; odbywa się to ręcznie (i tymczasowo) za pomocą polecenia mount lub na stałe poprzez edycję /etc/fstab. W związku z tym Twoje obawy związane z tą kwestią są błędne.

Po drugie, partycja systemowa EFI (ESP) jest po prostu partycją FAT z ustawionym kodem określonego typu (mianowicie C12A7328-F81F-11D2-BA4B-00A0C93EC93B na dyskach GPT). Należy pamiętać, że punkt montowania w /etc/fstab nie jest częścią definicji ESP; dostęp do ESP jest po prostu konwencjonalny (ale nie jest wymagany) w Linuksie poprzez zamontowanie go w /boot/efi, zazwyczaj poprzez wejście /etc/fstab. Sposób ustawiania kodu typu różni się w zależności od programu:

  • w gdisk kod typu ustawia się na EF00. (gdisk używa dwubajtowych kodów typu, które rozszerzają się do rzeczywistych kodów typu na dysku; “EF00” jest tylko mnemonikiem dla “C12A7328-F81F-11D2-BA4B-00A0C93EC93B”)
  • w GParted lub parted, ustawiasz “flagę startową”. Zauważ jednak, że działa ona tylko na dyskach GPT; w przypadku tych programów nie można ustawić kodu typu ESP na dyskach MBR. (To zwykle nie jest wielka sprawa, ponieważ komputery z EFI zwykle uruchamiają się z dysków GPT)
  • W instalatorze Ubuntu identyfikujesz partycję jako “partycję rozruchową EFI”. Następnie ustawia kod typu i odpowiednio ustawi /etc/fstab.
  • W ostatnich wersjach Linuksa fdisk, typ partycji ustawia się po jej numerze (1 dla “Systemu EFI” na dyskach GPT lub 0xEF na dyskach MBR) lub wpisując pełny kod typu na dyskach GPT.

Po trzecie, ESP nie posiada firmware'u - firmware jest z definicji przechowywany w chipach na płycie głównej. Dlatego też wysiłek włożony w instalację firmware'u EFI na ESP jest szaloną gonitwą. (Istnieją dwa wyjątki od tej reguły. Po pierwsze, możesz zapisać plik z firmware'em w ESP w celu aktualizacji firmware'u na Twoim komputerze. Jest to jednak tylko tymczasowe miejsce przechowywania. Po drugie, bootloader DUET lub Clover , EFI jest ładowany jako zwykły program, zwykle z ESP. Narzędzia te są jednak ładowarkami BIOS-u, które umożliwiają uruchamianie BIOS-u tylko na komputerach z EFI; są one nie normalnie używane na komputerach z firmware'em EFI, który, jak twierdzisz, posiada twój komputer. Technicznie rzecz biorąc, ani DUET ani Clover nie są firmware'ami; są to BIOS-owe programy ładujące, które wykonują tę samą pracę co EFI)

Na koniec, mogę sobie wyobrazić kilka możliwych przyczyn twojego problemu, ale bez dalszych informacji, musiałbym napisać pół książki, aby omówić je wszystkie. Zalecam uruchomienie Boot Info Script na komputerze. Spowoduje to powstanie pliku o nazwie RESULTS.txt. Wyślij go do strona pastebin i wyślij z powrotem z adresem URL do dokumentu. To da twarde dane na temat twojej konfiguracji, co znacznie zmniejszy zakres możliwych przyczyn twojego problemu.

11
11
11
2014-06-07 13:25:13 +0000

Partycja EFI nie przechowuje firmware (który jest przechowywany w chipie na płycie głównej); przechowuje ona boot loaders dla zainstalowanych systemów operacyjnych. Jest to w zasadzie alternatywa EFI polegająca na umieszczeniu bootloadera w sektorze 0 dysku, tak jak to miało miejsce w przypadku komputerów z BIOS-em.

Oznacza to, że gdy posiadasz taką partycję, powinna ona zostać wypełniona automatycznie po zainstalowaniu systemu operacyjnego. (Całkiem prawdopodobne jest jednak, że sam dysk install również musi być uruchomiony w trybie EFI, w przeciwnym razie nie będzie przeszkadzał w konfiguracji UEFI boot… w rzeczywistości niektórych części konfiguracji nie da się wykonać nawet z trybu BIOS)

Jeśli masz już zainstalowany Ubuntu, musisz:

  1. Zainstaluj wersję UEFI GRUB; I think it is in the grub-efi-amd64-signed package.

  2. Upewnij się, że GRUB zainstalował się jako \EFI\Boot\bootx64.efi na partycji systemowej EFI. (Używam tutaj składni ścieżki EFI; jeśli zamontujesz partycję na /boot na Linuksie, będzie to /boot/EFI/Boot/bootx64.efi.)

  3. Reboot. Spróbuj wybrać jakiś tryb EFI w menu startowym Twojego firmware'u (firmware'y EFI mają własne menu startowe, jeszcze przed GRUBem).

  4. Sprawdź czy dmesg | grep "efi:" coś pokazuje, aby potwierdzić, że jesteś w trybie EFI.

2
2
2
2017-03-10 02:05:31 +0000

Stwórz dwa pliki z notatnikiem i zapisz je na dysku instalacyjnym USB Windows. SaveAs: CreatePartitions-UEFI.txt

select disk 0  
clean  
convert gpt  
rem == 1. System Partition =====================  
create partition efi size=210  
format fs=fat32 quick label=”SYSTEM”  
active  
rem == 2. Microsoft Reserved (MSR) partition ======  
create partition msr size=16  
rem == 3. Windows partition ===================  
create partition primary size=xxxxxx   
format fs=ntfs quick label=”Windows”   
assign letter=”W”  
rem == 4. Recovery tools partition ================  
create partition primary size=460  
format fs=ntfs quick label=”Recovery”  
assign letter=:R”  
list volume

Utwórz kolejny plik tekstowy z notatnikiem: SaveAs: diskpart-UEFI.txt

diskpart /s D:\CreatePartitions-UEFI.txt   

REM where D:/ is the usb drive. This command runs the text file to install the partitions.

Jeśli korzystasz z MBR to polecenie będzie konwertowane na mbr.

Aby uzyskać rozmiar partycji Windows, pomnóż swój rozmiar HD razy 1024, 100 gigowy dysk twardy razy 1024 równa się 102400 minus 210 (rozmiar efi) minus 16 (rozmiar msr) minus 460 (rozmiar zarezerwowany) równa się rozmiarowi partycji Windows. (xxxxxx)

Możesz zmienić rozmiar partycji z terminala (Command Prompt) cd /d D: > notepad CreatePartitions-UEFI.txt

Gdy znajdujesz się na dysku USB otwartym z notatnikiem-UEFI.txt i zostawiasz otwartym lub zapisujesz polecenie, aby nie popełnić błędu. Kiedy już zmienisz rozmiar partycji na swój, zamknij ją, następnie cd /d x:/Sources następnie uruchom diskpart /s D:\CreatePartitions-URFI.txt. lista woluminów jak ostatnie polecenie pokazuje partycje, jeśli jesteś szczęśliwy, wyjdź >wyłącz komputer > restart > install

-2
-2
-2
2018-11-09 19:31:40 +0000

używaj gnome-dyskietek, pakiet “gnome-disk-utility”, jest super poręczny.