Come avviare da immagini ISO live non Ubuntu come Fedora o CentOS?

24

Ho scoperto che può essere fatto con loopback come segue

menuentry "Lucid ISO" {
loopback loop (hd0,1)/boot/iso/ubuntu-10.04-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-10.04-desktop-i386.iso noprompt noeject
initrd (loop)/casper/initrd.lz
}

Ma funziona solo con Ubuntu o i suoi derivati. Come dovrebbe essere scritto se voglio avviare altre immagini live come fedora, cent, opensuse ecc.?

Modifica: ho trovato altre voci, ma tutte sono probabilmente basate su Debian.

menuentry "Linux Mint 10 Gnome ISO" {
 loopback loop /linuxmint10.iso
 linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/linuxmint10.iso noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}

menuentry "DBAN ISO" {
 loopback loop /dban.iso
 linux (loop)/DBAN.BZI nuke="dwipe" iso-scan/filename=/dban.iso silent --
}


menuentry "Tinycore ISO" {
 loopback loop /tinycore.iso
 linux (loop)/boot/bzImage --
 initrd (loop)/boot/tinycore.gz
}


menuentry "SystemRescueCd" {
 loopback loop /systemrescuecd.iso
 linux (loop)/isolinux/rescuecd isoloop=/systemrescuecd.iso setkmap=us docache dostartx
 initrd (loop)/isolinux/initram.igz
}

Modifica2: come caricare a catena grub e syslinux da grub2 ?

Modifica3: voglio avviare altre immagini live senza dispositivi rimovibili e utilizzare grub2 , quindi è necessario disporre di voci di menu specifiche per grub2 .

    
posta virpara 25.05.2012 - 06:19
fonte

7 risposte

19

L'avvio da iso è una funzione che deve essere supportata dalla distro e l'opzione iso-scan/filename= non funzionerà in Fedora o altri. Quelli potrebbero avere altre opzioni del kernel per questa funzione o la funzione potrebbe non essere affatto supportata.

Ho trovato un metodo per avviare il DVD di Fedora 16, qui di seguito.

Avvio di Fedora 15 DVD iso da grub

menuentry "Fedora 15 (DVD)" {
 insmod loopback
 insmod iso9660
 set isofile="/Fedora-15-x86_64-DVD.iso"
 loopback loop (hd0,2)$isofile
 linux (loop)/isolinux/vmlinuz rootfstype=auto  root=live:UUID=:$isofile ro quiet
 initrd (loop)/isolinux/initrd.img
}

Presuppone che il tuo file iso si trovi alla radice della seconda partizione del disco rigido interno.

fonte: questa pagina

Puoi cercare un'altra distribuzione in google, poiché non è una funzione distro-indipendente.

Nota 1: Ha funzionato anche con Fedora 16, l'ho appena testato.
Nota 2: Sembra che il metodo abbia funzionato quando si posizionano gli iso file in una partizione fat o ext4.

Avvio di grml small iso da grub2

Grml può anche essere avviato da grub2. Si noti che utilizza l'opzione findiso anziché l'opzione iso-scan/filename , a indicare che l'avvio da iso viene implementato come opzioni diverse in diverse distribuzioni.

(menuentry "Grml small 2009.10" {
  loopback loop /boot/iso/grml-small_2009.10.iso
  linux (loop)/boot/grmlsmall/linux26 findiso=/boot/iso/grml-small_2009.10.iso apm=power-off lang=us vga=791 boot=live nomce noeject noprompt --
  initrd (loop)/boot/grmlsmall/initrd.gz
}

Questa pagina ha diversi esempi di altre distribuzioni da parte di Grub2.

Avvio di openSUSE 13.1 Live da iso

Ecco l'unica soluzione che ha funzionato (tutti gli altri mi hanno dato un Impossibile trovare l'identificativo MBR e fermato). In questo esempio, l'iso viene posizionato nella terza partizione del primo disco nella directory /home/username/ .

menuentry "openSUSE_13.1_GNOME_Live" {
  load_video
  insmod gzio
  insmod part_msdos
  insmod ext2
  set root='(hd0,msdos3)'
  set isofrom_device='/dev/sda3'
  set isofrom_system='/home/username/openSUSE-13.1-GNOME-Live-i686.iso'
  set loader='/boot/i386/loader'
  loopback loop $isofrom_system
  linux   (loop)$loader/linux isofrom_device=$isofrom_device isofrom_system=$isofrom_system ramdisk_size=512000 ramdisk_blocksize=4096 ro quiet splash $vt_handoff preloadlog=/dev/null showopts
  initrd  (loop)$loader/initrd
}

La fonte è il commento di janeppo .

Fedora 17 Gnome Live Iso

Ecco la voce grub.cfg del menu di avvio per Fedora 17. gli iso sono posizionati nella terza partizione del primo disco. Anche il nome del file è cambiato.

menuentry "Fedora Live" {
    loopback loop (hd0,3)/fedora.iso
    linux (loop)/EFI/BOOT/vmlinuz0 root=live:/fedora.iso rootfstype=auto ro liveimg quiet rhgb rd.luks=0 rd.md=0
    initrd (hd0,3)/initrd-fromiso
}

Ultima nota: penso che questa risposta serva da esempio. Non dovrebbe essere più elaborato con esempi.

    
risposta data Anwar 27.05.2012 - 11:26
fonte
3

Ecco quali file iso ho scoperto per l'avvio utilizzando grub2 .

Ho eseguito correttamente l'avvio seguendo gli ISO

  • Ubuntu Precise Pangolin 12.04 ISO
  • SystemRescueCd
  • Strumento di rilevamento dell'hardware di avvio
  • Dos gratuito
  • CD di avvio di Hiren
  • CD di avvio definitivo

Ho scoperto che se vuoi avviare altri ISO come il Boot CD di Hiren, ecc. puoi usare MEMDISK utility come kernel.

Dove trovare MEMDISK?

Scarica Syslinux da qui . Spostalo sul desktop.

Come farlo funzionare?

cd ~/Desktop/
tar xvif syslinux-4.05.tar.xz 
cd syslinux-4.05/memdisk/
sudo mkdir /customboot
sudo mv memdisk /customboot/
cd /customboot/
sudo mv memdisk memdisk4.05
gksudo gedit /etc/grub.d/40_custom 

Quindi incolla sotto le voci in gedit. Dovrai modificare set isofile="/path/to/iso-file.iso" .

Quindi emetti update-grub . Riavvia e controlla.

Le mie voci in 40_custom file.

menuentry "Ubuntu Natty Narwhal 11.04 ISO" {
    set isofile="/OS/ubuntu-11.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "Ubuntu Precise Pangolin 12.04 ISO" {
    set isofile="/OS/ubuntu-12.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "SystemRescueCd" {
    set isofile="/OS/systemrescuecd-x86-2.7.0.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/isolinux/rescuecd isoloop=$isofile setkmap=us docache dostartx
    initrd (loop)/isolinux/initram.igz
}
menuentry "Boot Hardware Detection Tool from iso using memdisk 4.05" {
    linux16 /customboot/memdisk4.05 iso
    initrd16 /customboot/hdt.iso
}
menuentry "Free Dos from iso using memdisk 4.05" {
    set isofile="/OS/fdbasecd.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Hiren's boot CD using memdisk 4.05" {
    set isofile="/OS/Hiren's.BootCD.10.1.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Ultimate Boot CD iso using memdisk 4.05" {
    set isofile="/OS/ubcd511.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}

Tutti gli ISO sono mantenuti su sda6/OS e MEMDISK è mantenuto sulla partizione in cui ubuntu è installato (nella root) e rinominato in memdisk4.05 così il percorso è /customboot/memdisk4.05

nota: fedora non ha funzionato con l'altra risposta data. Sto ancora provando ad avviare fedora :(.

    
risposta data virpara 09.06.2012 - 16:43
fonte
1

Quello che stai chiedendo è fuori tema qui, poiché richiede la conoscenza di quegli altri sistemi per poter configurare le voci di grub per avviarle correttamente. Sì, è possibile.

Tuttavia ... Troverete Multi System uno strumento competente per avere molti ISO distro su una grande unità USB. Trovo che funzioni molto bene, ma dovrai installarlo da un PPA:

link

Lo uso in modo che io possa avere il Gparted LiveUSB e altri strumenti, così come quelli di Ubuntu su una pendrive per InstallFests. Come bonus, consente una schermata iniziale personalizzata per il menu, che ho impostato sul logo per il team LoCo australiano.

Chris

Come già detto, Multisystem usa Grub2 per fare ciò che vuoi. Dato che questo thread off-topic è permesso, o almeno tollerato, ecco la voce Fedora dal mio Multisystem Grub2:

 menuentry "Fedora-15-i686-Live-Desktop.iso" {
 linux /fedora1/isolinux/vmlinuz0 live_locale=en_AU.UTF-8 live_keytable=us live_dir=/fedora1 root=UUID=493A-D2EF rootfstype=auto ro liveimg quiet rhgb rd_NO_LUKS rd_NO_MD noiswmd
 initrd /fedora1/isolinux/initrd0.img
 }

Si noti che non è possibile avviare direttamente da ISO in quanto non è supportato come avviene con le distribuzioni basate su Debian. Avrai bisogno dei file decompressi dalla ISO disponibili sul disco rigido come segue:

chris@chris-office:/media/RED8/fedora1$ ls -l
total 563972
drwx------ 2 chris chris      4096 Feb 11  2011 isolinux
-rw-r--r-- 1 chris chris     43503 May 14  2011 livecd-iso-to-disk
-r--r--r-- 1 chris chris      8192 May 14  2011 osmin.img
-r--r--r-- 1 chris chris 577449984 May 14  2011 squashfs.img

Ovviamente dovrai cambiare la posizione della directory / fedora / e l'UUID della partizione in cui stai avviando Fedora. Probabilmente dovresti anche cambiare la modalità di mount da ro a rw, così come qualsiasi altra cosa appropriata, come le autorizzazioni su squashfs.

Probabilmente è anche possibile impostare un disco di persistenza virtuale, sebbene non vedo alcun motivo per cui non si possa montare la propria partizione normale / home. Ancora una volta, posso solo suggerire di installare Multidisk e fare da solo la configurazione per imparare come farlo.

Chris

    
risposta data fabricator4 27.05.2012 - 11:13
fonte
1

Sembra che 13.04 richieda una sintassi diversa per raggiungere questo obiettivo. Qualcuno ha avviato con successo l'ubuntu-13.04-desktop-amd64.iso da un disco fisico e avrebbe avuto cura di condividere la sintassi di grub?

EDIT: ha risposto alla mia domanda. Hai bisogno di rinominare vmlinuz in mvlinuz.efi e funziona.

menuentry "Ubuntu-13.04-desktop-amd64.iso" --class ubuntu {
set isofile="/archives/ubuntu-13.04-desktop-amd64.iso"
loopback loop (hd1,6)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noeject noprompt --
initrd (loop)/casper/initrd.lz
}
    
risposta data user130567 27.04.2013 - 15:03
fonte
1

Trovo che usare il loopback di grub2 sia inestimabile per testare nuove iso senza richiedere una chiavetta USB o masterizzare su CD. Ci sono bug archiviati contro Fedora per fare qualcosa di simile. Tracciare lo stato corrente richiede un po 'di tempo.

risposta data grantbow 15.05.2013 - 23:58
fonte
0

Prova ad usare Multisystem, installando i LiveCD che vuoi e poi copiando i file su / e unendo grub.cfgs! (Sono davvero curioso di vedere se funzionerebbe!).

    
risposta data WindowsEscapist 30.05.2012 - 00:23
fonte
0

sfortunatamente nessuna di queste raccomandazioni non mi ha aiutato. Quindi ho trovato la strada e mi piacerebbe condividere con voi. Ad esempio, per esempio, hai bisogno di: Metti l'immagine iso nella directory. se la directory principale è montata su / dev / sda1, quindi crea dir / iso e metti iso lì. vai su grub console (quando appare il menu grub premi "c".)

Scegli il dispositivo appropriato - hd0 significa sda. Devi sceglierne uno dove si trova l'iso.

loopback loop (hd0,msdos1)/iso/Redhat.iso 
linux (loop)/isolinux/vmlinuz inst.repo=hd:sda1:/iso/Redhat.iso 
initrd (loop)/isolinux/initrd.img 
boot

E avvialo!

    
risposta data Дмитрий Бод 23.08.2017 - 21:48
fonte

Leggi altre domande sui tag