Mange Linux-distribusjons (distro) ISO-filer du kan laste ned, eller er inkludert på vår søsters tittel Linux Format's deksel DVDer, er det som kalles hybridfiler.

Dette betyr at de ikke bare kan skrives på en CD eller DVD på vanlig måte, men de kan også kopieres til en USB-pinne med dd. USB-pinnen vil da starte opp som om det var en DVD.

Dette er en praktisk måte å lage installasjonsplater på for datamaskiner som ikke har en optisk stasjon, men det har en betydelig ulempe: Hvert ISO-bilde krever en USB-flash-stasjon til seg selv.

Med USB-pinner som holder tiere eller til og med hundrevis av gigabyte som koster bare noen få pund, og små stasjoner blir vanskeligere å finne, er dette sløsing med plass både på pinnen og i lommen eller datamaskinposen.

Ville det ikke vært bra å kunne sette flere ISO-filer på samme USB-pinne og velg hvilken som skal starte? Ikke bare er dette mer praktisk enn en håndfull USB-pinner, den er både raskere og mer kompakt enn en håndfull DVDer.

Den gode nyheten er at dette er mulig med de fleste distroer, og tanken på hvordan det er gjort, er på Linux-formatets deksel DVDer hver måned. De pleide å plukke opp distro ISOs på harddisken, slik at de kunne starte dem, og da måtte de inkludere skript for å rekonstruere ISO-filene for de som ønsket å brenne en enkelt distro til en plate.

Da begynte de å bruke Grub for å starte DVDen, som har funksjoner som gjør det mulig å starte oppstart fra ISO-filer. Den største ulempen ved denne tilnærmingen, i det minste for at dårlig sap må ha DVD-en, er at forskjellige distroer må behandles annerledes, og alternativene for å starte fra dem som ISO-er er sjelden dokumentert.

Vi vil vise deg hvordan du setter opp en USB-pinne i utgangspunktet og alternativene du trenger for favorittdistrosene. Vi vil også vise deg hvordan du skal håndtere mindre samarbeidende Linux distros.

Bruk GParted eller et av kommandolinjearbeidene til å forberede flash-stasjonen. Å gi filsystemet en etikett er viktig for å starte noen distros ISOs
EFI oppstart

I dette tilfellet har vi opprettet en flash-stasjon som bruker den gamle stilen MBR-oppstart.

Mens de fleste datamaskiner de siste årene bruker UEFI, har de fortsatt en kompatibilitetsmodus for å starte opp fra en MBR.

Så dette gjør vår pinne det mest bærbare alternativet, men hvis du trenger å starte pinnen din ved hjelp av UEFI, endrer du grub-install kommandoen for å bruke UEFI-målet, slik:

$ sudo grub-install --target = x86_64-efi - boot-directory = / media / MULTIBOOT / boot / dev / sde

Dette er et 64-biters mål, da UEFI bare støttes fullt ut på 64-bits maskinvare. Hvis du vil bruke USB-pinnen med 32-bits utstyr, hold deg til MBR-oppstartsmetoden.

Sette opp USB-pinnen

Først må vi formatere USB-pinnen. Vi antar at USB-pinnen er satt opp med en enkelt partisjon, selv om du kan bruke den første partisjonen i en multi-partisjon layout.

Det du ikke kan komme unna med, er en pinne formatert uten partisjonstabell, som noen er. Hvis det er tilfelle, bruk fdisk eller GParted til å partisjonere stasjonen, så kan du opprette filsystemet.

Valget av filsystem er i stor grad opp til deg, så lenge det er noe som Grub kan lese. Vi har brukt FAT og ext2 (det er ingen grunn til å bruke journalling ext3 eller ext4 på en flash-stasjon). Bruk det som passer til dine andre planlagte bruksområder på stasjonen, vi holder vanligvis med FAT, da det betyr at vi kan laste ned og legge til ISO-bilder fra en Windows-datamaskin om nødvendig.

Uansett hva du bruker, gi filsystemet en etikett, brukte vi MULTIBOT, da det blir viktig senere.

I disse eksemplene er USB-pinnen på / Dev / sde (denne datamaskinen har et dumt antall harddisker) og filsystemet er montert på / Media / sde1, endre stiene som passer dine forhold.

Først installerer vi Grub på pinnen for å gjøre det oppstartbar:

$ mkdir -p / media / MULTIBOOT / boot $ sudo grub-installer --target = i386-pc - boot-directory = / media / MULTIBOOT / boot / dev / sde

Merk: alternativet boot-directory peker til mappen som vil inneholde Grub-filene, men enhetnavnet du gir er hele staven, ikke partisjonen. Nå lager vi en Grub-konfigurasjonsfil med:

$ grub-mkconfig -o /media/MULTIBOOT/boot/grub/grub.cfg

Dette vil opprette en konfigurasjon for å starte distros på harddisken din, så last inn grub.cfg til en redigerer og fjern alt etter linjen som sier:

### END /etc/grub.d/00_header ###

Hvis du lager en flash-stasjon for å dele, kan du se på tema-delen av Grub-håndboken for å gjøre oppstartsskjermbildet ditt mer prettiert.

Legge til en distro

Dette gir oss en bare konfigurasjonsfil uten menyoppføringer. Hvis vi startet fra denne pinnen nå, ville vi bli droppet inn i et Grub-skall, så la oss legge til en meny.

Vi starter med en Ubuntu ISO fordi de er populære (beklager, men de er) og fordi de gjør oppstart fra en ISO-fil enkelt (det er tross alt Ubuntu, det gjør det meste enkelt). Legg grub.cfg tilbake i editoren din og legg til dette til slutten av filen:

undermeny "Ubuntu 16.04" set isofile = / Ubuntu / ubuntu-16.04-desktop-amd64.iso loopback loop $ isofile menuentry "Prøv Ubuntu 16.04 uten å installere" linux (loop) /casper/vmlinuz.efi file = / cdrom / preseed / ubuntu.seed boot = casper iso-scan / filnavn = $ isofile stille splash --- initrd (loop) /casper/initrd.lz menyentry "Installer Ubuntu 16.04" linux (loop) /casper/vmlinuz.efi file = / cdrom / preseed / ubuntu.seed boot = casper iso-scan / filnavn = $ isofile onlyubiquity quiet splash --- initrd (loop) /casper/initrd.lz

Opprett Ubuntu-katalogen på stasjonen og kopier over ISO-filen. Deretter demonterer du stasjonen og starter på nytt fra staven.

Du bør se en Grub-meny med en oppføring for Ubuntu som åpner for å avdekke oppstarts- og installeringsalternativer,

Dette er den grunnleggende menyen du får med en standard Grub-konfigurasjon, men ikke veldig pen

Spesielle alternativer

Den første linjen oppretter en variabel som inneholder banen til ISO-filen. Vi bruker en variabel fordi det betyr at vi bare trenger å gjøre en endring når vi vil tilpasse menyen til en annen utgave.

Den andre linjen forteller Grub å montere den som en loop-enhet (en måte å montere en fil som om den var en blokk-enhet).

Da har vi de to menyoppføringene. Du lurer kanskje på hvordan vet vi hvilke alternativer du vil legge til i menyoppføringene. Det kommer fra en kombinasjon av å se på ISOs opprinnelige oppstartsmeny og vite hva du skal legge til for en ISO-oppstart.

Sistnevnte, når det gjelder Ubuntu, er å legge til

iso-scan / filename = $ isofile

hvor variabelen isofile ble satt til stien til filen et par linjer tidligere. For å se den opprinnelige oppstartsmenyen, må vi montere ISO-filen, som er gjort slik:

$ sudo mount -o loop / path / to / iso / mnt / somewhere

De fleste ISOs bruker isolinux til å starte opp, så du må se på CFG-filene i isolinux eller boot / isolinux katalog over din monterte ISO-fil.

Hovedfilen er isolinux.cfg men noen distros bruker dette til å laste andre CFG-filer. I tilfelle Ubuntu er dette i en fil som heter txt.cfg. Du leter etter noe som:

label live meny label ^ Prøv Ubuntu uten å installere kjernen /casper/vmlinuz.efi append file = / cdrom / preseed / ubuntu.seed boot = casper initrd = / casper / initrd.lz stille splash ---

De kernel Innstillingen oversetter til Linux-alternativet i Grub med tillegg av (loop) til banen. På samme måte, initrd En del av tilleggslinjen tilsvarer Grubs initrd-linje.

Resten av legge til fil legges til Linux-linjen sammen med isoscan-alternativet. Denne tilnærmingen vil fungere med de fleste distros basert på Ubuntu, selv om noen har fjernet ISO-oppstartsfunksjonaliteten av en eller annen grunn. Det er mulig å legge til dette tilbake, som vi snart vil se.

  • Dette er de beste Linux-treningsleverandørene og nettkursene i 2017