Questo articolo o sezione è un candidato per lo spostamento di immagini disco Multiboot.
Un’unità flash USB multiboot consente l’avvio di più file ISO da un singolo dispositivo. I file ISO possono essere copiati sul dispositivo e avviati direttamente senza prima decomprimerli. Sono disponibili diversi metodi, ma potrebbero non funzionare per tutte le immagini ISO.
Utilizzo di dispositivi GRUB e loopback
Questo articolo o sezione necessita di miglioramenti di linguaggio, sintassi wiki o stile. Vedere Aiuto: Stile per riferimento.
Vantaggi:
- una sola partizione richiesto
- tutti i file ISO sono trovato in una directory
- aggiunta e rimozione di file ISO è semplice
Svantaggi:
- non tutte le immagini ISO sono compatibili
- l’originale menu di avvio per il file ISO non è visualizzato
- può essere difficile trovare un lavoro voce di avvio
Preparazione
Questo articolo o sezione ha bisogno di espansione.
Creare almeno una partizione e un filesystem supportato da GRUB sull’unità USB. Vedere Partizionamento e file system#Creare un file system. Scegliere la dimensione in base alla dimensione totale dei file ISO che si desidera archiviare sull’unità e pianificare lo spazio aggiuntivo per il bootloader.
GRUB
installazione Semplice
Montare il filesystem trova su un’unità USB:
# mount /dev/sdXY /mnt
Creare la directory /boot:
# mkdir /mnt/boot
Installare GRUB sulla chiavetta USB:
# grub-install --target=i386-pc --recheck --boot-directory=/mnt/boot /dev/sdX
nel caso In cui si desidera avviare le Iso in modalità UEFI, è necessario installare grub per UEFI target:
# grub-install --target=x86_64-efi --removable --boot-directory=/mnt/boot --efi-directory=/mnt
Per UEFI, la partizione deve essere la prima in una tabella di partizioni MBR e formattata con FAT32.
Hybrid UEFI GPT + BIOS GPT/MBR boot
Questa configurazione è utile per creare una chiave USB universale, avviabile ovunque.Prima di tutto è necessario creare una tabella delle partizioni GPT sul dispositivo. Hai bisogno di almeno 3 partizioni:
- Una partizione di avvio del BIOS (codice tipo gdisk
EF02
). Questa partizione deve avere una dimensione di 1 MiB - Una partizione di sistema EFI (gdisk type code
EF00
con un filesystem FAT32). Questa partizione può essere piccola come 50 MiB. - La partizione dati (utilizzare un filesystem supportato da GRUB). Questa partizione può occupare il resto dello spazio dell’unità.
L’accuratezza fattuale di questo articolo o sezione è contestata.
Successivamente è necessario creare una tabella di partizione MBR ibrida, poiché l’impostazione del flag di avvio sulla partizione MBR protettiva potrebbe non essere sufficiente.
Hybrid MBR partition table esempio di creazione utilizzando gdisk:
Non dimenticare di formattare le partizioni:
# mkfs.fat -F32 /dev/sdX2# mkfs.ext4 /dev/sdX3
Ora puoi installare GRUB per supportare sia EFI + GPT che BIOS + GPT / MBR. La configurazione di GRUB (boot boot-directory) può essere mantenuta nello stesso posto.
Innanzitutto, è necessario montare la partizione di sistema EFI e la partizione dati dell’unità USB.
Un esempio di questo sarebbe il seguente:
# mount /dev/sdX3 /mnt# mkdir -p /mnt/boot/EFI# mount /dev/sdX2 /mnt/boot/EFI
Quindi, è possibile installare GRUB per UEFI con:
Nella maggior parte dei casi EFI_MOUNTPOINT
corrisponderà alla sottodirectory /mnt/boot/EFI
sul disco USB montato.
# grub-install --target=x86_64-efi --recheck --removable --efi-directory=/EFI_MOUNTPOINT --boot-directory=/DATA_MOUNTPOINT/boot
E per il BIOS con:
# grub-install --target=i386-pc --recheck --boot-directory=/DATA_MOUNTPOINT/boot /dev/sdX
Come ripiego aggiuntivo, è anche possibile installare GRUB sulla partizione dati avviabile MBR:
# grub-install --target=i386-pc --recheck --boot-directory=/DATA_MOUNTPOINT/boot /dev/sdX3
la Configurazione di GRUB
l’Utilizzo di un template
Ci sono alcuni progetti git che forniscono alcune pre-esistente file di configurazione di GRUB, e un bel generico grub.cfg
che può essere utilizzato per caricare le altre voci di avvio su richiesta, mostrando loro solo se specificato ISO i file o le cartelle che li contengono sono presenti sul disco.
Multiboot USB:https://github.com/aguslr/multibootusb
GLIM (GRUB2 Live ISO Multiboot): https://github.com/thias/glim
Configurazione manuale
Ai fini dell’unità USB multiboot è più facile modificaregrub.cfg
a mano invece di generarlo. In alternativa, apportare le seguenti modifiche in /etc/grub.d/40_custom
o/mnt/boot/grub/custom.cfg
e generare/mnt/boot/grub/grub.cfg
utilizzando grub-mkconfig.
Poiché si consiglia di utilizzare un nome persistente invece di/dev/sdxY
per identificare la partizione sull’unità USB in cui si trovano i file di immagine, definire una variabile per comodità per mantenere il valore. Se le immagini ISO si trovano sulla stessa partizione di GRUB, utilizzare quanto segue per leggere l’UUID all’avvio:
/mnt/boot/grub/grub.cfg
# percorso della partizione che contiene le immagini ISO (usando UUID)sonda -u $root --set=rootuuidset imgdevpath="/dev/disk/by-uuid/$rootuuid"
O specificare l’UUID esplicitamente:
/mnt/boot/grub/grub.cfg
# percorso della partizione contenente immagini ISO (usando UUID)imposta imgdevpath="/dev/disk/by-uuid/UUID_value"
In alternativa, usa l’etichetta del dispositivo invece di UUID:
/mnt/boot/grub/grub.cfg
# percorso della partizione contenente immagini ISO (usando le etichette)imposta imgdevpath="/dev/disk/by-label/label_value"
L’UUID o l’etichetta necessari possono essere trovati usando lsblk -f
. Non utilizzare la stessa etichetta dell’ISO Arch per il dispositivo USB, altrimenti il processo di avvio fallirà.
Per completare la configurazione, una voce di avvio per ogni immagine ISO deve essere aggiunto sotto questa intestazione, vedere la sezione successiva per gli esempi.
Voci di avvio
Si presume che le immagini ISO siano memorizzate nella directoryboot/iso/
sullo stesso filesystem in cui è installato GRUB. Altrimenti sarebbe necessario anteporre il percorso del file ISO con l’identificazione del dispositivo quando si utilizza il comando loopback
, ad esempio loopback loop (hd1,2)$isofile
. Poiché questa identificazione dei dispositivi non è persistente, non viene utilizzata negli esempi in questa sezione.
Si può usare la denominazione persistente del dispositivo a blocchi in questo modo. Sostituire l’UUID in base all’UUID del filesystem ISO.
Arch Linux monthly release
Vedi anche archiso.
Vedi LEGGIMI.bootparams per le opzioni archiso supportate nella riga di comando del kernel.
Memtest86+
Memtest86 + è incluso nella ISO mensile.
archboot
Vedi anche archboot.
Usando Syslinux e memdisk
Usando il modulo memdisk, l’immagine ISO viene caricata in memoria e il suo bootloader viene caricato. Assicurarsi che il sistema che avvierà questa unità USB abbia una quantità sufficiente di memoria per il file immagine e il sistema operativo in esecuzione.
Preparazione
Assicurarsi che l’unità USB sia correttamente partizionata e che ci sia una partizione con file system supportato da Syslinux, ad esempio fat32 o ext4. Quindi installare Syslinux in questa partizione, vedere Syslinux # Installazione sul BIOS.
Installare il modulo memdisk
Il modulo memdisk non è stato installato durante l’installazione di Syslinux, deve essere installato manualmente. Montare la partizione in cui è installato Syslinux su/mnt/
e copiare il modulo memdisk nella stessa directory in cui è installato Syslinux:
# cp /usr/lib/syslinux/bios/memdisk /mnt/boot/syslinux/
Configurazione
Dopo aver copiato i file ISO sull’unità USB, modificare il file di configurazione Syslinux e creare voci di menu per le immagini ISO. La voce di base è simile a questa:
boot / syslinux / syslinux.cfg
ETICHETTA some_label LINUX memdisk INITRD/path/to / image.iso AGGIUNGI iso
Vedi memdisk su Syslinux wiki per ulteriori opzioni di configurazione.
Avvertenza per sistemi a 32 bit
Quando si avvia un sistema a 32 bit da un’immagine più grande di 128MiB, è necessario aumentare l’utilizzo massimo della memoria di vmalloc. Questo viene fatto aggiungendovmalloc=valueM
ai parametri del kernel, dovevalue
è maggiore della dimensione dell’immagine ISO in MiB.
Ad esempio, quando si avvia il sistema a 32 bit dall’ISO dell’installazione Arch, premere il tastoTab
sulla voceBoot Arch Linux (i686)
e aggiungerevmalloc=768M
alla fine. Saltando questo passaggio si verificherà il seguente errore durante l’avvio:
modprobe: ERROR: could not insert 'phram': Input/output error
Automated tools
- GRUB2 Live ISO Multiboot (GLIM) — Un insieme di file di configurazione di GRUB per trasformare una memory stick USB formattata VFAT con immagini ISO della distribuzione GNU/Linux in un’unità USB multiboot.
https://github.com/thias/glim | | non confezionato? cerca in AUR
- liveusb-builder — Una suite di script per creare chiavetta USB multiboot per distribuzioni GNU/Linux
https://github.com/mytbk/liveusb-builder || liveusb-builder-gitAUR
- MultiBootUSB — Un software Python multipiattaforma con interfacce CLI e GUI che consente di installare e rimuovere più immagini live Linux su una chiavetta USB.
https://github.com/mbusb/multibootusb | / multibootusbAUR
- MultiSystem — Uno strumento grafico che permette di installare, gestire e rimuovere più immagini ISO su un dispositivo USB.
- Ventoy-Uno strumento open source per creare unità USB avviabile per ISO/WIM/IMG/VHD(x)/file EFI. Non è necessario formattare il disco più e più volte, è sufficiente copiare i file sull’unità USB e avviarli direttamente.
http://liveusb.info/dotclear/ / / multisystemAUR
https://www.ventoy.net | /ventoy-binAUR