den här artikeln eller avsnittet är en kandidat för att flytta till Multiboot diskbilder.
en multiboot USB-flash-enhet tillåter uppstart av flera ISO-filer från en enda enhet. ISO-filerna kan kopieras till enheten och startas direkt utan att packa upp dem först. Det finns flera metoder tillgängliga, men de kanske inte fungerar för alla ISO-bilder.
använda Grub-och loopback-enheter
den här artikeln eller avsnittet behöver språk, wiki-syntax eller stilförbättringar. Se Hjälp: stil för referens.
fördelar:
- endast en enda partition krävs
- Alla ISO-filer finns i en katalog
- lägga till och ta bort ISO-filer är enkla
nackdelar:
- inte alla ISO-bilder är kompatibla
- den ursprungliga startmenyn för ISO-filen visas inte
- det kan vara svårt att hitta en fungerande startpost
förberedelse
den här artikeln eller avsnittet behöver utökas.
skapa minst en partition och ett filsystem som stöds av GRUB på USB-enheten. Se partitionering och filsystem # skapa ett filsystem. Välj storlek baserat på den totala storleken på ISO-filerna som du vill lagra på enheten och planera för extra utrymme för startladdaren.
installera GRUB
enkel installation
montera filsystemet på USB-enheten:
# mount /dev/sdXY /mnt
Skapa katalogen /boot:
# mkdir /mnt/boot
installera GRUB på USB-enheten:
# grub-install --target=i386-pc --recheck --boot-directory=/mnt/boot /dev/sdX
om du vill starta ISOs i UEFI-läge måste du installera GRUB för UEFI-målet:
# grub-install --target=x86_64-efi --removable --boot-directory=/mnt/boot --efi-directory=/mnt
för UEFI måste partitionen vara den första i en MBR-partitionstabell och formaterad med FAT32.
Hybrid UEFI GPT + BIOS GPT / MBR boot
denna konfiguration är användbar för att skapa en universell USB-nyckel, startbar överallt.Först och främst måste du skapa en GPT-partitionstabell på din enhet. Du behöver minst 3 partitioner:
- en BIOS-startpartition (gdisk-typkod
EF02
). Denna partition måste vara 1 MiB i storlek - en EFI – systempartition (gdisk-typkod
EF00
med ett FAT32-filsystem). Denna partition kan vara så liten som 50 MiB. - din datapartition (använd ett filsystem som stöds av GRUB). Den här partitionen kan ta upp resten av utrymmet på din enhet.
den faktiska noggrannheten i denna artikel eller avsnitt är omtvistad.
nästa måste du skapa en hybrid MBR-partitionstabell, eftersom inställningen av startflaggan på den skyddande MBR-partitionen kanske inte räcker.
Hybrid MBR partitionstabell skapande exempel med gdisk:
glöm inte att formatera partitionerna:
# mkfs.fat -F32 /dev/sdX2# mkfs.ext4 /dev/sdX3
Du kan nu installera GRUB för att stödja både EFI + GPT och BIOS + GPT / MBR. GRUB-konfigurationen (–boot-directory) kan hållas på samma plats.
först måste du montera EFI-systempartitionen och datapartitionen på din USB-enhet.
ett exempel på detta skulle vara följande:
# mount /dev/sdX3 /mnt# mkdir -p /mnt/boot/EFI# mount /dev/sdX2 /mnt/boot/EFI
sedan kan du installera GRUB för UEFI med:
i de flesta fall motsvarar EFI_MOUNTPOINT
underkatalogen /mnt/boot/EFI
på din monterade USB-disk.
# grub-install --target=x86_64-efi --recheck --removable --efi-directory=/EFI_MOUNTPOINT --boot-directory=/DATA_MOUNTPOINT/boot
och för BIOS med:
# grub-install --target=i386-pc --recheck --boot-directory=/DATA_MOUNTPOINT/boot /dev/sdX
som en extra reserv kan du också installera GRUB på din MBR-startbara datapartition:
# grub-install --target=i386-pc --recheck --boot-directory=/DATA_MOUNTPOINT/boot /dev/sdX3
konfigurera GRUB
använda en mall
det finns några git-projekt som ger några befintliga GRUB – konfigurationsfiler och en trevlig Generisk grub.cfg
som kan användas för att ladda de andra startposterna på begäran, vilket bara visar dem om de angivna ISO – filerna-eller mappar som innehåller dem-finns på enheten.
Multiboot USB: https://github.com/aguslr/multibootusb
GLIM (GRUB2 Live ISO Multiboot): https://github.com/thias/glim
Manuell konfiguration
för multiboot USB-enhet är det lättare att redigera grub.cfg
för hand istället för att generera den. Alternativt kan du göra följande ändringar i /etc/grub.d/40_custom
eller /mnt/boot/grub/custom.cfg
och generera /mnt/boot/grub/grub.cfg
med grub-mkconfig.
eftersom det rekommenderas att använda ett beständigt namn istället för /dev/sdxY
för att identifiera partitionen på USB-enheten där bildfilerna finns, definiera en variabel för bekvämlighet för att hålla värdet. Om ISO-bilderna finns på samma partition som GRUB, använd följande för att läsa UUID vid starttid:
/mnt/boot/grub/grub.cfg
# sökväg till partitionen som håller ISO-bilder (med UUID)sond-u $root --set=rootuuidset imgdevpath="/dev/disk/by-uuid/$rootuuid"
eller ange UUID uttryckligen:
/mnt/starta/grub/grub.cfg
# sökväg till partitionen som håller ISO-bilder (med UUID)set imgdevpath="/dev/disk/by-uuid/UUID_value"
alternativt, använd enhetsetiketten istället för UUID:
/mnt/boot/grub/grub.cfg
# sökväg till partitionen som håller ISO-bilder (med etiketter)Ställ in imgdevpath="/dev/disk/by-label/label_value"
den nödvändiga UUID eller etiketten kan hittas med lsblk -f
. Använd inte samma etikett som Arch ISO för USB-enheten, annars kommer startprocessen att misslyckas.
för att slutföra konfigurationen måste en startpost för varje ISO-bild läggas till under denna rubrik, se nästa avsnitt för exempel.
startposter
det antas att ISO-bilderna lagras i katalogen boot/iso/
på samma filsystem där GRUB är installerat. Annars skulle det vara nödvändigt att prefixa sökvägen till ISO-filen med enhetsidentifiering när du använder kommandot loopback
, till exempel loopback loop (hd1,2)$isofile
. Eftersom denna identifiering av enheter inte är beständig används den inte i exemplen i detta avsnitt.
man kan använda persistent block device naming som så. Byt ut UUID enligt ditt ISO-filsystem UUID.
Arch Linux månadsutgåva
Se även archiso.
Se README.bootparams för archiso alternativ som stöds i kärnan kommandoraden.
Memtest86+
Memtest86+ ingår i den månatliga ISO.
archboot
Se även archboot.
använda Syslinux och memdisk
använda memdisk-modulen laddas ISO-bilden i minnet och dess startladdare laddas. Se till att systemet som startar upp den här USB-enheten har tillräckligt med minne för bildfilen och operativsystemet som körs.
förberedelse
kontrollera att USB-enheten är korrekt partitionerad och att det finns en partition med filsystem som stöds av Syslinux, till exempel fat32 eller ext4. Installera sedan Syslinux till den här partitionen, se Syslinux#Installation på BIOS.
installera memdisk-modulen
memdisk-modulen installerades inte under Syslinux-installationen, den måste installeras manuellt. Montera partitionen där Syslinux är installerat på /mnt/
och kopiera memdisk-modulen till samma katalog där Syslinux är installerat:
# cp /usr/lib/syslinux/bios/memdisk /mnt/boot/syslinux/
konfiguration
När du har kopierat ISO-filerna på USB-enheten, redigera syslinux-konfigurationsfilen och skapa menyposter för ISO-bilderna. Grundposten ser ut så här:
boot/syslinux/syslinux.cfg
etikett some_label LINUX memdisk INITRD /sökväg/till/bild.iso Lägg till iso
se memdisk på Syslinux wiki för fler konfigurationsalternativ.
varning för 32-bitarssystem
När du startar ett 32-bitarssystem från en bild som är större än 128mib är det nödvändigt att öka den maximala minnesanvändningen för vmalloc. Detta görs genom att lägga tillvmalloc=valueM
till kärnparametrarna, därvalue
är större än storleken på ISO-bilden i MiB.
När du till exempel startar 32-bitarssystemet från Arch-installationen ISO trycker du på Tab
– tangenten över Boot Arch Linux (i686)
och lägger till vmalloc=768M
I slutet. Hoppa över detta steg kommer att resultera i följande Fel vid start:
modprobe: ERROR: could not insert 'phram': Input/output error
automatiserade verktyg
- GRUB2 Live ISO Multiboot (GLIM) — en uppsättning GRUB konfigurationsfiler för att förvandla en VFAT formaterad USB-minne med GNU/Linux distribution ISO-bilder till en multiboot USB-enhet.
https://github.com/thias/glim | / inte förpackad? sök i aur
- liveusb-builder — ett skript svit för att skapa multiboot USB-minne för GNU/Linux-distributioner
https://github.com/mytbk/liveusb-builder || liveusb — builder-gitAUR
- MultiBootUSB-en plattformsoberoende Python programvara med CLI och GUI-gränssnitt som låter dig installera och ta bort flera levande Linux-bilder på ett USB-minne.
https://github.com/mbusb/multibootusb || multibootusbAUR
- MultiSystem — ett grafiskt verktyg som gör det möjligt att installera, hantera och ta bort flera ISO-bilder på en USB-enhet.
http://liveusb.info/dotclear/ | | multisystemAUR
- Ventoy — ett open source-verktyg för att skapa startbar USB-enhet för ISO/WIM/IMG/VHD(x)/EFI-filer. Du behöver inte formatera disken om och om igen, du behöver bara kopiera filerna till USB-enheten och starta dem direkt.
https://www.ventoy.net / / ventoy-binAUR