Multiboot USB-enhet

den här artikeln eller avsnittet är en kandidat för att flytta till Multiboot diskbilder.

anmärkningar: se Diskussion (Diskutera i samtal:Multiboot USB-enhet#omfattning och titel)

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.

anledning: flera stilproblem (diskutera i samtal: Multiboot USB-enhet#)

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.

anledning: hur mycket extra utrymme behövs för startladdaren? (Diskutera i samtal: Multiboot USB drive#)

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:

  1. en BIOS-startpartition (gdisk-typkod EF02). Denna partition måste vara 1 MiB i storlek
  2. en EFI – systempartition (gdisk-typkod EF00 med ett FAT32-filsystem). Denna partition kan vara så liten som 50 MiB.
  3. 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.

anledning: måste skapa eftersom något kanske inte räcker? (Diskutera i samtal: Multiboot USB drive#)

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_customeller /mnt/boot/grub/custom.cfgoch 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.

Tips: för en lista över kärnparametrar, se kärnans kommandoradsparameterdokumentation. För fler exempel på startposter, se Grub upstream-dokumentationen eller dokumentationen för distributionen du vill starta.

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

Se även

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *