'' EFI önyükleme bölümü '' ve '' biosgrub '' bölümü


21

Bunlara neden ihtiyacım var? Ubuntu'yu UEFI olmayan (ana önyükleme kaydı) altına yükledim ve Ubuntu'yu 'biosgrub' olmadan kurdum ve iyi çalışıyor, diğer zamanlarda bir 'biosgrub' bölümü yapmam isteniyor. Neden bazen ihtiyaç duyduğum ve diğerlerinin ihtiyaç duymadığı hakkında hiçbir fikrim yok (ikisi de aynı sistemdeydi).

Aynı şey UEFI (GUID Partition Table) kullandığımda da oluyor. Tek fark, bir 'EFI önyükleme bölümü' yapmam isteniyor, ancak 'biosgrub'da olduğu gibi, bazen yapmam isteniyor, bazen de yapmam istenmiyor.

Şu anki kurulumum için bir tane yapmam istendi ama yapmadım ve sistemim iyi durumda. Sistemde hiçbir değişiklik yok, aynı donanım, BIOS vs. ... Bu konuda herhangi biri ışık tutabilir mi?


2
Önyükleme konusunda tutarlı olmanız gerekir. Sadece UEFI önyükleme modunda efi bölümüne ihtiyacınız olacak ve gpt bölümlemeli sadece BIOS önyükleme modunda bios_grub bölümüne ihtiyacınız olacak. UEFI kullanıyorsanız, ancak Boot-Repair'i BIOS kipinde başlatıp grub'u BIOS kipinde kurmaya çalışıyorsanız, bios_grub bölümü oluşturmanızı isteyecektir.
oldfred

Yanıtlar:


34

Dört koşul vardır (BIOS - EFI ve MBR - GPT), ancak ikisinin de aynı ihtiyaçları vardır (bunlardan biri oldukça nadirdir):

  • Geleneksel bir MBR bölme tablosuna sahip geleneksel BIOS tabanlı bir bilgisayarda, GRUB'un çalıştırılabilir kodu, bebek tarafından atılan spagetti gibi etrafa dağılıyor. Bazıları MBR'nin önyükleme kodu bölümünde, bazıları resmen ayrılmamış MBR sonrası sektörlerde ve bazıları da Linux /bootbölümünde. Bu gerçek bir karmaşa ve sadece işe yarıyor çünkü geliştiricilerin tam anlamıyla zeki kesmek ve onlarla uğraşmak için neredeyse on yıllara sahip olmasından kaynaklanıyor.
  • Yeni bir GUID Bölümleme Tablosuna (GPT) sahip olan geleneksel bir BIOS tabanlı bilgisayarda, GRUB kodu önceki durumdakine benzerdir; ancak, MBR'yi hemen takip eden sektörler ayrılmamaktadır; GPT'nin kendisi tarafından kullanılırlar. GRUB geliştiriciler yerleşmiş böylece GPT, GRUB kaçırmak için hiçbir benzer bir yer sunmaktadır BIOS önyükleme bölümü (ki GParted ve partedbir tarafından tespit bios_grubbayrak) MBR disk üzerinde post-MBR sektörlerde gider kodunu tutmak için. Bu aslında MBR yaklaşımından daha güvenli ve temizdir, çünkü GRUB kodunu bu ayrılmamış alanı kullanmaya çalışabilecek diğer programlardan korumaya yarar.
  • BIOS yerine daha yeni bir EFI olan bir bilgisayarda, önyükleme yükleyicileri MBR'de, resmi olarak ayrılmamış MBR sonrası sektörlerde veya BIOS Önyükleme Bölümlerinde depolanmaz; bunun yerine, önyükleyiciler, EFI Sistem Bölümü (ESP) olarak bilinen bir FAT bölümünde sıradan dosyalar olarak bulunur . ( Kafa karıştırıcı bir şekilde, Debian ve Ubuntu yükleyicileri ESP'ye "EFI önyükleme bölümü" adıyla atıfta bulunuyorlar, ancak bu ad standart değil. GPP'yi ESP'ye partedsahip olarak tanımladı "bootflag "set, ancak bu terminoloji MBR disklerinde tamamen farklı bir şey anlamına gelir.) Bir ESP bir GPT diskinde veya MBR diskinde bulunabilir, ancak birincisi EFI tabanlı bilgisayarlarda çok daha yaygındır. EFI yaklaşımı çok daha güvenli ve BIOS yaklaşımından çok daha esnek, çünkü ham kodu tuhaf yerlerde çöpe atmaz, önyükleme yükleyicileri tıpkı düzeydeki programlarda olduğu gibi dosyalarda bulunur. Bu, tanımlamaları ve değiştirilmelerini kolaylaştırır. (OTOH, EFI ayrıca veri depolar) önyükleme işleminde ikinci bir başarısızlık noktası oluşturan NVRAM’daki önyükleme yükleyicilerinde EFI’nin yeniliği de, EFI’ya özgü sorunların bir kısmını oluşturan iyi test edilmediği anlamına geliyor.)

GhostMotleyX, LiveWireBT'nin yanıtına yaptığınız yorumunuz, kurulumun "en iyi" yolunun BIOS / MBR olduğunu belirtti. Bu elbette öznel, ama bu değerlendirmeye katılmıyorum. BIOS / MBR yaklaşımı en az güvenli ve en büyüğüdürözetlediğim üç yaklaşıma sakar. EFI yaklaşımı en güvenli ve en esnek yaklaşımdır. GRUB / GPT ve EFI yaklaşımları için ayrı bölümlerin gerekli olduğu gerçeğinden bıktığınızdan şüpheleniyorum, ama bu önemli bir şey değil. Sistemi kurarken ya da bölüm bakımı yaparken, bu bölümler size görünmez olacak ve size büyük bir esneklik sağlayacaktır. MBR'nin aksine, GPT dört ana bölümle sınırlı değildir, bu nedenle birincil bölümlerinizi altını istifleyen bir cüce gibi istiflemenize gerek yoktur.


Yanıt veren herkese teşekkürler, gerçekten yararlı bilgiler; özellikle Rod Smith.
GhostMotleyX

Yani bir EFI-boot sisteminde hala sadece bir küçük bölüme mi ihtiyacınız var? MBR-boot-sector ve gdisk EF02bölümünün içeriği (veya eşdeğeri) FAT biçimli EFI sistem bölümünde (gdisk türünde EF00) dosyalarda depolanabilir mi?
Peter Cordes

Peter, evet, bu temelde doğru; EFI önyükleme yükleyicileri, disk veya bölüm önyükleme kesimlerinde değil ESP'de depolanan dosyalardır.
Rod Smith,

Hem UEFI önyüklemesini hem de BIOS önyüklemesini desteklemek istersem ? Sonra grub iki kopyasını, bir tane olurdu EFI System Partitionve diğer BIOS boot partition?
Merhaba Dünya

Merhaba Dünya, bir EFI modu ve bir BIOS modu önyükleyici gerekiyor. İkisinin de GRUB olması gerekmez. Aslında, en azından birisinin olmamasını tavsiye ediyorum , çünkü bu oldukça kafa karıştırıcı olabilir. Böyle bir konfigürasyon, tek bir işletim sistemini başlatmak için oldukça anlamsız. Bazı çift önyükleme senaryoları için gerekli olabilir - örneğin, bir işletim sistemi bir EFI modu önyükleme yükleyicisine sahip değilse ve diğeri nedense EFI modunda önyükleme yapması gerekiyorsa (örneğin, Windows ve diskiniz 2TiB üzerindeyse, onun tam boyutunu desteklemek için GPT'ye ihtiyacınız olacak).
Rod Smith,

7

Bir oluşturmak için gereken biosgrub bölümü bir on GPT diski bölümlenmiş eski önyükleme veya kurarken EFI önyükleme bölümü UEFI önyükleme kurarken (GPT veya MBR hem diskin bölümlenmiş için).

  • GRUB, EF02MBT sonrası gömme boşluğu bulunmaması nedeniyle GPT disklerindecore.img dosya gömmek için BIOS sistemlerinde bir BIOS Önyükleme Bölümü (2 MiB, dosya sistemi yok, gdisk'te tür kodu veya GNU Parted'de bios_grub bayrağı yazın) gerektirir . [...]

https://wiki.archlinux.org/index.php/GPT#Bootloader_Support


1
Teşekkürler, sanırım şimdi anlıyorum; Ubuntu'yu UEFI olmayan bir MBR diske yüklüyorsam, biosgrub'a ihtiyacım olmayacak. Ubuntu'yu bir GPT diskine UEFI altına kurarsam, bir EFI bölümü oluşturmam gerekir. Sonra karşılaştığım tutarsızlık GPT diskine UEFI olmayan Ubuntu'yu ve MBR'li UEFI'yi kuracağım zamandı. Bu nedenle, Ubuntu'yu kurabilmek için teoride en iyi yol MBR bölüm tablosu olan UEFI Dışı veya GPT bölüm tablosu olan UEFI'dir.
GhostMotleyX

@GhostMotleyX Bu doğru.
LiveWireBT

1MiB bile fazlasıyla yeterli. Ben son paragrafta açıklandığı gibi, birinci "normal" 1MiB bağlantısız bölüm önüne koymayı ister en.wikipedia.org/wiki/BIOS_boot_partition#Overview (Sadece editted). Gdisk sortkomutunu, başlangıç ​​sektörü sırasına göre bölümleri yeniden numaralandırmak için mi kullanmam gerektiğine sdc4veya onu / w / e olarak bırakmak mı istediğime karar vermedim . Muhtemelen sıralama daha az garip, bu yüzden grub bölümlerim her zaman olacaktır sdX1.
Peter Cordes

3

EFI ve BIOS grubunun ikisine de sahip olmak için ekstra bir puan / sebep vereceğim.

Grub2'den bir Live SystemRescueCD.iso döngüsünü başlatmak için USB çubuğu.

Niye ya? Basit cevap: bir çok bilgisayarda önyüklenir, bazılarında UEFI vardır, bazılarında ise sadece 32 bit BIOS vardır.

Gerçek karmaşık sebep: mümkünse gelişmiş donanım (UEFI) kullanın.

Gerçek canlı kullanım örneği:

  • Dört bölmeli USB bellek (GPT modunda biçimlendirilmiş)
  • USB disk boyutunun kalanıyla NTFS'de ilk bölüm (Windows 7 ve üstünden görülebilir)
  • Grub2 ve SystemRescueCD.iso dosyasının ikinci bölümü, en az 1GiB olan (2GiB ise daha iyi, bu nedenle iki sürümü SystemRescueCD.iso'nun iki versiyonunu aynı anda taşıyabilirseniz, sadece eskisini değiştirmeden önce yeni sürümü test etmek için), normalde Ext4 dosya sistemini kullanıyorum. onun için
  • En az 512MiB ile Fat32 olarak biçimlendirilen EFI (pencerelerin ESP olarak adlandırdığı pencereler) için üçüncü bölüm (bazı PC'lerin daha az kullanılırsa USB çubuğunu önyüklenebilir bir ortam olarak göstermediğini gördüm)
  • BIOS_Grub için dördüncü bölüm (biçim yok, ancak oluşturulduğunda temizlendi)

Önemli bir şey: Bölümler silindirlerle aynı hizada değilse, diğer UEFI PC'lerde ve ayrıca UEFI önyüklemeli VirtualBOX'ta da görüldüğü halde, fiziksel bir UEFI PC önyüklemesinde listelenmeyi reddeden bir 8GiB LG USB stric (bir tane ben) gördüm mod aktive edildi ... eğer MiB'ye hizalanırsa bölümlenirken tüm alanı kullandı, sonunda 1MiB'ye yakın bölümlenmemiş alanı kullandı, ama silindirlere hizalandığında son eksik olan MiB kullanılmadı ... eğer MiB bölümlemesi aklımdaysa (başka bir deyişle manuel silindir hizalaması yapıyorum) çalışır, ancak hala silindir hizaya geçtiğim gibi (bölme aracının sizin için yapmasına izin vermek yerine manuel olarak yapıyorum).

Böyle harika bir USB kurtarma çubuğu (iki hileye sahiptir) nasıl elde edilir:

  1. Bölümleri Silindirlerle hizalayın (yalnızca MiB ile aynı hizada olması için daha iyi uyumluluk)
  2. Grub-install --target = i386-pc yapın ve ardından aynı grub bölümünde başka bir grub-install --target = x86_64-efi yapın, böylece her iki önyükleme modu için yalnızca bir grub.cfg kullanırsınız

Nasıl çizilir:

  • a) eski BIOS önyüklemesi, MBR, daha sonra grub2'nin Stage2'sinin BIOS_grub bölümünü, ardından Grub2 bölümünden core.img dosyasını yükleyecektir.
  • b) UEFI uyumlu önyükleme formu, ESP bölümünden .efi dosyasını yükler
  • grub.cfg okunur (grub2 bölümünde varsa)
  • sonra grub2 menüsü gösterilir.
  • sonra döngü SystemRescueCD.iso (dochace parametresiyle) üzerinden önyüklemeyi seçtim, grub.cfg, 32Bits için bir, 64Bits için bir için iki seçenek belirledim (iki dört dostartx parametresi için ayarladığım için gerçekten dört seçeneğim var doğrudan GUI üzerinde önyükleme yapmak).
  • önyüklemeden sonra usb çubuğunu çıkarabilirim (tüm Live Linux böyle docache sayesinde ramdrive'dadır), herhangi bir komut yazmanıza gerek yoktur, pendrive takılı değildir (yine docache parametresi sayesinde).

Bu çubukla eski PC'yi (USB'den önyükleme yaparlarsa) 32 bit veya 64 bit (procesor üzerinde uzantı etkisi varsa), ancak BIOS modunda önyükleme yapabilirim.

Bu çubukla yeni bilgisayarları da (USB'den önyükleme yaparlarsa) 32 bit ve 64 bitte önyükleyebilirim, ancak UEFI modunda önyükleme yapabilir (ah, evet UEFI modunda önyüklenebilir ve daha sonra Linux Live SystemRescueCD'yi 32 bit'te önyükleyebilir 64 bit modunda olduğu gibi mod).

Bu yüzden, modern veya eski tüm PC'lerin hemen yanlarında önyükleme yeteneğine sahip bir usb bellek kurtarma önyükleme ortamına sahibim (yalnızca USB önyükleme desteğine ihtiyaç duyarım), 32 bit veya 64 bit olursa, BIOS veya UEFI vb. 32 bit veya 64 bit çalıştırmak istediklerimi seçin.

Dahası, Windows 64Bits'i (eski 32Bits procesor) yüklemeyi reddeden ama 64bit Linux Live çalıştırabilen bir bilgisayarda test ettim (çünkü bu işlemcide PAE özelliği var).

Not: NTFS gibi ilk bölüm, Windows 7 ve üzeri sürümlerle paylaşılabilen verileri tutmak içindir (XP GPT bölümlemesini desteklemediğinden görmeyecektir) ... ilk olmalı, başlangıçta olmaya gerek yok Diskin bir kısmı, istediğiniz yerde olabilir, ancak bölme tablosuna ilk giriş olarak yer alan mantar, bölmeleri çıkarılabilir şekilde monte etmek için taranmış pencereler modundan kaynaklanır, bu özellik ilk bölümden daha fazla erişmekten kaçınmak için programlanmış bir koda sahiptir; diğerleri aynı anda monte edilemez.

Windows ve USB bölümleri için ekstra: Partitiong tablosundaki bölüm girişlerini değiştirirseniz, başka bir deyişle, tablodaki ilk bölüme erişmek istediğiniz bölümü koyarsanız, pencereler erişmenize izin verir (biçimi anlıyorsa, fat32). ve doğrudan NTFS, ext2, özel sürücüler vb. ile birlikte yalnızca bölüm tablosuna ilk girilene erişime izin verir ... Windows'ta böyle bir işi yapabilecek bir araç (BootICEx86.exe) USB çubuğunu fişten çekmeden bile.

Ekstra ekstra: bazı araçlar (bir tane, bir Sony 16GiB'ye sahip olduğum için çok şanslıyım), özel araçlarla (Lexar'dan gelen bir araçla madenin) biraz değiştirilebiliyor, bu yüzden Windows'a USB bellek yerine USB olarak görünüyorlar. Bu değişiklikten sonra, tüm pencereler üzerinde bölümleri silmenize, oluşturmanıza ve yönetmenize izin verir, ayrıca her biri kendi harfiyle aynı anda birden fazla monte edilebilir.

Linux kullanıcıları bundan endişe duymazlar, çünkü Linux onu bölümlenebilir bir blok cihazı olarak görür ve pencerelerin olduğu gibi montaj bölümlerini vb. Engellemek için özel bir kod uygulamaz.

Ah, evet, bu son paragraflar sadece M $ 'dan birisinin onları okuması durumunda yazılır, bu yüzden yüzleri yere düşer, denemeye çalışıyorum (asla alamayacağım, bunun kayıp bir objektif olduğunu biliyorum) çirkin Windows kodu ve kullanıcıların usb çubuğunda yerel bir şekilde bölümleri olmasına izin verin.

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.