'' Partisi boot EFI '' dan '' biosgrub ''

21

Mengapa saya membutuhkan ini? Saya telah menginstal Ubuntu di bawah non UEFI (master boot record) dan telah menginstal Ubuntu tanpa 'biosgrub' dan berfungsi dengan baik, sedangkan di lain waktu saya diminta untuk membuat partisi 'biosgrub'. Saya tidak tahu mengapa kadang-kadang saya membutuhkannya dan yang lain tidak (ini keduanya menggunakan sistem yang sama).

Dan hal yang sama terjadi ketika saya menggunakan UEFI (GUID Partition Table). Satu-satunya perbedaan adalah saya diminta untuk membuat 'partisi boot EFI', tetapi seperti dengan 'biosgrub', kadang-kadang saya diminta untuk membuatnya dan kadang-kadang saya tidak diminta untuk membuatnya.

Untuk pemasangan saya saat ini saya diminta untuk membuatnya tetapi saya tidak melakukannya dan sistem saya baik-baik saja. Tidak ada perubahan dalam sistem, perangkat keras yang sama, BIOS dll ... Adakah yang bisa menjelaskan hal ini?

GhostMotleyX
sumber
2
Anda harus konsisten dalam Booting. Hanya jika dalam mode boot UEFI Anda memerlukan partisi efi dan hanya dalam mode boot BIOS dengan partisi gpt, Anda akan memerlukan partisi bios_grub. Jika Anda menggunakan UEFI, tetapi boot Boot-Repair dalam mode BIOS dan coba instal grub dalam mode BIOS, ia akan meminta Anda untuk membuat partisi bios_grub.
oldfred

Jawaban:

34

Ada empat kondisi (BIOS vs EFI dan MBR vs GPT), tetapi dua di antaranya memiliki kebutuhan yang identik (dan salah satunya sangat langka):

  • Pada komputer berbasis BIOS tradisional dengan tabel partisi MBR tradisional, kode yang dapat dieksekusi GRUB tersebar seperti spaghetti yang dilemparkan oleh bayi. Sebagian ada di bagian boot-code MBR, sebagian ada di sektor pasca-MBR yang secara resmi tidak dialokasikan, dan sebagian lagi ada di /bootpartisi Linux . Ini benar-benar berantakan, dan ini hanya berhasil karena pengembang telah benar-benar berpuluh-puluh tahun untuk membuat peretasan yang cerdas dan menyelesaikan hampir semua ketegaran.
  • Pada komputer berbasis BIOS tradisional dengan GUID Partition Table (GPT) baru, kode GRUB serupa dengan yang ada dalam kasus sebelumnya; namun, sektor-sektor yang mengikuti MBR tidak dialokasikan; mereka digunakan oleh GPT itu sendiri. GPT tidak menawarkan tempat analog bagi GRUB untuk dibajak, sehingga pengembang GRUB memilih BIOS Boot Partition (yang GParted dan partedidentifikasi dengan sebuah bios_grubflag) untuk menyimpan kode yang akan masuk ke sektor pasca-MBR pada disk MBR. Ini sebenarnya lebih aman dan lebih bersih daripada pendekatan MBR, karena ini berfungsi untuk melindungi kode GRUB dari program lain yang mungkin mencoba menggunakan ruang yang tidak terisi itu.
  • Pada komputer dengan EFI yang lebih baru daripada BIOS, boot loader tidak disimpan di MBR, di sektor pasca-MBR yang tidak dialokasikan secara resmi, atau di Partisi Boot BIOS; sebaliknya, boot loader berada sebagai file biasa pada partisi FAT yang dikenal sebagai Partisi Sistem EFI (ESP) . (Secara membingungkan, penginstal Debian dan Ubuntu merujuk pada ESP dengan nama "Partisi boot EFI," tetapi nama ini tidak standar. Diambil dan partedidentifikasi ESP sebagai miliknya "bootflag "set, walaupun terminologi itu berarti sesuatu yang sama sekali berbeda pada disk MBR.) ESP dapat ada pada disk GPT atau disk MBR, tetapi yang pertama jauh lebih umum pada komputer berbasis EFI. Pendekatan EFI jauh lebih aman dan jauh lebih fleksibel daripada pendekatan BIOS, karena tidak menyimpan kode mentah di tempat-tempat aneh; boot loader berada dalam file, seperti halnya program tingkat OS. Ini membuat mereka lebih mudah untuk mengidentifikasi dan memanipulasi. (OTOH, EFI juga menyimpan data pada boot loader di NVRAM, yang menciptakan titik kedua kegagalan dalam proses boot. Kebaruan EFI juga berarti tidak teruji dengan baik, yang menyebabkan sejumlah masalah khusus EFI.)

GhostMotleyX, komentar Anda untuk tanggapan LiveWireBT berpendapat bahwa cara "terbaik" untuk menginstal adalah BIOS / MBR. Ini subjektif, tentu saja, tapi saya tidak setuju dengan penilaian itu. Pendekatan BIOS / MBR adalah yang paling tidak aman dan palingkikuk dari tiga pendekatan yang baru saja saya uraikan. Pendekatan EFI adalah pendekatan teraman dan paling fleksibel. Saya menduga Anda terpaku pada kenyataan bahwa partisi terpisah diperlukan untuk pendekatan GRUB / GPT dan EFI, tapi itu bukan masalah besar. Selain ketika mengatur sistem atau melakukan pemeliharaan partisi, partisi-partisi itu akan sangat tidak terlihat oleh Anda, dan mereka memberi Anda banyak fleksibilitas. Tidak seperti MBR, GPT tidak terbatas pada empat partisi primer, jadi Anda tidak perlu menimbun partisi primer Anda seperti leprechaun yang menimbun emasnya.

Rod Smith
sumber
Terima kasih kepada semua orang yang merespons, info yang sangat membantu; terutama Rod Smith.
GhostMotleyX
Jadi pada sistem EFI-boot, Anda masih hanya membutuhkan satu partisi kecil? MBR-boot-sector dan konten EF02partisi gdisk (atau yang setara) dapat disimpan dalam file di partisi sistem EFI yang diformat FAT (dengan tipe gdisk EF00)?
Peter Cordes
Peter, ya, itu pada dasarnya benar; Loader boot EFI adalah file yang disimpan di ESP, bukan di sektor boot disk atau partisi.
Rod Smith
Bagaimana jika saya ingin mendukung kedua booting UEFI BIOS dan booting? Akankah saya memiliki dua salinan grub, satu di EFI System Partitiondan yang lain di BIOS boot partition?
Hello World
Halo Dunia, Anda memerlukan satu EFI-mode dan satu bootload mode-BIOS. Keduanya tidak harus GRUB. Bahkan, saya sarankan bahwa setidaknya salah satu dari mereka tidak mungkin terjadi, karena yang bisa mendapatkan cukup membingungkan. Konfigurasi seperti itu tidak ada gunanya untuk mem-boot OS tunggal. Mungkin diperlukan untuk beberapa skenario dual-boot - katakanlah, jika satu OS tidak memiliki boot loader EFI-mode dan yang lainnya perlu boot dalam mode EFI untuk beberapa alasan (katakanlah, jika itu Windows dan disk Anda lebih dari 2TiB, jadi Anda perlu GPT untuk mendukung ukuran penuhnya).
Rod Smith
7

Anda perlu membuat partisi biosgrub pada disk yang dipartisi GPT saat mengatur booting legacy atau partisi boot EFI (untuk disk yang dipartisi GPT atau MBR) saat mengatur booting UEFI.

  • GRUB memerlukan Partisi Boot BIOS (2 MiB, tanpa sistem file, EF02ketik kode di flag gdisk atau bios_grub di GNU Parted) dalam sistem BIOS untuk menanamkan core.imgfile -nya karena kurangnya celah embed post-MBR pada disk GPT . [...]

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

LiveWireBT
sumber
1
Terima kasih, saya pikir saya mengerti sekarang; jika saya menginstal Ubuntu non-UEFI pada disk MBR saya tidak memerlukan biosgrub. Jika saya menginstal Ubuntu di bawah UEFI pada disk GPT maka saya harus membuat partisi EFI. Dan kemudian ketidakkonsistenan yang saya alami adalah ketika saya menginstal Ubuntu non-UEFI pada disk GPT dan juga UEFI dengan MBR. Jadi cara terbaik dalam teori untuk menginstal Ubuntu adalah Non-UEFI dengan tabel partisi MBR atau UEFI dengan tabel partisi GPT.
GhostMotleyX
@ GhostMotleyX Itu benar.
LiveWireBT
bahkan 1MiB lebih dari cukup. Saya ingin meletakkannya di depan partisi 1MiB "normal" pertama, seperti yang saya jelaskan di paragraf terakhir en.wikipedia.org/wiki/BIOS_boot_partition#Overview (yang baru saja saya edit). Saya belum memutuskan apakah saya lebih suka menggunakan sortperintah gdisk untuk memberi nomor baru partisi dalam urutan mulai sektor, atau jika saya ingin membiarkannya sebagai sdc4atau tidak. Mungkin agak kurang aneh, jadi partisi grub saya akan selalu seperti itu sdX1.
Peter Cordes
3

Saya akan memberikan satu poin tambahan / motif untuk memiliki keduanya, EFI dan BIOS grub.

USB stick untuk mem-boot loop SystemRescueCD.iso langsung dari Grub2.

Mengapa? Jawaban sederhana: ini akan boot pada banyak PC, beberapa memiliki UEFI, beberapa hanya memiliki BIOS 32 bit, dll.

Motif kompleks nyata: gunakan perangkat keras lanjutan (UEFI) jika memungkinkan.

Sampel penggunaan langsung nyata:

  • Stik USB (diformulasikan pada mode GPT) dengan empat partisi
  • Partisi pertama (dapat dilihat dari Windows 7 dan lebih tinggi) pada NTFS dengan sisa ukuran USB stick
  • Partisi kedua untuk file Grub2 dan SystemRescueCD.iso dengan setidaknya 1GiB (lebih baik jika 2GiB sehingga Anda dapat membawa dua versi SystemRescueCD.iso pada saat yang sama, hanya untuk menguji versi baru sebelum mengganti yang lama), saya biasanya menggunakan sistem file Ext4 untuk itu
  • Partisi ketiga untuk EFI (apa yang disebut Windows ESP) diformat sebagai Fat32 dengan setidaknya 512MiB (saya telah melihat beberapa PC bahwa jika menggunakan lebih sedikit mereka tidak menunjukkan USB stick sebagai media yang dapat di-boot)
  • Partisi keempat untuk BIOS_Grub (tanpa format, tetapi dihapus saat dibuat)

Satu hal penting: Saya telah melihat stric USB LG 8GiB (yang saya miliki) yang menolak untuk terdaftar pada boot PC UEFI fisik jika partisi tidak sejajar dengan silinder, tetapi terlihat pada PC UEFI lain dan juga pada VirtualBOX dengan boot UEFI mode diaktifkan ... ketika mempartisi jika disejajarkan dengan MiB tidak menggunakan semua ruang, tidak ada ruang kosong dekat 1MiB di akhir, tetapi ketika disejajarkan ke silinder MiB terakhir tidak lengkap tidak digunakan ... jika saya melakukan partisi MiB mengingat hal itu (dengan kata lain saya melakukan penyelarasan silinder manual) berfungsi, tetapi seperti yang saya katakan itu masih selaras silinder (saya melakukannya secara manual daripada membiarkan alat pemartisi untuk melakukannya untuk Anda).

Cara mendapatkan tongkat pemulihan USB yang hebat (ada dua trik):

  1. Sejajarkan partisi ke Silinder (kompatibilitas yang lebih baik untuk hanya menyelaraskan ke MiB)
  2. Lakukan grub-install --target = i386-pc dan kemudian lakukan grub-install --target = x86_64-efi pada partisi grub yang sama, jadi Anda hanya menggunakan satu grub.cfg untuk kedua mode boot

Cara boot:

  • a) booting dari BIOS lama, akan memuat MBR, kemudian Stage2 dari partisi BIOS_grub, kemudian core.img dari partisi Grub2
  • b) bentuk booting UEFI kompatibel, akan memuat file .efi dari partisi ESP
  • grub.cfg dibaca (jika ada pada partisi grub2)
  • kemudian menu grub2 ditampilkan
  • kemudian saya memilih untuk boot dari loop SystemRescueCD.iso (dengan parameter dochace), saya telah menetapkan dua opsi yang ditetapkan pada grub.cfg, satu untuk 32Bits, satu untuk 64Bits (saya punya empat opsi, karena saya menetapkan dua parameter dostartx untuk boot langsung pada GUI).
  • setelah boot saya dapat mengeluarkan usb stick (seluruh Linux Live di ramdrive berkat docache tersebut), tidak perlu mengetik perintah apa pun, flashdisk tidak dipasang (lagi-lagi terima kasih kepada parameter docache).

Dengan tongkat ini saya dapat boot PC lama (jika mereka membiarkan boot dari USB) dalam 32 bit atau juga 64 bit (jika mereka memiliki ekstensi etend pada procesor), tetapi boot dalam mode BIOS.

Dengan tongkat ini saya juga dapat mem-boot PC baru (jika mereka membiarkan melakukan booting dari USB) dalam 32 bit dan 64 bit, tetapi melakukan booting dalam mode UEFI (ah, ya bisa boot dalam mode UEFI dan kemudian mem-boot Linux Live SystemRescueCD dalam 32 bit mode serta dalam mode 64 bit).

Jadi saya memiliki semua dalam satu media boot usb stick pemulihan, mampu boot di dekat semua PC, modern atau lama (hanya perlu dukungan boot USB), tidak peduli apakah 32 bit atau 64 bit, BIOS atau UEFI, dll ... dan saya bisa pilih apa yang ingin saya jalankan 32 bit atau 64 bit.

Selain itu, saya telah menguji pada PC yang menolak untuk menginstal Windows 64bit (prosesor 32bit lama), tetapi dapat menjalankan Linux Live 64bit (karena kemampuan PAE ada pada prosesor itu).

Catatan: Partisi pertama seperti NTFS adalah untuk menyimpan data yang dapat dibagikan dengan Windows 7 dan yang lebih tinggi (XP tidak akan melihatnya karena tidak mendukung partisi GPT) ... itu harus yang pertama, tidak perlu di awal bagian dari disk, dapat berada di mana pun Anda inginkan, tetapi bubur berada sebagai entri pertama pada tabel partisi, ini disebabkan oleh mode windows yang dapat dibenci untuk me-mount partisi pada removable, ia memiliki kode khusus yang diprogram untuk menghindari mengakses lebih dari partisi pertama, sehingga Anda tidak bisa memasang yang lain pada saat yang sama.

Ekstra untuk partisi Windows dan USB: Jika Anda menukar entri partisi pada tabel partisig, dengan kata lain Anda meletakkan partisi yang ingin Anda akses sebagai yang pertama dalam tabel, windows akan memungkinkan Anda untuk mengaksesnya (jika formatnya dimengerti, fat32 dan NTFS secara langsung, ext2 dengan driver khusus, dll), tetapi hanya akan membiarkan akses ke salah satu yang terletak pada entri pertama tabel partisi ... ada alat (disebut BootICEx86.exe) yang dapat melakukan pekerjaan seperti itu pada Windows bahkan tanpa perlu mencabut stik usb.

Super ekstra: ada juga beberapa pendrives (saya sangat beruntung memiliki satu, Sony 16GiB) daripada dapat sedikit diubah dengan alat khusus (milik saya dengan alat dari lexar) sehingga mereka tampak ke Windows sebagai HDD USB sebagai ganti stik USB. , setelah perubahan itu, semua jendela akan membiarkan Anda menghapus, membuat dan mengelola partisi di atasnya, juga lebih dari satu pada waktu yang sama dapat dipasang, masing-masing dengan hurufnya sendiri.

Pengguna Linux tidak khawatir dengan itu, karena Linux melihatnya sebagai perangkat blok yang dapat dipartisi dan tidak menerapkan kode khusus untuk memblokir pemasangan partisi, dll, seperti yang dimiliki windows.

Oh, ya paragraf terakhir ini ditulis untuk berjaga-jaga jika ada orang di M $ membacanya, jadi wajah mereka jatuh ke lantai, saya mencoba (tidak akan pernah mendapatkannya, saya tahu itu adalah tujuan yang hilang) bagi mereka untuk menghapus seperti kode jelek dari Windows dan membiarkan pengguna memiliki partisi di usb stick dengan cara asli.

Claudio
sumber