Cara Membuat USB Multiboot dengan Linux
- 3072
- 308
- Chris Little I
Objektif
Buat peranti usb bootable yang mengandungi pelbagai pengagihan linux.
Keperluan
- Peranti USB dengan saiz yang cukup untuk mengandungi pelbagai ISO
- Kebenaran root untuk mengubah suai partition peranti dan memasang grub
Kesukaran
Medium
Pengenalan
Mampu menjalankan sistem operasi keseluruhan secara langsung dari media pemasangan yang sangat berguna: kita boleh menguji pengedaran, menggunakannya untuk tujuan sandaran, atau mungkin untuk membaiki sistem yang ada. Cara biasa untuk membuat media bootable adalah dengan menulis imej sistem di atasnya menggunakan DD
perintah atau beberapa alat yang berdedikasi. Dalam tutorial ini, kita akan melihat cara membuat peranti USB multiboot yang boleh menjadi tuan rumah pelbagai imej pengedaran.
Satu perkataan di bios vs uefi
Uefi
(Interface Firmware Extensible Unified) Ini adalah firmware moden yang dibuat sebagai pengganti warisan BIOS
(Sistem output input asas). Sebilangan besar pengagihan Linux baru -baru ini boleh boot dalam kedua -dua mod tanpa masalah: pemasang secara automatik akan menyesuaikan tingkah lakunya.
Kedua -dua firmwares adalah, dengan standard, yang dikaitkan dengan susun atur jadual partition tertentu: Uefi
bersatu dengan tangan gpt
, manakala BIOS
Dilengkapi dengan MSDOS
satu. Persatuan -persatuan itu, bagaimanapun tidak wajar, kerana, sekurang -kurangnya dalam teori, a Uefi
firmware boleh memulakan proses boot dari a MSDOS
susun atur cakera dan warisan BIOS
sistem boleh melakukan perkara yang sama dari a gpt
cakera partition.
Dalam bekas kes Efi
partition mestilah yang pertama di cakera, dan diformat dengan Fat32
FileYstem, di yang terakhir, a Boos Boot
partition tanpa sistem fail di atasnya harus wujud, diperlukan untuk menyimpan tahap grub 1.5, sejak di a gpt
susun atur jurang antara rekod boot induk dan partition pertama tidak wujud (ini adalah di mana tahap grub ini biasanya dipasang).
Kami akan menyediakan peranti kami menggunakan tradisional MSDOS
susun atur, memasang grub bootloader dalam mod EFI dan warisan untuk dapat memulakan pengagihan kedua -duanya di Uefi
dan BIOS
mod.
Menyediakan peranti
Perkara pertama yang perlu kita lakukan ialah menyediakan peranti kami. Kami akan membuat dua partition, mengikut urutan:
- An
Efi
partition - Partition data
Yang pertama diperlukan untuk boot Uefi
mod, kerana di mana grub-EFI dipasang. Partition mesti diformat dengan a Fat32
sistem fail. Secara teorinya, persediaan akan berfungsi walaupun hanya dengan partition ini, kerana kami juga boleh menggunakannya untuk menyimpan imej pengagihan yang ingin kami gunakan. Walau bagaimanapun, dalam hal ini kita akan terhad, sejak Fat32
tidak menyokong fail lager daripada 4GB, dan beberapa ISO boleh melebihi saiz ini.
Partition kedua akan diformat dengan sistem fail yang disokong oleh grub, dan akan menjadi tuan rumah imej dan fail konfigurasi grub.
Demi tutorial ini, saya akan menganggap peranti yang ingin kami sediakan adalah /dev/sdb
.
Jadual partition dan partition EFI
Perkara pertama yang perlu dilakukan ialah membuat a MSDOS
jadual partition pada peranti:
$ sudo berpisah -s /dev /sdb mklabel msdos
Selepas langkah ini, kita boleh membuat Efi
partition dan formatnya dengan a Fat32
sistem fail. Saiz yang disyorkan untuk partition adalah 550 MIB
: Pada partition yang lebih kecil kita dapat menerima ralat seperti "tidak cukup kluster untuk 32 bit lemak":
$ sudo berpisah -s /dev /sdb mkpart primary 1mib 551mib
Kami kemudian akan meneruskan dalam mengaktifkan esp
dan boot
Bendera:
$ sudo berpisah -s /dev /sdb set 1 esp pada $ sudo parti -s /dev /sdb set 1 boot
Akhirnya kita mesti membuat Fat32
sistem fail:
$ sudo mkfs.FAT -F32 /DEV /SDB1
Partition data
Partition lain yang mesti kita buat ialah partition data, yang akan menjadi tuan rumah imej ISO pengagihan dan fail konfigurasi grub. Kita boleh menyesuaikan saiz partition untuk keperluan kita: semakin besar, imej yang paling banyak dapat dimiliki. Di sini kami akan menggunakan semua ruang yang tinggal di peranti:
$ sudo berpisah -s /dev /sdb mkpart primary 551mib 100%
Kami boleh memformat partition dengan salah satu sistem fail yang disokong oleh grub. Dalam kes ini saya akan gunakan ext4
:
$ sudo mkfs.ext4 /dev /sdb2
Buat titik gunung dan pasangkan partisi
Langkah seterusnya adalah untuk melancarkan Efi
Partition dan partition data di suatu tempat dalam sistem kami supaya kami dapat membuat direktori yang diperlukan pada mereka, memasang grub dan meletakkan fail ISO kami di tempatnya:
# Buat gunung $ sudo mkdir /media /efi, data # Gunung partition efi $ sudo mount /dev /sdb1 /media /efi # gunung partition data $ sudo mount /dev /sdb2 /media /data
Memasang grub bootloader
Agar peranti kami dapat berfungsi di kedua -duanya warisan
dan Uefi
mod kita perlu memasang grub dan grub untuk efi
. Di fedora binari grub itu dipanggil grub2
dan untuk menghasilkan konfigurasi tersuai pada persediaan UEFI, pemasangan Grub2-EFI-Modul
Pakej juga perlu. Mengenai beberapa pengagihan lain nama binari itu hanya "grub":
# Memasang warisan grub2 sudo grub2-install \ --target = i386-pc \--recheck \ --boot-directory = "/media/data/boot"/dev/sdb # memasang grub untuk efi sudo grub2-install \-- -target = x86_64-EFI \--recheck \-removable \ --efi-directory = "/media/efi" \ --boot-directory = "/media/data/boot"
Seperti yang dapat anda perhatikan, dalam kedua -dua kes kami menggunakan /media/data/boot
Seperti direktori boot grub. Direktori ini akan dibuat secara automatik apabila arahan di atas dilancarkan, dan ia akan menjadi tuan rumah fail konfigurasi grub.
Salin gambar dan buat grub.Fail CFG
Untuk membuat atau mengemas kini konfigurasi grub pada sistem Linux moden, kami biasanya menjalankan grub2-mkconfig
perintah, atau, dalam pengagihan berasaskan Debian, Update-Grub
Wrapper-Script. Alat ini melaksanakan operasi yang diperlukan secara automatik.
Dalam kes kita, bagaimanapun, kita mesti mendapatkan tangan kita kotor dan membuat konfigurasi secara manual. Tidak semua pengagihan memerlukan arahan yang sama, tetapi di sini akan melihat beberapa contoh biasa. Mula -mula kita harus membuat direktori yang akan menjadi tuan rumah imej pengagihan kami:
$ sudo mkdir/media/data/boot/ISO
Secara pilihan kita mungkin mahu mengambil pemilikan direktori ini, untuk dapat menggerakkan imej di atasnya dengan lebih mudah. Dengan mengandaikan a ID
dan gid
daripada 1000 kita akan menjalankan:
$ sudo chown 1000: 1000/media/data/boot/ISO
Sekarang, katakan kami ingin memasukkan imej netinstall fedora terkini dalam persediaan kami. Pertama kita mesti memuat turun gambar di /media/data/ISO
Direktori:
$ wget -o/media/data/boot/iso/fedora-workstation-netinst-x86_64-28-1.1.ISO \ https: // muat turun.Fedoraproject.org/pub/fedora/linux/siaran/28/workstation/x86_64/ISO/fedora-workstation-netinst-x86_64-28-1.1.ISO
Kemudian, setelah muat turun selesai, kita mesti menambah entri untuknya di grub.cfg
fail dalam /media/data/boot/grub2
direktori. Oleh kerana ia adalah entri pertama, kami menambah fail itu sendiri mesti dibuat:
MenuEntry "Fedora-WorkStation-Netinst-X86_64-28-1.1 "isOfile ="/boot/iso/fedora-workstation-netinst-x86_64-28-1.1.ISO "loopback loop" $ isofile "linux (loop)/isolinux/vmlinuz iso-scan/filename =" $ isofile "Inst.stage2 = HD: label = fedora-ws-dvd-x86_64-28 enitrd senang (loop)/isolinux/initrd.img
Struktur kemasukan cukup mudah: kami menentukan Isofile
pemboleh ubah, dengan jalan ke imej kita sebagai nilai. Grub dapat boot dari ISO Directy, dan itulah yang loopback
Perintah adalah untuk: dalam contoh di atas imej sistem fail akan dipasang dan disediakan di gelung
peranti.
Garis bermula dengan Linux
mengandungi jalan ke Vmlinuz
, yang boleh dilaksanakan kernel, ditambah arahan boot lain. Antara mereka yang dapat anda perhatikan ISO-Scan/FileName
yang diperlukan untuk mencari imej ISO pada cakera menggunakan laluan yang ditentukan.
Akhirnya, garis bermula dengan initrd
Menentukan jalan ke initrd. Semua jalan itu, jelas, berbanding dengan peranti gelung, itulah sebabnya mereka diawali oleh (gelung)
notasi.
Bagaimana kita mengetahui arahan yang harus kita gunakan dalam kes tertentu? Salah satu cara adalah untuk melancarkan imej di suatu tempat di sistem kami dan melihat fail yang diletakkan di direktori isolinux. Walau bagaimanapun, konfigurasi yang telah ditulis sudah ada dan mudah dicari dalam talian.
Satu lagi contoh, sekarang: kami akan menambah imej pelepasan Ubuntu terkini ke peranti bootable kami:
$ wget http: // siaran.Ubuntu.com/18.10/Ubuntu-18.10-Desktop-AMD64.ISO?_ga = 2.232120863.1006005768.1540658570-734439277.1540658570 \ -O/Media/Data/Boot/ISO/Ubuntu -18.10-Desktop-AMD64.ISO
Sekarang, kami menambah entri ke fail konfigurasi:
Menuentry "Ubuntu 18.10 - Cuba tanpa memasang "isofile ="/boot/iso/ubuntu -18.10-Desktop-AMD64.ISO "loopback loop" $ isofile "linux (loop)/casper/vmlinuz iso-scan/fileName =" $ isofile "boot = casper sleet splash --- initrd (loop)/casper/initrd
Inilah yang kelihatan seperti menu multiboot pada ketika ini:
Menu Grub MultibootPemikiran penutupan
Dalam tutorial ini kita melihat cara membuat peranti multiboot-USB yang mengandungi banyak imej pengagihan. Mengikuti persediaan ini, kami akan dapat boot kedua -dua warisan pada firmware UEFI, memilih imej apa yang akan dilancarkan dari menu grub.
The
grub.Persediaan CFG di sini dibentangkan adalah benar -benar minimum, dan boleh disesuaikan lagi untuk memasukkan banyak modul lain dan menyesuaikan tetapan lain seperti masa tamat grub: berunding dengan dokumentasi grub rasmi adalah cara yang sempurna untuk mula meneroka banyak kemungkinan.
Tutorial Linux Berkaitan:
- Buat Manjaro Linux Bootable USB
- Pengenalan kepada Penyelamat Grub
- Cara membuat bootable ms windows usb di bawah linux
- Cara Membuat USB Multiboot dengan Ventoy
- Ubuntu 22.04 Tidak Booting: Panduan Penyelesaian Masalah
- Buat bootable ubuntu 22.04 cakera permulaan USB
- Cara Membuat USB Bootable dari ISO di Linux
- Perkara yang hendak dipasang di Ubuntu 20.04
- Ubuntu 22.04 Sistem sandaran dan pulihkan
- Buat Ubuntu 20 bootable.04 USB melekat pada MS Windows 10