Bir EFI Sistem Bölümü nasıl oluşturulur?


34

TP; DR Sıfırdan bir EFI sistem bölümü nasıl oluşturabilirim? EFI bellenimini, oluşturulduğu tarihte nasıl kurarım?

Uzun versiyon

Toshiba T430 dizüstü bilgisayarını havalandırıyorum. Windows 7 yüklü olarak aldım (ama aslında Windows 8 ile birlikte gönderildiğini düşünüyorum). Ubuntu'yu kurdum, ancak diskten bazı bölümleri sildim, böylece Windows'u silerek ve sadece Ubuntu'ya sahip oldum. Silinen bölümler arasında EFI Sistem bölümü de vardı. Ubuntu’nun artık Legacy modunda (UEFI değil) önyüklendiğini keşfettim. Ubuntu kurulumumu Legacy'den UEFI'ye dönüştürmekle ilgili bu kılavuzu izlemeye çalışıyorum. Sorun - BIOS'tan UEFI kullanarak önyüklemeyi seçtiğimde EFI bölümü olmadığı için önyükleme yapamıyorum. Bu sadece harddrive için değil, aynı zamanda usb ve DVD için de geçerli. Bunun mantıklı olduğunu düşünüyorum - bir EFI bölümü bekliyor ve onu bulamadığından, daha fazla önyükleme yapamıyor, HDD veya DVD'den olsun. Peki, EFI bölümünü nasıl yeniden oluşturabilirim?

Yukarıdaki rehberde şöyle yazıyor:

EFI bölümü oluşturma

Diskinizi Ubuntu yükleyicide manuel olarak bölümlendiriyorsanız, bir EFI bölümü kurduğunuzdan emin olmanız gerekir.

  1. Diskinizde zaten bir EFI bölümü varsa (örneğin, bilgisayarınızda önceden kurulu Windows8 varsa), Ubuntu için de kullanılabilir. Biçimlendirmeyin. Disk başına yalnızca 1 EFI bölümünün olması şiddetle önerilir.

  2. Yeni bir GParted sürümü (12.04 diskinde bulunan Gparted sürümü tamamdır) üzerinden bir EFI bölümü oluşturulabilir ve aşağıdaki özelliklere sahip olması gerekir:

    1. Mount point: / boot / efi (not: manuel bölümlemeyi kullanırken bu mount noktasını ayarlamanıza gerek yok, Ubuntu yükleyici bunu otomatik olarak algılar)

    2. Boyut: minimum 100Mib. 200MiB önerilir.

    3. Türü: FAT32

    4. Diğer: "boot" bayrağına ihtiyaç var.

Bu bölümü oluştururken bazı sorunlar yaşadım:

  • Canlı bir Ubuntu DVD'sinden başlattım, GParted'i açtım, 200 MB'lık bir bölüm oluşturdum ve FAT32 olarak biçimlendirdim.
  • GParted'de bağlantı noktasını ayarlayamıyorum ve bu nedenle önyükleme değerini ayarlayamıyorum.
  • /etc/fstabCanlı bir CD olduğundan ve fstab normal bir önyüklemeye kıyasla beklediğimden oldukça farklı göründüğü için bağlama noktasını ayarlamadım . Neyse, hangi değerleri ayarlayacağımı bilmiyordum.

Canlı DVD üzerinden tekrar başlattım ve Ubuntu'yu kurmayı seçtim. Daha sonra belirtilen kriterlere sahip bir bölüm oluşturdum - mount point, 200MB, FAT32, boot flag.

Ancak, bu sorunu yaşamaya devam ediyorum ve sanırım bu bölümde EFI ürün yazılımı yok, EFI ürün yazılımı için uygun olan sadece boş bir bölüm.

Öyleyse, dizüstü bilgisayarın bir kez daha UEFI modunda önyüklenebilmesi için EFI yazılımına sahip bir EFI bölümü nasıl oluşturabilirim?

ÇÖZÜM Cevaplarınız için ikinize de teşekkür ederiz. Yaptığım şey, tüm diski biçimlendirerek ve ardından (bu kez düzgün şekilde) yanında Ubuntu'yu yükleyerek Windows 8.1'i sıfırdan yüklemek oldu. Bunlar şimdi bölümlerim:

Disk bölümleri

Win 8 kurulumu sırasında mevcut tüm bölümleri siler ve Windows'un diski yeniden biçimlendirmesine izin verir vermez, ana yükleme bölümünün yanı sıra, 1, 2, 3 gibi üç ek bölüm daha otomatik olarak oluşturuldu. , UEFI modunda hem HDD'den hem de DVD'den önyükleme yapabilirim.

ESP'nin varsayılan olarak herhangi bir bilgiyi saklamadığını söylüyorsunuz, ancak sanırım bir işletim sistemi kurulduğunda bazı bilgileri oraya koyar. Sanırım benim durumum şunlardı: Ben sildim ve yeniden yaratmış olmama rağmen ESP'nin oluşturulması bir işletim sistemi kurulduktan sonra yapıldığı için hiçbir bilgi ile doldurulmadı. Ubuntu kurulumunu kaybettim (önemli değil, yine de yeni bir kurulum oldu), fakat tasarruf etmek için Grawity'nin tavsiyesine uymalıydım . Yine de vaktim olmadı, ama mutlu bir şekilde şimdi her şey yolunda.


1
ESP, önyükleyici yükleyicileri depolar. Böylece, mevcut bir kurulumunuz varsa ve ESP'yi silerseniz, bilgisayarı ön yükleme olanağını kaybedersiniz. Bu tip bir sorun aslında oldukça düzeltme basittir - EĞER nasıl biliyorum!
Rod Smith,

Her şey benim sorum hakkındaydı :)
Alex Popov

Yanıtlar:


37

İlk önce, bağlama noktasını GParted'de ayarlamazsınız; Bu, mountkomut aracılığıyla manuel olarak (ve geçici olarak) veya kalıcı olarak düzenleyerek yapılır /etc/fstab. Bu nedenle, bu konudaki endişeniz yanlış.

İkincisi, bir EFI Sistem Bölümü (ESP) yalnızca belirli bir tür koduyla (yani GPT disklerinde C12A7328-F81F-11D2-BA4B-00A0C93EC93B) ayarlanmış bir FAT bölümüdür. Bağlama noktasının /etc/fstabESP'nin tanımının bir parçası olmadığını unutmayın ; Linux'ta ESP'ye /boot/efi, tipik olarak bir /etc/fstabgiriş aracılığıyla monte ederek erişmek gelenekseldir (ancak gerekli değildir) . Tip kodunu nasıl ayarlarsınız bir programdan diğerine değişir:

  • Gelen gdisk, sen EF00 tip kodunu ayarlayın. ( gdiskdiskteki gerçek tür kodlarına kadar genişleyen iki baytlı tür kodları kullanır; "EF00", "C12A7328-F81F-11D2-BA4B-00A0C93EC93B" için yalnızca bir anımsatıcıdır.)
  • GParted veya parted"boot flag" olarak ayarlayın. Ancak bunun yalnızca GPT disklerde çalıştığını unutmayın ; ESP tipi kodunu bu programlarla birlikte MBR disklerine ayarlayamazsınız. (EFI tabanlı bilgisayarlar genellikle GPT disklerinden önyüklendiğinden bu normalde çok fazla bir şey değildir.)
  • Ubuntu yükleyicide, bölümü "EFI önyükleme bölümü" olarak tanımlarsınız. Daha sonra türü kodu ayarlar ve kuracak /etc/fstabuygun.
  • Linux'un son sürümlerinde fdisk, bölüm türünü (GPT disklerinde "EFI Sistemi" için 1 veya MBR disklerinde 0xEF için) numarasına veya GPT disklerinde tam tür kodunu girerek ayarlayabilirsiniz.

Üçüncüsü, ESP ürün yazılımı tutmaz - ürün yazılımı tanım gereği anakart üzerindeki yongalarda depolanır. Bu nedenle, ESP'ye EFI bellenimini kurma çabanız vahşi bir kaz kovalamacasıdır. (Bu kuralın iki istisnası vardır. İlk olarak, bilgisayarınızdaki yazılımı güncellemek için ESP'de bir ürün yazılımı dosyası depolayabilirsiniz. Bu, yalnızca geçici bir saklama alanıdır. İkincisi, DUET veya Clover önyükleyici, EFI ESP dan tipik düzenli bir program olarak yüklenen Bu araçlar onlar EFI makineleri sanki boot BIOS salt bilgisayarları etkinleştirmek olsa da, BIOS önyükleme yükleyiciler vardır;. bunlar değilnormalde, bilgisayarında bulunduğunu iddia ettiğiniz EFI ürün yazılımı bulunan bilgisayarlarda kullanılır. Teknik olarak, ne DUET ne de Clover ürün yazılımıdır; EFI ile aynı işi yapan BIOS önyükleyicileridir.)

Son olarak, probleminiz için birtakım olası sebepleri düşünebilirim, ancak daha fazla bilgi olmadan hepsini kapsayacak bir kitap yazmam gerekir. Bilgisayarda Boot Info Script'i çalıştırmanızı öneririm . Bu denilen bir dosya üretecektir RESULTS.txt. Bunu yayınla bir pastebin sitesinde ve belgeye URL ile yazılan arka. Bu, yapılandırmanız hakkında zor veriler verecektir ve bu, probleminizin olası nedenlerinin kapsamını büyük ölçüde azaltır.


gdisk"Tip kodunu EF00 olarak ayarlamak" nasıl kullanılır ?
B Yedi

@BSeven t, 1, ef00.
Ocaklar

11

EFI bölümü bellenimi saklamıyor (anakart üzerindeki bir yongada saklanıyor); yüklü işletim sistemleri için önyükleyici yüklerini tutar . Temel olarak, BIOS yükleyicilerinde olduğu gibi önyükleme yükleyicisini diskinizin 0ncı bölümüne koymak EFI alternatifidir.

Bu, böyle bir bölüme sahip olduğunuzda, işletim sistemini kurduğunuzda otomatik olarak doldurulması gerektiği anlamına gelir. (Takma diskinin kendisinin de EFI modunda başlatılması gerektiğine rağmen , aksi halde UEFI önyüklemesini ayarlama zahmetine girmez ... aslında, kurulumun bazı kısımları BIOS modundan bile yapılamaz).

Ubuntu zaten yüklüyse, şunları yapmanız gerekir:

  1. GRUB UEFI sürümünü yükleyin; Bence içinde bulunduğu grub-efi-amd64-signedpaketin.

    grub-install --target=x86_64-efi-signed
    

    (İmzasız grub-efi-amd64sürüm için, öyle x86_64-efi.)

  2. GRUB'un \EFI\Boot\bootx64.efiEFI sistem bölümündeki gibi kendisini kurduğundan emin olun . (Burada EFI yol sözdizimini kullanıyorum; bölümü /bootLinux'ta yüklerseniz, olur /boot/EFI/Boot/bootx64.efi.)

    Değilse, grubx64.efibu konuma manuel olarak kopyalayın .

    Bu gereklidir, çünkü grub-installsistem zaten EFI modunda önyüklemediği sürece, kendisini EFI önyükleme menüsüne ekleyemez . ("EFI değişkenleri" nin BIOS'a girmesi imkansızdır.) Bu nedenle GRUB'u başlatmanın tek yolu, "geri yükleme önyükleyicisi" konumuna koymaktır.

  3. Yeniden Başlatma. Ürün yazılımı önyükleme menüsünde bir tür EFI modu seçmeyi deneyin (EFI ürün yazılımı, GRUB'dan önce bile kendi önyükleme menüsüne sahiptir).

  4. dmesg | grep "efi:"EFI modunda olduğunuzu onaylamak için herhangi bir şey olup olmadığını kontrol edin .


1
Eski bir konu açmayı kastetmiyorum, ama sorunuma bir çözüm bulmaya çalışıyorum ve bu konuya rastladım. Dell bilgisayarımdaki BIOS üretici yazılımını güncellemeye çalışıyorum ve Dell bunu Windows formatında EXE olarak ya da EFI formatlı bir bölüme koyması gereken bir dosya olarak sunuyor. yani, "Dosyayı çıkarılabilir bir medya cihazındaki EFI bölümüne indirin." OP'nin bunu ifade edip etmediğini bilmiyorum, ancak ilk paragrafınızda ne dediğinizi belirtmek istedim.
Ray

@Ray: Gelecek ürün yazılımını bu bölüme indiriyorsunuz . Bilgisayarı açtığınızda hala gerçek üretici yazılımı olarak kullanılmaz ; sadece anakarta yazacak / yanıp sönecek “yazılım güncelleyici” programı için bir veri dosyası olarak kullanılır. ("Dosyayı bir MS-DOS önyüklenebilir disketine indirin" ya da başka bir şey söylerken kullanılan talimatların ne zaman kullanıldığını hatırlayın. Peki, bu disk de ana BIOS'unuzu tutmadı. Yeniden başlatma programını ve yanıp sönmesi gereken verileri tuttu. . Aynı burada.)
yerçekimi

1
Evet biliyorum. Sanırım OP’in mutlaka yanlış olmayabilir, ancak kesin değil. Aynı şekilde, yonga üzerinde bellenimin depolanması konusunda haklısınız ve şimdi EFI bölümünde gelecekteki bir bellenimi depolamam isteniyor. Ancak birileri, tanımlamaları dikkate alınmadığında, ürün yazılımının EFI'de depolandığını söyleyebilir. (yani, tamamen yanlış değil ama yarı yanlış)
Ray

2

Not defteri ile iki dosya oluşturun ve bunları USB Windows yükleme sürücünüze kaydedin.
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

Not Defteri ile başka bir metin dosyası oluşturun:
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.

MBR kullanıyorsanız, komut olacaktır, mbr dönüştürün.

Windows bölümünün boyutunu elde etmek için, 1024 ile 100 gig'lik sabit disk süreleri 1024'e eşittir, 1024 ile 102400 eksi 210 (efi boyut) eksi 16 (msr boyut) eksi 460 (ayrılmış boyut) eşittir. Windows bölüm boyutu. (XXXXXX)

Bölmeler boyutunu terminalden değiştirebilirsiniz (Komut İstemi) cd / d D:> notepad CreatePartitions-UEFI.txt

USB sürücüsündeyken notepad diskpart-UEFI.txt ile açın ve açık bırakın veya komutu yazın; böylece bir hata yapmazsınız. Bölümlerin boyutunu istediğiniz gibi değiştirdikten sonra kapatın, sonra cd / dx: / Sources ve sonra diskpart / s D: \ CreatePartitions-URFI.txt dosyasını çalıştırın.
En son komut olarak liste hacmi size bölümleri gösterir, eğer mutlu olursa, çık> bilgisayarı kapat> restart>


-2

Gnome diskleri, "gnome-disk-utility" paketini kullanın, çok kullanışlıdır.


2
Süper Kullanıcıya Hoşgeldiniz! Ben DV-er değilim, ancak bir satır cevapları bazen işe yarayabilir, ancak cevabınızı bir açıklama içerecek şekilde düzenlerseniz daha iyi çalışırdı :) Nasıl gnome-disk-yardımcı programında bir EFI sistem bölümü oluştururlardı.
bertieb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.