2016 m. gruodžio 13 d., antradienis

Kaip paleisti ISO failą tiesiogiai iš kietojo disko?

Taip, yra galimybė paleisti .iso failus, per grub, neperkelinėjant į USB.

Paprastai kalbant "Grub" yra programa, kuri leidžia pasirinkti su kuria operacine sistema vartotojas nori dirbi.


Jums reikės:
  1. ISO failo.
  2. Grub Unified Bootloader'io, 2 versijos
Veiksmai:

Atsidarom /etc/grub.d/40_custom  failą su mėgstamiausiu failo redaktoriumi ir pakeičiam paryškintas eilutes(žemiau pavyzdys).
$ vi /etc/grub.d/40_custom


Randam .iso failuose kelia iki vmlinuz ir initrd failų.
$ 7z l ~/Downloads/lubuntu-16.10-desktop-amd64.iso | egrep "initrd|vmlinuz"
2016-10-20 03:45:20 .....     28172280     28172280  live/initrd.img
2016-10-20 03:45:20 .....      4104232      4104232  live/vmlinuz

Diskų numeravimas

Žemiau matom, kaip skiriasi grub'o disko apibūdinimas:
hd0msdos1
/dev/sda/dev/sda1

hd1 - tai antra particija /dev/sdb
hd1msdos1
/dev/sdb/dev/sdb1

Ir taip toliau hd2, butų /dev/sdc diskas, reikia atkreipti dėmesį, kad grub skaičiuoja diskus nuo 0.

Naudojant $ sudo fdisk -l komanda pasižiūrim diskų pavadinimus ir atitinkamai atliekam pakeitimus.

Belieka atnaujinti grub. Į terminalą įvedam komandą:
$ sudo update-grub


nuotraukoje matomas grub langas su naujais įrašais
Pasikeitęs grub meniu


40_custom pavyzdys:

exec tail -n +3 $0
# Šis failas leidžia užkrauti iso failus iš hdd
# Meniu įrašus pridedam iš apačios
# "exec tail" komanda, nurodanti grub'ui, nuo kurios eilutės pradėti vykdyti komandas 

menuentry "Lubuntu 16.10 iš Linuxų particijos" {
        set isofile="/home/sup/Downloads/lubuntu-16.10-desktop-amd64.iso"
        loopback loop (hd1,msdos1)$isofile
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject
        initrd (loop)/casper/initrd.lz 
}

menuentry "Ubuntu 16.04 iš kito kietojo disko" {
        set isofile="/iso/ubuntu-16.04.1-desktop-amd64.iso"
        loopback loop (hd0,msdos1)$isofile
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject
        initrd (loop)/casper/initrd.lz 
}


menuentry "Kali" {
    insmod ntfs
    insmod iso9660

      set isofile="/iso/kali-linux-2016.2-amd64/kali-linux-2016.2-amd64.iso"
      loopback loop (hd0,msdos1)$isofile
      linux (loop)/live/vmlinuz boot=live noconfig=sudo username=root hostname=kali findiso=$isofile debug --verbose nomodeset
      initrd (loop)/live/initrd.img
    }

Grub nustatymus kitoms distribucijoms rasi čia.
Ačiū madhur už grub'o Kali linux nustatymus.