Comment démarrer à partir d'images ISO live non Ubuntu comme Fedora ou CentOS?

26

J'ai trouvé que cela peut se faire loopbackcomme suit

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
}

Mais cela ne fonctionne qu'avec ubuntu ou ses dérivés. Comment faut-il l'écrire si je veux démarrer d'autres images en direct comme fedora, cent, opensuse etc.?

Edit: j'ai trouvé d'autres entrées mais toutes sont probablement basées sur 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
}

Edit2: Comment charger en chaîne grubet à syslinuxpartir de grub2?

Edit3: je veux démarrer d'autres images en direct sans aucun périphérique amovible et utiliser grub2donc besoin d'entrées de menu spécifiques à grub2.

Rahul Virpara
la source
1
Ce n'est pas hors sujet, encore un échange de pile unix et linux est mieux unix.stackexchange.com
Tachyons
@Rinzwind comment ??
Tachyons
2
La question concerne fedora, centOS et opensuse. Pas sur Ubuntu. @abcd
Rinzwind
2
Soit dit en passant: Fedora n'est pas capable de le faire. CentOS est essentiellement Fedora. dracuta une demande de fonctionnalité contre elle et elle doit être corrigée pour cela. Vous pouvez trouver ce patch sur bugzilla.redhat.com
Rinzwind
2
Copie possible? askubuntu.com/questions/121212/…
fossfreedom

Réponses:

19

Le démarrage à partir d'iso est une fonctionnalité qui doit être prise en charge par la distribution, et l' iso-scan/filename=option ne fonctionnera pas dans Fedora ou autres. Ceux-ci peuvent avoir d'autres options de noyau pour cette fonctionnalité ou la fonctionnalité peut ne pas être prise en charge du tout.

J'ai trouvé une méthode pour démarrer Fedora 16 DVD, voici ci-dessous.

Démarrer Fedora 15 DVD iso à partir de grub

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

Il suppose que votre fichier iso est à la racine de la deuxième partition du disque dur interne.

source: cette page

Vous pouvez rechercher une autre distribution dans Google, car il ne s'agit pas d'une fonctionnalité indépendante de la distribution.

Note 1: Il a également fonctionné avec Fedora 16, je viens de le tester.
Remarque 2: Il semble que la méthode ait fonctionné lorsque vous placez le fichier iso dans une partition fat ou ext4.


Démarrer grml small iso depuis grub2

Grml peut également être démarré à partir de grub2. Notez qu'il utilise l' findisooption au lieu de l' iso-scan/filenameoption, ce qui indique que le démarrage à partir d'iso est implémenté comme différentes options dans différentes distributions.

(entrée de menu "Grml small 2009.10" {
  boucle de bouclage /boot/iso/grml-small_2009.10.iso
  linux (boucle) / boot / grmlsmall / linux26 findiso = / boot / iso / grml-small_2009.10.iso apm = power-off lang = us vga = 791 boot = live nomce noeject noprompt -
  initrd (boucle) /boot/grmlsmall/initrd.gz
}

Cette page contient plusieurs exemples d'autres distributions démarrant à partir de Grub2.


Démarrer openSUSE 13.1 en direct depuis iso

Voici la seule solution qui a fonctionné (tous les autres m'ont donné un identifiant de recherche de MBR impossible et se sont arrêtés). Dans cet exemple, l'iso est placé sur la troisième partition du premier disque dans le répertoire /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'
  boucle de bouclage $ isofrom_system
  linux (boucle) $ loader / linux isofrom_device = $ isofrom_device isofrom_system = $ isofrom_system ramdisk_size = 512000 ramdisk_blocksize = 4096 ro splash $ vt_handoff preloadlog = / dev / null showopts
  initrd (boucle) $ loader / initrd
}

La source est le commentaire de janeppo .


Fedora 17 Gnome Live Iso

Voici l'entrée grub.cfg du menu de démarrage pour Fedora 17. l'iso est placé sur la troisième partition du premier disque. Le nom de fichier est également modifié.

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

Dernière note: je pense que cette réponse sert d'exemple. Il ne devrait pas être élaboré davantage avec des exemples.

Anwar
la source
J'ai essayé l'entrée ci-dessus pour Fedora 15 mais cela n'a pas fonctionné. Toute proposition?
Rahul Virpara
mon entrée ressemble à ceci pastebin.com/1ksBVu21
Rahul Virpara
3

Voici les fichiers iso que j'ai compris pour démarrer en utilisant grub2.

J'ai réussi à démarrer les ISO suivants

  • Ubuntu Precise Pangolin 12.04 ISO
  • SystemRescueCd
  • Outil de détection du matériel de démarrage
  • Dos gratuit
  • CD de démarrage d'Hiren
  • CD de démarrage ultime

J'ai trouvé que si vous voulez démarrer d'autres ISO comme le CD de démarrage d'Hiren, etc., vous pouvez utiliser l' MEMDISKutilitaire comme noyau.

Où obtenir MEMDISK?

Téléchargez Syslinux à partir d' ici . Déplacez-le sur le bureau.

Comment le faire fonctionner?

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 

Collez ensuite les entrées ci-dessous dans gedit. Vous devrez changer set isofile="/path/to/iso-file.iso".

Puis lancez update-grub. Redémarrez et vérifiez.

Mes entrées dans le 40_customfichier.

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
}

Tous les ISO sont conservés sda6/OSet MEMDISKsont conservés sur la partition où ubuntu est installé (à la racine) et renommé pour memdisk4.05que le chemin d'accès soit/customboot/memdisk4.05

note: fedora n'a pas fonctionné avec l'autre réponse donnée. Toujours en train de démarrer Fedora :(.

Rahul Virpara
la source
Notez que lors du chargement de fichiers ISO avec memdisk et grub initrd16, le fichier ISO doit être inférieur à 462 Mo. Messages d'erreur associés: grub: erreur: impossible de trouver la cible de mémoire appropriée , memdisk: MEMDISK: Aucune image de disque virtuel spécifiée . Pour plus de détails, voir ici et ici .
gregn3
2

Malheureusement, aucune de ces recommandations ne m'a aidé. J'ai donc trouvé le chemin et j'aimerais partager avec vous. Pour démarrer les centos par exemple, vous avez besoin: Mettez l'image iso dans le répertoire. si votre répertoire racine est monté sur / dev / sda1, alors créez dir / iso et mettez iso là. aller à la console grub (lorsque le menu grub apparaît, appuyez sur 'c'.)

Choisissez l'appareil approprié - hd0 signifie sda. Vous devez choisir celui où se trouve votre 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

Et démarrez-le!

Дмитрий Бод
la source
1

Ce que vous demandez est hors sujet ici, car cela nécessite une connaissance de ces autres systèmes pour pouvoir configurer des entrées grub pour les démarrer correctement. Oui c'est possible.

Cependant ... Vous trouverez Multi System un outil compétent pour avoir de très nombreuses ISO de distribution différentes sur une grande clé USB. Je trouve que cela fonctionne très bien mais vous devrez l'installer à partir d'un PPA:

http://www.pendrivelinux.com/multiboot-create-a-multiboot-usb-from-linux/

Je l'utilise pour pouvoir disposer de Gparted LiveUSB et d'autres outils, ainsi que ceux d'Ubuntu sur une clé USB pour InstallFests. En prime, il permet un écran de démarrage personnalisé pour le menu, que j'ai défini sur le logo de l'équipe australienne LoCo.

Chris

Comme indiqué, Multisystem utilise Grub2 pour faire ce que vous voulez. Étant donné que ce fil hors sujet est autorisé, ou du moins toléré, voici l'entrée Fedora de mon 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
 }

Notez que vous ne pouvez pas démarrer directement à partir de l'ISO car il n'est pas pris en charge comme c'est le cas avec les distributions basées sur Debian. Vous aurez besoin des fichiers décompressés de l'ISO disponibles sur le disque dur comme suit:

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

Vous devrez bien sûr changer l'emplacement du répertoire / fedora / et l'UUID de la partition sur laquelle vous démarrez Fedora. Vous devriez probablement également changer le mode de montage de ro en rw, ainsi que tout autre élément approprié, comme les autorisations sur les squashfs.

Vous pouvez également probablement configurer un disque de persistance virtuel, bien que je ne vois aucune raison pour laquelle vous ne pouviez pas monter votre partition normale / home. Encore une fois, je ne peux que vous suggérer d'installer Multidisk et de faire la configuration vous-même pour apprendre à le faire.

Chris

fabricant4
la source
la question est de savoir comment créer une entrée dans un système existant et GRUB2non comment créer une clé USB bootable ou un disque dur externe ayant des distributions différentes. BTW, il nécessite une meilleure connaissance des GRUB2autres distributions, il est donc en fait lié à GRUB(car certaines distributions utilisent encore GRUB) ou GRUB2.
Rahul Virpara
1
Je dirais que faire des entrées de grub pour des distributions telles que Fedora, Centos et Suse est beaucoup plus lié à ces distributions qu'à grub, et certainement rien à voir avec Ubuntu.
fabricator4
1
@virpara: Vous n'avez pas non plus spécifié que vous démarrez les ISO à partir du disque dur - la raison la plus raisonnable de vouloir démarrer divers LiveISO est d'avoir un périphérique d'installation tout faire. Nous ne sommes pas des lecteurs d'esprit, ni des experts sur d'autres distributions. Enfin, si vous installez et utilisez réellement MultiSystem pour créer une clé USB de cette manière, il vous montrera comment le faire - il utilise grub2 pour obtenir les résultats souhaités.
fabricator4
1

Il semble que 13.04 nécessite une syntaxe différente pour y parvenir. Quelqu'un a-t-il réussi à démarrer ubuntu-13.04-desktop-amd64.iso à partir d'un disque physique et voudrait partager la syntaxe grub?

EDIT: répondu à ma propre question. Besoin de renommer vmlinuz en mvlinuz.efi et cela fonctionne.

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
}
user130567
la source
1

Je trouve que l'utilisation du bouclage de grub2 est inestimable pour tester de nouveaux isos sans nécessiter de clé USB ni de gravure sur CD. Il y a des bugs déposés contre Fedora pour faire quelque chose de similaire. Retrouver l'état actuel prend un peu de temps.

arc-en-ciel
la source
0

Essayez d'utiliser Multisystem, installez les liveCD que vous voulez, puis copiez les fichiers dans votre / et fusionnez le grub.cfgs! (Je suis en fait curieux de voir si cela fonctionnerait!).

WindowsEscapist
la source