GNU/Linux >> Belajar Linux >  >> Linux

Apakah Linux USB-Stick hybrid untuk UEFI &BIOS lama mungkin?

Itu mungkin, dan sangat sering dilakukan dengan stik USB eksternal dan drive internal.

Mengenai jenis tabel partisi:

  • BIOS biasanya tidak membutuhkan setiap tabel partisi. Itu hanya tertarik pada kode bootstrap bagian yang merupakan 440 byte pertama dari MBR Anda. (Walaupun ada pengecualian. Beberapa implementasi BIOS benar-benar rusak jika mereka tidak dapat menemukan MBR dengan salah satu jenis partisi biasa. Mudah-mudahan itu jarang terjadi.)

    Tabel partisi GPT tidak secara fisik ganti MBR - selalu dimulai di sektor 1, sedangkan MBR di sektor 0 - jadi mungkin disk memiliki keduanya. Faktanya, sebagian besar disk GPT melakukannya memiliki "MBR pelindung" yang hanya berisi satu partisi yang mencakup seluruh disk, untuk mencegah alat pemartisi khusus MBR yang lebih lama agar tidak merusak data secara tidak sengaja.

    Jadi Anda dapat menginstal, misalnya, sektor boot Syslinux ke dalam MBR Anda, dan itu akan boot. (syslinux-install_update skrip akan melakukannya untuk Anda, tetapi Anda dapat mencari gptmbr.bin dalam paket syslinux Anda untuk melakukannya secara manual.)

    Sama seperti flag "aktif" pada partisi MBR, Syslinux akan mencari flag "legacy BIOS bootable" pada partisi GPT (bit 2 – UEFI spec 2.4 bagian 5.3.3 tabel 20); skrip yang disebutkan di atas juga menyetel tanda itu secara otomatis jika Anda memiliki sgdisk (dari gptfdisk) terpasang.

    GRUB juga bisa digunakan, tetapi juga sedikit lebih mengganggu. Karena GRUB 2 ingin "menyematkan" bagian dirinya di sektor yang biasanya tidak digunakan 1-62, itu akan menimpa GPT yang disimpan di lokasi yang sama. Jadi, Anda mungkin perlu membuat partisi khusus berukuran 2-4 MB dan menandainya sebagai BIOS-bootable, sehingga grub-install akan menemukan sendiri tempat penyematan.

  • Di sisi lain, spesifikasi UEFI bisa memerlukan dukungan untuk jenis partisi MBR (bagian 12.3.1) dan menetapkan jenis partisi MBR 0xEF ke partisi sistem EFI (bagian 5.2.2).

    Jadi, jika karena suatu alasan Anda tidak dapat membuat disk Anda berfungsi dengan GPT, Anda masih dapat membuat partisi sistem EFI di MBR, dan itu akan digunakan selama memiliki sistem file yang benar dan semua file yang diperlukan (bagian 12.3.1.3):

    Untuk perangkat media yang dapat dilepas, hanya boleh ada satu partisi sistem yang sesuai dengan UEFI, dan partisi tersebut harus berisi direktori yang ditentukan UEFI di direktori root. Direktori akan diberi nama EFI . Semua pemuat dan aplikasi OS akan disimpan dalam subdirektori di bawah EFI disebut BOOT . Hanya boleh ada satu image EFI yang dapat dieksekusi untuk setiap arsitektur prosesor yang didukung di BOOT direktori. Agar media yang dapat dilepas dapat di-boot di bawah EFI, itu harus dibuat sesuai dengan aturan yang ditetapkan di Bagian 3.4.1.1.

Mengenai sistem operasi, Linux umumnya tidak peduli sedikit pun tentang apakah itu di-boot dari BIOS hari ini dan dari UEFI besok. Saya harus me-reboot laptop saya dari mode UEFI ke mode "kompatibilitas BIOS" dan kembali mungkin seratus kali minggu ini, sambil mencoba menemukan bug dalam dukungan UEFI 3.17...

Perhatikan bahwa artikel "Transformasi BIOS ke UEFI" adalah tentang hal yang sangat berbeda. Ini menjelaskan cara menginstal UEFI sendiri – implementasi UEFI yang disebut "DUET" – dimulai dari sistem khusus BIOS. Ini tidak ada hubungannya dengan mem-boot sistem operasi langsung dari BIOS.


Ya, ini mungkin.

Ide dasarnya adalah mempartisi GPT stik USB Anda seperti ini:

  1. Partisi boot BIOS (jenis GPT 1686148-6449-6E6F-744E-656564454649 ) - 1 MiB, tanpa sistem file
  2. Partisi sistem EFI (tipe GPT C12A7328-F81F-11D2-BA4B-00A0C93EC93B ) - 200 MiB, sistem file VFAT
  3. Partisi boot Linux (tipe GPT 0FC63DAF-8483-4772-8E79-3D69D8477DE4 ) - 1 GiB, sistem file ext4
  4. Sistem file root/home Linux (jenis GPT 0FC63DAF-8483-4772-8E79-3D69D8477DE4 ) - sisa ruang, sistem file XFS atau Btrfs

Partisi ini memungkinkan kita untuk boot pada sistem Legacy karena dengan GPT masih ada ruang untuk MBR (untuk alasan kompatibilitas mundur) dan Grub2 memiliki cukup ruang untuk menginstal beberapa tahap tengah ke dalam partisi boot BIOS. BIOS lama tidak peduli dengan skema partisi dan Kernel Grub2/Linux tidak memiliki masalah dalam memahami GPT pada sistem Legacy.

Pada sistem UEFI, firmware UEFI mengabaikan MBR dan menggunakan partisi sistem EFI sebagai titik masuk.

Misalnya, dengan Fedora, pada dasarnya Anda harus melakukan hal berikut:

Pastikan bahwa sistem file Boot Linux dipasang di bawah /boot dan sistem file partisi sistem EFI dipasang di bawah /boot/efi .

(Re-)Instal boot loader lama dan UEFI:

grub2-pc grub2-efi-x64 shim-x64 efibootmgr

(Re-) Hasilkan file konfigurasi grub untuk boot lama dan UEFI:

# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfg

Tergantung apakah sistem Anda boot dalam mode lawas atau UEFI, Anda harus memperbaiki file pertama atau kedua dan mengganti (linux|initrd)16 dengan (linux|initrd)efi atau sebaliknya.

Instal grub ke dalam MBR:

# grub2-install --target=i386-pc /dev/sd_your_usb_stick_device

Voila.


Linux
  1. Cara mempartisi disk di Linux

  2. Buat drive USB Windows 10 (UEFI) yang dapat di-boot dari Linux

  3. Berapa ukuran yang disarankan untuk partisi Linux /boot?

  1. Linux – Apakah Mungkin Memalsukan Jalur Tertentu Untuk Suatu Proses?

  2. Linux – Menggunakan Spasi Sebelum Partisi Pertama Usb-stick Sebagai Kunci Luks?

  3. Linux – Mengapa Usb Tidak Berfungsi Di Linux Saat Berfungsi Di UEFA/bios?

  1. Linux – Instal Menggunakan Gpt Pada Sistem 32 Bit Dengan Bios?

  2. Cara Membuat Partisi di Linux untuk Ukuran 2TB menggunakan Parted GPT

  3. Mengapa partisi boot ext2 100MB direkomendasikan untuk linux?