Ceci est une ancienne révision du document !
Table des matières
Créer une partition avec GRUB2 contenant les cd d'installation et des isos
Pré-requis
Première étape
- Dans le contenu du fichier ISO (pour ubuntu, dans le répertoire casper), repérez dans le fichier iso et notez l'emplacement et le nom de :
- fichier du noyau (vmlinuz ou vmlinuz.*)
- image initrd (initrd ou initrd.*).
Autres étapes
Créer une partition pour les fichiers isos
Dans les exemples, ce sera la partition /dev/sdb5 → (hd1,5) dans la notation de GRUB (à adapter)
Rappel :
- disque :
- sda → hd0
- sdb → hd1
- etc.
partition :- sda1 → 1
- sda2 → 2
- etc.
- Créez avec Gparted la partition qui recevra les fichiers isos.
- Créez le répertoire de montage /media/partisos :
...@...:~$ sudo mkdir /media/partisos
- Repérez l'UUID de la partition /dev/sdb5 :
...@...:~$ udo blkid /dev/sdb5 /dev/sdb5: LABEL="isos" UUID="19D22ADE39FB5783" TYPE="ntfs" PARTUUID="6db6c434-05"
- Éditez avec les droits d'administration le fichier /etc/fstab pour ajouter la ligne :
- /etc/fstab
... UUID=19D22ADE39FB5783 /media/partisos ntfs-3g rw,user,auto,gid=1000,uid=1000,nls=utf8,umask=002 0 0
- Montez la partition :
...@...:~$ sudo mount /media/partisos
- Créez sur la partition un dossier isos avec les droits d'écriture :
...@...:~$ cd /media/partisos ...@...:/media/partisos$ sudo mkdir isos ...@...:/media/partisos$ sudo chown $USER:$USER isos
- créez un lien symbolique dans le dossier Téléchargements pour un accès facile :
...@...:/media/partisos$ ln -f -s -r -t ~/Téléchargements isos
Désormais, les fichiers iso téléchargés pourront être déplacés dans ce dossier isos depuis le dossier ~/Téléchargements.
Les fichiers de configuration de grub dans /boot/grub/grub.cfg
Création d'un sous-menu
Nous allons modifier la configuration de GRUB pour :
- ne plus devoir lancer la commande update-grub après chaque modification
- et pouvoir modifier les sous-menus sans avoir les droits d'administration
- Éditez avec les droits d'administration le fichier /etc/grub.d/40_custom pour lui ajouter des lignes de menu qui mènent à un fichier de configuration situé sur la partition isos :
- /etc/grub.d/40_custom
... menuentry " " { # true permet d'afficher la ligne de titre sans rien faire d'autre # ici une ligne vide pour aérer le menu true } # entrée qui conduit au sous-menu menuentry "===>> Distributions lancées depuis leur fichier iso" { # partition choisie # /dev/sdb5 : b => hd1 ; 5 => 5 set root=(hd1,5) # fichier de configuration du sous-menu configfile /isos/00_isoboot.cfg }
Le fichier de configuration sera au même endroit que les fichiers iso, ce qui permet de le modifier sans droits super utilisateur.
Pour activer ce changement, lancez la commande :
...@...:~$ sudo update-grub Sourcing file `/etc/default/grub' Création du fichier de configuration GRUB… Image Linux trouvée : /boot/vmlinuz-4.15.0-112-generic Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-112-generic Image Linux trouvée : /boot/vmlinuz-4.15.0-111-generic Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-111-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin Windows 10 trouvé sur /dev/sdb1 fait
Cela ajoute une ligne au menu grub pour se rendre sur une page dédiée aux lancements de fichiers iso.
Édition du sous-menu
Allez dans le répertoire isos (par exemple via le lien ~/Téléchargements/isos) et créez le fichier 00_isoboot.cfg :
- 00_isoboot.cfg
# partition et répertoire contenant les isos : /dev/sdb5 set root=(hd1,5) set fra="locale=fr_FR bootkbd=fr console-setup/layoutcode=fr" set isoroot="/isos" menuentry "Ubuntu 16.04 64 bits live" { set isoname="ubuntu-16.04.3-desktop-amd64.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile linux (loop)/casper/vmlinuz.efi $fra iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash -- initrd (loop)/casper/initrd.lz } menuentry "Boot-repair" { set isoname="boot-repair-disk-64bit.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile linux (loop)/casper/vmlinuz.efi $fra iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash -- initrd (loop)/casper/initrd.lz } menuentry "Clonezilla" { set isoname="clonezilla-live-2.5.2-31-i686.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile }
- isoname
- nom du fichier iso
Adaptez les noms vmlinuz et initrd selon ce que vous avez noté dans la première étape, 2)
Voici quelques modèles :
- Ubuntu 16.04 :
menuentry "Ubuntu 16.04.3 64 bits live" { set isoname="ubuntu-16.04.3-desktop-amd64.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile linux (loop)/casper/vmlinuz.efi $fra iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash -- initrd (loop)/casper/initrd.lz }
- Ubuntu 19.04 :
menuentry "Ubuntu 19.04 64 bits live" { set isoname="ubuntu-19.04-desktop-amd64.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile linux (loop)/casper/vmlinuz $fra iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash -- initrd (loop)/casper/initrd }
- Boot-repair :
menuentry "Boot-repair" { set isoname="boot-repair-disk-64bit.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile linux (loop)/casper/vmlinuz.efi $fra iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash -- initrd (loop)/casper/initrd.lz }
- Clonezilla :
menuentry "Clonezilla" { set isoname="clonezilla-live-2.5.2-31-i686.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile }
- PING avec des ajouts :
menuentry "PING with addons" { set isoname="PING-4.00-WithAddons.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile }
- Medicat :
menuentry "Medicat" { insmod ntfs search --no-floppy -s root -l MEDICAT chainloader +1 }
Cas de Windows
Supposons que les images soient dans le répertoire /isos-images et qu'il contienne :
- ubuntu-16.04.3-desktop-amd64.iso
- boot-repair-disk-64bit.iso
- Windows10-32-64.iso
- medicat.17.10.02.stable-004.iso
Aller dans ce répertoire des fichiers isos :
$ cd /isos-images
Monter l'iso windows en loop :
$ sudo mount -o loop -t udf /isos-images/Windows10-32-64.iso /media/winsource/ mount: /dev/loop0 is write-protected, mounting read-only nicolas@chateau:~$
Copier les isos et le contenu de l'iso windows sur ISOS :
- cd d'installation de Windows 10 :
menuentry "Installation de Windows 10" { insmod ntfs search --no-floppy -s root -l WIN10 chainloader +1 }
Conclusion
Problèmes connus
Voir aussi