Hvordan kjøre enhver Linux-distribusjon direkte fra harddisken i Ubuntu ved å bruke Grub-menyen


De fleste lager en oppstartbar USB.

Denne opplæringen vil konsentrere seg om å presentere en måte du kan kjøre noen Linux ISO-distribusjoner direkte fra harddisken din ved å redigere Ubuntu 20.04 GRUB2 (fungerer på Ubuntu 18.04 eller tidligere) menyen som er standard oppstartslaster i de fleste moderne Linux-distribusjoner, som gir en raskere måte å bruke et Linux-operativsystem på, og som også har stor innvirkning på personvernet fordi alle innstillingene og live-øktene dine ikke er bevart som standard.

Distribusjonene som presenteres i dette emnet er CentOS, Fedora, Kali Linux og Gentoo Live DVD.

Ubuntu 20.04 (eller andre Linux-distribusjoner med GRUB2 oppstartslaster) installert på systemharddisken.

  • Ubuntu 20.04 Desktop Installation Guide

Trinn 1: Last ned Linux Live ISO-filer

1. For å kunne starte opp og kjøre en hvilken som helst Linux-distribusjon uten å installere dem på harddisken, sørg for å laste ned Live CD/DVD-utgivelsen av hvert Linux ISO-bilde.

  • Last ned CentOS Live ISO-bilde
  • Last ned Fedora Live ISO-bilde
  • Last ned Kali Linux Live ISO Image
  • Last ned Gentoo Linux Live ISO Image

Trinn 2: Legg til ISO-bilder til GRUB2-menyen

2. Etter at du har lastet ned dine favoritt Linux ISO Live DVD-bilder, åpner du Ubuntu Nautilus med root-privilegier ved å bruke 'sudo nautilus'-kommandoen fra Terminal og oppretter en katalog kalt live i din systemrotbanen og flytt ISO-filen til denne mappen.

$ sudo nautilus

3. For å fortsette videre må du gi Grub2 vår diskpartisjon UUIDUniversally Unique Identifier (partisjonen der ISO-filer er plassert). For å få partisjon UUID, kjør følgende blkid-kommando.

$ sudo blkid

For automatisk montert partisjon eller harddisker ved systemoppstart, kjør følgende cat-kommando.

$ sudo cat /etc/fstab   

4. En annen metode for å få partisjonens UUID er å åpne visualisere grub.cfg filinnhold som ligger i /boot/grub/ banen og søke etter --fs -uuid en streng (i tilfelle du ikke har en atskilt partisjon for /boot).

5. Etter at du har fått rotpartisjons-UUID-koden, flytt til katalogen /etc/grub.d/, åpne 40_custom-filen for redigering og legg til følgende linjer nederst i denne filen.

menuentry 'CentOS 8 Live' --class os --class gnu-linux --class gnu --class os --group group_main {
                set isofile="/live/CentOS-8-x86_64-1905-dvd1.iso"

         insmod ext2
         insmod loopback
         insmod iso9660      
                loopback loop (hd0,msdos1)$isofile      
                search --no-floppy --fs-uuid --set=root 3b87d941-8ee7-4312-98fc-1f26828d62ab                            
                linux (loop)/isolinux/vmlinuz boot=live fromiso=/dev/sda1/$isofile noconfig=sudo username=root hostname=centos
                initrd (loop)/isolinux/initrd.img
}

Her representerer følgende direktiver:

  1. set isofile = En variabel som har ISO-systembaneplassering.
  2. (hd0,msdos1) = Første partisjon fra første harddisk (i Linux er disker nummererte som starter med 0) – det samme som /dev/sda1.
  3. –fs-uuid –set=root 59036d99-a9bd-4cfb-80ab-93a8d3a92e77 = Første partisjon fra første harddisk UUID-kode.
  4. linux og initrd = Egendefinerte kjerneoppstartsparametere – de er forskjellige avhengig av hver Linux-distribusjon.

6. Etter at du er ferdig med å redigere filen, oppdater-grub for å legge til den nye ISO (i dette tilfellet CentOS) til Grub2-menyen. For å bekrefte det, åpne /boot/grub/grub.cfg og søk nederst etter ISO-oppføringen din.

$ sudo update-grub

7. For å kjøre CentOS Live ISO, start datamaskinen på nytt, velg CentOS fra GRUB-menyen og trykk deretter Enter-tasten.

På samme måte kan du legge til de andre Linux Live ISO-distribusjonsbildene til GRUB2-menyen som vist. Åpne og rediger /etc/grub.d/40_custom grub-filen igjen og legg til følgende oppføringer.

menuentry 'Fedora Live' --class os --class gnu-linux --class gnu --class os --group group_main {
                set isofile="/live/Fedora-Workstation-Live-x86_64-32-1.6.iso"

         insmod ext2
         insmod loopback
         insmod iso9660      
                loopback loop (hd0,msdos1)$isofile      
                search --no-floppy --fs-uuid --set=root 3b87d941-8ee7-4312-98fc-1f26828d62ab                            
                linux (loop)/isolinux/vmlinuz boot=live fromiso=/dev/sda1/$isofile noconfig=sudo username=root hostname=fedora
                initrd (loop)/isolinux/initrd.img
}
menuentry 'Kali Linux Live' --class os --class gnu-linux --class gnu --class os --group group_main {
                set isofile="/live/kali-linux-2020.2-live-i386.iso"

         insmod ext2
         insmod loopback
         insmod iso9660      
                loopback loop (hd0,msdos1)$isofile      
                search --no-floppy --fs-uuid --set=root 3b87d941-8ee7-4312-98fc-1f26828d62ab                            
                linux (loop)/live/vmlinuz boot=live fromiso=/dev/sda1/$isofile noconfig=sudo username=root hostname=kalilinux
                initrd (loop)/live/initrd.img
}
menuentry 'Gentoo Linux Live' --class os --class gnu-linux --class gnu --class os --group group_main {
                set isofile="/live/livedvd-amd64-multilib-20160704.iso"

         insmod ext2
         insmod loopback
         insmod iso9660      
                loopback loop (hd0,msdos1)$isofile      
                search --no-floppy --fs-uuid --set=root 3b87d941-8ee7-4312-98fc-1f26828d62ab                            
                linux (loop)/live/vmlinuz boot=live fromiso=/dev/sda1/$isofile noconfig=sudo username=root hostname=gentoo
                initrd (loop)/live/initrd.img
}

8. Oppdater så GRUB-menyen igjen, start datamaskinen på nytt og velg din foretrukne Linux-distribusjon ISO fra GRUB-menyen.

$ sudo update-grub

9. Hvis du ikke har nok ledig plass på root-partisjonen din, for å være vert for andre Linux ISO-filer kan du legge til en annen harddisk og flytte alle dine Linux-distribusjons ISO-filer dit. Etter at du har opprettet en partisjon og lagt til et filsystem, monter den på /mnt-banen for å gjøre den tilgjengelig.

$ sudo mount /dev/sdb1 /mnt

10. Flytt deretter all ISO på den nye harddisken og grip dens UUID ved å bruke blkid-kommandoen.

$ sudo blkid

11. Åpne igjen og rediger /etc/grub.d/40_custom grub-fil og legg til andre Linux Live ISO-distribusjonsbilder til GRUB2-menyen ved å bruke samme prosedyre, men vær oppmerksom på alle distribusjon Live Kernel-oppstartsparametere som kan inspiseres ved å montere ISO-bildet ved å bruke mount -o loop-alternativet eller konsultere distribusjonswiki-sider.