Come avviare da un file .iso in GRUB2? [duplicare]

18

C'è un modo per farlo?

    
posta Lincity 05.02.2011 - 10:16

6 risposte

9

Potrebbe essere molto più facile dell'impressione che ottieni da tutte le spiegazioni dettagliate sul web. Ho semplicemente fatto quanto segue su Ubuntu 12.04 per avviare FreeDOS .iso per un aggiornamento del firmware

  • Installa grub-imageboot
  • copia i file .iso in / boot / images /
  • esegui update-grub2

Oppure copia / incolla questi:

sudo -s
apt-get install grub-imageboot
mkdir /boot/images/
cp $YOUR_ISO_FILE.iso /boot/images/

update-grub2

Ecco fatto.

A volte, potresti aver bisogno di altri 2 passaggi prima di eseguire update-grub2:

Se non lo hai mai fatto prima, devi modificare / etc / default / grub in modo da vedere il menu di grub all'avvio:

## To show the menu, disable the hidden_timeout, and set a timeout
#GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=10

Per alcune immagini .iso, potrebbe essere necessario aggiungere questa opzione in / etc / default / grub-imageboot: (ne avevo bisogno per il mio FreeDOS .iso)

ISOOPTS="iso raw"

Se hai modificato una di queste config. file, devi eseguire nuovamente update-grub2 .

Aggiornamento: Ecco il menuentry risultante chiesto da "dma_k"

menuentry "Bootable ISO Image: SV100S2_64_128_120229" {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos6)'
    search --no-floppy --fs-uuid --set=root 6ca082d0-63d0-48c3-9e5f-2ce5d7a74fe4
    linux16 /boot/memdisk iso raw
    initrd16 /boot/images/SV100S2_64_128_120229.iso
}

Questo era per un'immagine FreeDOS con qualche aggiornamento del firmware o simile.

    
risposta data mivk 08.01.2013 - 17:18
8

Suppongo che tu voglia aggiungere una voce .iso al menu di GRUB e avviarla?

Ho trovato queste informazioni sui forum di Ubuntu

    
risposta data Mark Rooney 05.02.2011 - 10:44
2

link

% Bl0ck_qu0te%

(Nota: se qualcuno può usare la formattazione [CODE] appropriata, sarebbe fantastico. Non riesco a farlo funzionare correttamente .tytyp

    
risposta data user10551 10.02.2011 - 04:44
2

Mi sono imbattuto qui perché mi sono stancato di bruciare innumerevoli immagini ISO 9660 avviabili e volevo quindi utilizzare GRUB 2 per avviare uno FreeDOS per l'aggiornamento del firmware / microcodice degli HDD Seagate. Come complemento o alternativa alla risposta di mivk (usando memdisk di syslinux), il seguente è stato ciò che ho fatto per sfruttare la potenza di GRUB 2:

  1. Installa il pacchetto syslinux-common (per utilizzare memdisk al suo interno; grub-imageboot è un pacchetto di hook non essenziale)
  2. Premi il tasto 'c' (mnemonico per comando) per attivare il prompt dei comandi del mini-shell integrato di GRUB 2 (o, più precisamente, la shell di tipo BASH minimale)
  3. Scrivi le 3 linee di comandi nella mini-shell di GRUB 2:
   linux16 (hd0,gpt2)/usr/lib/syslinux/memdisk iso raw
   initrd16 (hd0,gpt3)/myUserAccount/download/Barracuda-ALL-GRCC4H.iso
   boot
   # where Barracuda-ALL-GRCC4H.iso is a FreeDOS-based ISO 9660 image, and 
   # the mathematical 2-tuples or ordered pairs, (hd0,gpt2) and (hd0,gpt3), 
   # are GRUB 2's respective device notations for my rootfs partition 
   # (e.g., /dev/sda2) and home partition (e.g., /dev/sda3).
   # NOTE: This procedure also applies to Seagate's SeaTools (based on 
   #       FreeDOS as well); just substitute the file SeaToolsDOS223ALL.iso 
   #       for Barracuda-ALL-GRCC4H.iso.

Informazioni su memdisk di syslinux è su link

Manipolando i comandi direttamente nella mini-shell, questa procedura è più flessibile e più smacchiante della maggior parte dei suddetti metodi poiché non devi preoccuparti di modificare e aggiornare le configurazioni di GRUB 2 ogni volta che vuoi provare una diversa distribuzione Linux o un live CD basato su BSD.

Attualmente, sono queste 4 linee di comandi che si possono usare come pattern generici nella mini-shell di GRUB 2, cioè la sequenza loopback-linux-initrd-boot più un argomento ( s) passato al kernel specificato, ad esempio, per eseguire il bootstrap di quante più immagini ISO Linux possibili (in questo caso è con 3 argomenti della linea di comando del kernel per System Rescue CD):

   loopback lb (hd0,gpt3)/myUserAccount/download/systemrescuecd-x86-3.7.0.iso
   linux (lb)/isolinux/rescue64 isoloop=systemrescuecd-x86-3.7.0.iso setkmap=us docache
   initrd (lb)/isolinux/initram.igz
   boot

NB. La parte loopback del pattern generico non è, strettamente parlando, obbligatoria per Linux, quando si intende installare una distro Linux come una derivata Debian senza sprecare un disco ottico.

    
risposta data pseudonym 20.05.2013 - 04:22
0

Come ha detto Mark Rooney, puoi trovare una ottima guida sui forum di Ubuntu .

Ciò ti consentirà di eseguire l'avvio da un file ISO, ma solo se supportato da ISO. (Tutte le versioni recenti di Ubuntu dovrebbero, come dovrebbe essere un numero di altre distro).

Se hai intenzione di installare dall'ISO live, dovresti mettere il file su una partizione diversa da quella che stai installando (dato che non puoi scrivere sulla partizione che stai eseguendo). Le probabilità sono, l'installatore si lamenterà comunque. Quello che devi fare è modificare manualmente /etc/mtab e rimuovere la voce corrispondente alla partizione con il file ISO.

    
risposta data Zifre 05.02.2011 - 17:40
-1

Per avviare da un file ISO su disco / stick USB, probabilmente il modo più user-friendly è MultiSystem : link

Devi solo trascinare e rilasciare per avere la maggior parte immagini ISO incluse nel menu di avvio del tuo disco / stick LiveUSB.

    
risposta data Sadi 31.05.2013 - 13:15

Leggi altre domande sui tag