Oui, vous pouvez accomplir cela en ajoutant une entrée de menu au GRUB
menu du chargeur de démarrage.
Vous pouvez ajouter une entrée de menu GRUB personnalisée en modifiant /etc/grub.d/40_custom
,
Exemple d'entrée de menu personnalisée :
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Trisquel ISO" {
set isofile="/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso"
loopback loop (hd0,5)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
initrd (loop)/casper/initrd
}
Instruction et explication:
La commande set
est utilisée pour stocker le chemin du fichier ISO dans une variable, ici isofile
.
loopback
est utilisé pour créer un périphérique à partir d'une image de système de fichiers. Pour ce faire, il est nécessaire de spécifier le périphérique et le fichier image. Ici, nous avons utilisé (hd0,5)$isofile
dans lequel (hd0,5)
représente la cinquième partition du disque.
- Points à noter: dans
(hd0,5)
, le
1 er chiffre représente le numéro de périphérique qui commence à partir de 0
(ici: 0 = 1 er périphérique) et le
2 ème chiffre représente le numéro de partition qui commence à partir de 1
(ici 5 = 5 ème partition).
Cela signifie/dev/sda5
- Et la variable
$isofile
a le chemin du fichier ISO. Alors, finalement ça devient (hd0,5)/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso
.
- Pour plus d'informations, consultez: Comment spécifier des périphériques et des fichiers .
linux
La commande est utilisée pour charger le noyau Linux ( vmlinuz ) à partir du fichier. Mettez le chemin du noyau Linux dans l'ISO.
Lisez / extrayez le contenu d'ISO pour obtenir le chemin de l'exemple du noyau:
$ 7z l trisquel_7.0_i686.iso | grep vmlinu
2014-10-29 21:41:43 ..... 5841680 5841680 casper/vmlinuz
2014-11-03 00:45:09 ..... 5844176 5844176 casper/vmlinuz.netinst
donc, a /casper/vmlinuz
été utilisé ici.
initrd
La commande est utilisée pour charger un disque virtuel initial pour une image du noyau Linux et définir les paramètres appropriés dans la zone de configuration Linux en mémoire.
- initrd est un schéma pour charger un système de fichiers racine temporaire dans la mémoire. Mettez le chemin de
initrd
l'ISO.
Lire / extraire le contenu de l'ISO pour obtenir le chemin de initrd
:
$ 7z l trisquel_7.0_i686.iso | grep initrd
2014-11-03 00:45:19 ..... 16851900 16851900 casper/initrd
2014-11-03 00:45:09 ..... 9398592 9398592 casper/initrd.netinst
Le paramètre supplémentaire tel que boot=casper iso-scan/filename=$isofile noprompt noeject
peut être spécifique à une distribution GNU / Linux et varier pour une autre famille de Linux. Vous pouvez trouver des configurations pour différentes famille / la distribution d' ici .
Remarque: Certaines distributions utilisent initrd.gz
ou initrd.lz
dépendent de l'algorithme / compression utilisé.
Après l'édition /etc/grub.d/40_custom
, GRUB doit être mis à jour par update-grub2
commande. Au redémarrage, vous trouverez l'entrée de menu personnalisée que vous avez ajoutée sur l'écran GRUB. Et vous pouvez utiliser l'environnement Live d'une distribution GNU / Linux.
Pour effectuer l'installation à partir d'ISO, l'installateur peut avoir besoin de démonter toutes les partitions montées; c'est à dire dire qu'un autre système est monté sur /isodevice
, alors vous pouvez umount -l /isodevice
.