Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utilisateurs:frombenny:grub-usb [Le 03/10/2019, 22:23] frombenny |
utilisateurs:frombenny:grub-usb [Le 24/01/2020, 17:47] frombenny suppr de la page |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>boot tutoriel}} | + | {{tag>tutoriel grub-pc amorçage}} |
---- | ---- | ||
- | <note>Cette page est un tutoriel Grub2 dont la documentation principale est disponible sur les pages [[:grub-pc]] et [[:grub-uefi]].</note> | ||
- | ====== GRUB sur une clé USB ====== | + | ====== Lancer des images iso directement depuis GRUB 2 ====== |
- | Le but de ce tutoriel est de créer un **Grub sur une clé USB bootable** avec un ou plusieurs iso()s lançable(s) directement comme indiqué [[:tutoriel/grub2_lancer_des_images_iso|ici]]. | + | Pour **lancer une distribution linux sans avoir à graver sur Cd**, les solutions existantes ont le plus souvent le recours à une clé USB gravée avec **[[:live_usb#en_ligne_de_commandes|l'instruction "dd"]]** (en mode graphique avec [[:Etcher]]) ou avec un utilitaire comme **[[:usb-creator]]**, **[[:Unetbootin]]**, **[[:Multisystem]]**, etc. |
- | Dans ce tutoriel, le parti pris est d'utiliser une table de partitions de type "msdos" accessible aussi bien depuis des systèmes anciens que récents. On les formatera en FAT32 pour qu'on puisse y avoir accès, aussi, depuis MS Windows. | + | On peut aussi utiliser **[[:Virtualbox]]** qui ne nécessite pas de clé USB mais dont l'inconvénient est qu'il ne teste pas votre configuration mais un matériel émulé. |
- | ===== Pré-requis===== | + | **Voici la procédure à suivre pour lancer vos ISOs présents sur le disque dur directement avec [[:grub-pc|Grub 2]]**. |
- | * Avoir une clé USB d'**au moins 2 Go** (Selon le ou les isos qu'on veut lancer. Attention, tout son contenu sera effacé !). | + | |
- | * **Repérer son nom**.<code>sudo blkid</code> | + | |
- | * Être **lancé sur une variante Ubuntu contenant [[:gparted]]** (ce n'est pas le même logiciel ni sur [[:Kubuntu]] ni sur [[:Lubuntu]]). | + | |
- | * Avoir **à disposition un fichier iso** d'une des variantes Ubuntu. | + | |
- | La procédure pour faire la même chose depuis Windows n'est pas traitée ici. | + | **Remarques avant de démarrer:** |
+ | * la version de Grub est une version 1.97 ou supérieure. <code>grub-install -V</code> | ||
+ | * la page de doc principale pour grub est **[[:grub-pc|ici]]**. | ||
+ | * ce type de lancement est très différent d'une distribution linux à l'autre voir impossible avec certaines d'entre elles. | ||
- | ===== Installation de grub sur la clé ===== | + | **Objectifs de ce tutoriel:** |
- | ==== Partitionnement avec gparted ==== | + | * pouvoir **tester** toutes les versions et variantes Ubuntu sur votre matériel, |
- | * **Se positionner** sur le bon disque (ici sdc),{{ :aller_sur_le_bon_device.jpg?direct&200 |cliquer sur la liste des périphériques dans gparted}} | + | * pouvoir **installer** ces distributions sans avoir à graver un CD, |
- | * Si une ou plusieurs **partitions** sont montées, la/les **démonter** par clic droit, | + | * connaitre aussi les astuces de lancement des ISOs en dehors du seul monde Ubuntu (pour de la maintenance : gparted live, rescueCD,.. ou pour tester d'autres environnements : dernières versions de [[:Gnome-Shell]], [[:Cinnamon]], Mate, [[:Lxqt]],..) |
- | * Créer une **nouvelle table de partitions** de type **"msdos"** (remet la clé à zéro),{{ ::creer_une_table_de_partition.jpg?direct&250 |dans le menu "Périphérique" de gparted}} | + | |
- | * **Créer 2 partitions** de type "FAT32" (les noms proposés ici seront utilisés dans les lignes de commande plus loin) : | + | |
- | * une de 8 Mo avec pour étiquette : **EFI-USB** | + | |
- | * une autre avec l'espace restant, étiquette : **GRUB-SOS** | + | |
- | ==== ou le même partitionnement en lignes de commande ==== | + | <note important>Pour les versions 19.10 et suivantes installées en mode Uefi -> **[[#Problèmes connus]]** pour pouvoir continuer à utiliser cette fonctionnalité.</note> |
- | * **vérifier** le nom de la clé (ici:sdc) :<code>sudo blkid</code> | + | |
- | * Créer une **nouvelle table de partitions** de type **"msdos"** : <code>sudo mkfs.fat -I /dev/sdc</code> | + | ===== Principe général ===== |
+ | * Dans ce tutoriel, les **fichiers "iso"** sont tous stockés **dans un dossier /isos à la racine** d'une des partitions présentes dans l'ordinateur. | ||
+ | * On **ajoutera les menus** pour les isos **au fichier** de configuration //**/etc/grub.d/40_custom**// (avec les [[:permissions#modifier_les_permissions|droits 'administrateurs']]). | ||
+ | * On lancera **ensuite dans un terminal** la commande:<code>sudo update-grub</code> | ||
+ | |||
+ | ==== Menu rapide ==== | ||
+ | Lorsque Grub est **en mode EFI**, on peut activer le **menu par défaut intégré** à l'iso avec ce menu type: | ||
+ | <file txt /etc/grub.d/40_custom>menuentry ".. Xubuntu Focal 20.04 (Daily build)" { | ||
+ | iso_path="/isos/focal-desktop-amd64.iso" | ||
+ | export iso_path | ||
+ | search --set=root --file $iso_path | ||
+ | loopback loop $iso_path | ||
+ | root=(loop) | ||
+ | configfile /boot/grub/loopback.cfg | ||
+ | loopback --delete loop | ||
+ | }</file> | ||
+ | **Testé** sans souci avec les **variantes Ubuntu** actuelles (2019), Linux Mint 19.3 et Debian 10. Parfois, sur d'autres distributions, on a le menu mais ensuite le lancement échoue. | ||
+ | |||
+ | C'est pratique et rapide à mettre en oeuvre (**on ne change que le nom de l'iso**) mais la distribution n'est pas localisée en français.. | ||
+ | |||
+ | ==== Menu personnalisé (Ubuntu et dérivés) ==== | ||
+ | Ubuntu utilise le **paquet 'casper'** pour ses live-cd. Donc ce menu est **valable aussi** pour Linux-Mint et d'autres **distributions basées sur Ubuntu**. | ||
+ | <file txt /etc/grub.d/40_custom>menuentry ".. Xubuntu 19.10 eoan ...." { | ||
+ | set isofile="/isos/xubuntu-19.10-desktop-amd64.iso" | ||
+ | search --set=root --file $isofile | ||
+ | loopback loop $isofile | ||
+ | echo 'Lancement de l'iso en cours, veuillez patienter..' | ||
+ | linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/xubuntu.seed noprompt quiet splash -- | ||
+ | initrd (loop)/casper/initrd | ||
+ | }</file> | ||
+ | * L'avantage principal de ce menu est qu'on **peut ajouter des options de boot** spécifiques à notre matériel (clavier, résolution écran, etc). (Le "preseed" est utilisé lors d'une installation sur l'ordi). | ||
+ | * Ce menu fonctionne **aussi avec les BIOS non EFI**. | ||
+ | |||
+ | ==== Sources des isos ==== | ||
+ | === Ubuntu et ses variantes === | ||
+ | <note important> **Attention ! pour certaines anciennes versions avant 18.04**, on peut avoir **vmlinuz.efi** (et non vmlinuz) et **une extension .lz ou .gz** à **initrd**. | ||
+ | |||
+ | Pour vérifier, il faut ouvrir l'iso avec le gestionnaire d'archives (par clic droit) et regarder dans le dossier "casper".</note> | ||
+ | |||
+ | Voici les lignes 'preseed' pour toutes les variantes d'Ubuntu : | ||
+ | * **[[:Ubuntu]]** : [[http://releases.ubuntu.com/|versions soutenues]] - [[http://cdimage.ubuntu.com/ubuntu/daily-live/current/|versions en cours de développement]]\\ //file=/cdrom/preseed/ubuntu.seed// | ||
+ | |||
+ | * **[[:Kubuntu]]** : [[http://cdimage.ubuntu.com/kubuntu/releases/|versions soutenues]] - [[http://cdimage.ubuntu.com/kubuntu/daily-live/current/|versions en cours de développement]]\\ //file=/cdrom/preseed/kubuntu.seed// | ||
+ | |||
+ | * **[[:Lubuntu]]** : [[http://cdimage.ubuntu.com/lubuntu/releases/|versions soutenues]] - [[http://cdimage.ubuntu.com/lubuntu/daily-live/current/|versions en cours de développement]]\\ //file=/cdrom/preseed/lubuntu.seed// | ||
+ | |||
+ | * **[[:Budgie|Ubuntu-Budgie]]** (nouvelle variante depuis 2017) : [[http://cdimage.ubuntu.com/ubuntu-budgie/releases/|versions soutenues]] - [[http://cdimage.ubuntu.com/ubuntu-budgie/daily-live/current/|versions en cours de développement]]\\ //file=/cdrom/preseed/ubuntu-budgie.seed// | ||
+ | |||
+ | * **[[:mate|Ubuntu-Mate]]** : [[http://cdimage.ubuntu.com/ubuntu-mate/releases/|versions soutenues]] - [[http://cdimage.ubuntu.com/ubuntu-mate/daily-live/current/|versions en cours de développement]]\\ //file=/cdrom/preseed/ubuntu-mate.seed// | ||
+ | |||
+ | * **[[:ubuntu_studio|Ubuntu Studio]]** : [[http://cdimage.ubuntu.com/ubuntustudio/releases/|versions soutenues]] - [[http://cdimage.ubuntu.com/ubuntustudio/dvd/current/|versions en cours de développement]]\\ //file=/cdrom/preseed/ubuntustudio.seed// | ||
+ | |||
+ | * **[[:Xubuntu]]** : [[http://cdimage.ubuntu.com/xubuntu/releases/|versions soutenues]] - [[http://cdimage.ubuntu.com/xubuntu/daily-live/current/|versions en cours de développement]]\\ //file=/cdrom/preseed/xubuntu.seed// | ||
+ | |||
+ | |||
+ | === Dérivés : LinuxMint,.. === | ||
+ | * **[[:linux_mint|Linux Mint]]** : [[https://linuxmint.com/download.php|versions soutenues]] - [[https://community.linuxmint.com/iso|versions en cours de développement]]\\ //file=/cdrom/preseed/linuxmint.seed// | ||
+ | |||
+ | * **[[https://voyagerlive.org/|Voyager]]** : [[https://sourceforge.net/projects/voyagerlive/|site de téléchargement]]\\ //file=/cdrom/preseed/ubuntu.seed// | ||
+ | |||
+ | ==== Installation depuis le live-cd ==== | ||
+ | Par défaut, Ubuntu monte le support d'installation dans **/isodevice**. On n'en a **pas besoin** car Ubuntu est lancé en ram. Pour éviter que l'installation ne soit bloquée, on **lancera la commande**:<code>sudo umount -lrf /isodevice</code> | ||
+ | |||
+ | **Maintenant**, il suffit de double cliquer sur "**installer ubuntu**". | ||
+ | |||
+ | ===== Autres distributions linux ===== | ||
+ | ==== Maintenance ==== | ||
+ | === GParted Live === | ||
+ | Elle contient [[:PhotoRec]] et [[:Testdisk]]. Par contre, le gestionnaire de fichiers est un peu limité (il n'affiche pas les partitions non montées) - **[[https://sourceforge.net/projects/gparted/files/gparted-live-stable/|Téléchargement]]** | ||
+ | |||
+ | * //linux (loop)/live/vmlinuz findiso=${isofile} boot=live union=overlay username=user config components noswap toram=filesystem.squashfs ip= net.ifnames=0 nosplash locales=fr_FR.UTF-8 keyboard-layouts=fr//\\ //initrd (loop)/live/initrd.img// | ||
+ | |||
+ | === SystemRescueCd === | ||
+ | **À partir de la version 6**. Basé maintenant sur Arch (au lieu de Gentoo).\\ **[[https://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/|Page de téléchargement]] - [[http://www.sysresccd.org/Online-Manual-FR|Manuel d'utilisation]] - [[http://www.sysresccd.org/Sysresccd-manual-en_Easy_install_SystemRescueCd_on_harddisk#Boot_the_ISO_image_from_the_disk_using_Grub2|Documentation Officielle SystemRescue ISO et grub2]]** | ||
+ | |||
+ | * Officiel: la partition où se trouve l'iso a une étiquette "USB-ISOs" (créée avec [[:Gparted]]). Nom inchangé même si autre chose est branché en USB. | ||
+ | * Classique: quand on est sûr du nom du disque où se trouve l'iso. Ici: /dev/sdb1 ou (hd1,1) pour grub. | ||
+ | <code>menuentry "systemrescuecd Officiel" { | ||
+ | set isofile="/isos/10_maintenance/systemrescuecd-6.0.0.iso" | ||
+ | search --no-floppy --label USB-ISOs --set=root | ||
+ | loopback loop $isofile | ||
+ | echo 'Chargement du noyau Linux ...' | ||
+ | linux (loop)/sysresccd/boot/x86_64/vmlinuz img_label=USB-ISOs img_loop=$isofile archisobasedir=sysresccd copytoram setkmap=fr-latin9 | ||
+ | echo 'Chargement de initramfs ...' | ||
+ | initrd (loop)/sysresccd/boot/x86_64/sysresccd.img | ||
+ | } | ||
+ | menuentry "systemrescuecd Classique" { | ||
+ | set isofile="/isos/10_maintenance/systemrescuecd-6.0.0.iso" | ||
+ | set root=(hd1,1) | ||
+ | loopback loop $isofile | ||
+ | echo 'Chargement du noyau Linux ...' | ||
+ | linux (loop)/sysresccd/boot/x86_64/vmlinuz img_dev=/dev/sdb1 img_loop=$isofile archisobasedir=sysresccd copytoram setkmap=fr-latin9 | ||
+ | echo 'Chargement de initramfs ...' | ||
+ | initrd (loop)/sysresccd/boot/x86_64/sysresccd.img | ||
+ | }</code> | ||
+ | |||
+ | === CloneZilla === | ||
+ | **[[wpfr>Clonezilla]]** vous permettra de cloner une partition vers une image ou une autre partition ou inversement. | ||
+ | |||
+ | * **[[http://clonezilla.org/downloads/download.php?branch=stable|version stable]]** (basée sur Debian)<file> linux (loop)/live/vmlinuz persistent boot=live findiso=$isofile union=overlay username=user config components quiet noswap lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 edd=on nomodeset nodmraid ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" keyboard-layouts=fr ocs_live_batch=\"no\" vga=normal ip=frommedia nosplash toram=filesystem.squashfs timezone=Europe/Paris utc=yes | ||
+ | initrd (loop)/live/initrd.img</file> | ||
+ | * **[[http://clonezilla.org/downloads/download.php?branch=alternative|version alternative stable]]** (basée sur Ubuntu)<file> linux (loop)/live/vmlinuz persistent boot=live findiso=$isofile union=overlay username=user hostname=xenial config components quiet noswap lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 edd=on nomodeset nodmraid noeject ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" keyboard-layouts=fr ocs_live_batch=\"no\" vga=normal ip=frommedia nosplash toram=filesystem.squashfs timezone=Europe/Paris utc=yes net.ifnames=0 | ||
+ | initrd (loop)/live/initrd.img</file> | ||
+ | |||
+ | ==== Connues ==== | ||
+ | === Arch === | ||
+ | Ne connaissant aucune version livecd officielle, voici quelques distributions dérivées de Arch Linux (pas trouvé comment les lancer directement en français) : | ||
+ | * **[[wp>Archbang]]** (environnement Openbox) : [[https://sourceforge.net/projects/archbang/|Téléchargement]]\\ **pensez à modifier 'img_dev'** selon la partition où est votre iso et **'archisolabel'**\\ //linux (loop)/arch/boot/x86_64/vmlinuz img_dev=/dev/sda2 img_loop=$isofile earlymodules=loop archisobasedir=arch archisolabel=ARCHBANG\\ initrd (loop)/arch/boot/intel_ucode.img (loop)/arch/boot/x86_64/archiso.img// | ||
+ | |||
+ | * **[[http://archex.exton.net/|ArchEX]]** (environnement Lxde) : [[https://sourceforge.net/projects/archex/|Téléchargement]]\\ **pensez à modifier 'img_dev'** selon la partition où est votre iso et **'archisolabel'**\\ //linux (loop)/arch/boot/x86_64/vmlinuz img_dev=/dev/sda2 img_loop=$isofile earlymodules=loop archisobasedir=arch archisolabel=ARCH_201607\\ initrd (loop)/arch/boot/intel_ucode.img (loop)/arch/boot/x86_64/archiso.img// | ||
+ | |||
+ | * **[[wpfr>Manjaro]] [[:Lxqt]]** : [[https://sourceforge.net/projects/manjarotorrents/files/|Lxqt et autres environnements]]\\ **pensez à modifier 'img_dev'** selon la partition où est votre iso. 'misobasedir' et **'misolabel'** ne sont pas indispensables pour toutes les versions (il faut ouvrir l'iso dans votre gestionnaire d'archives et les rechercher dans /boot/grub/kernel.cfg)\\ //linux (loop)/boot/vmlinuz-x86_64 img_dev=/dev/sda10 img_loop=$isofile misobasedir=manjaro misolabel=MJRO1715 driver=free lang=fr_FR keytable=fr tz=Europe/Paris\\ initrd (loop)/boot/intel_ucode.img (loop)/boot/initramfs-x86_64.img// | ||
+ | |||
+ | === Debian === | ||
+ | Même si Debian est parent du projet Ubuntu, son lancement est différent car il n'utilise pas casper (pour connaître la version du vmlinuz et du initrd, il faut ouvrir l'iso avec votre gestionnaire d'archives). | ||
+ | |||
+ | * **Stable** (version 9.3 : Stretch) : [[http://cdimage.debian.org/mirror/cdimage/release/current-live/|Téléchargement]]\\ //linux (loop)/live/vmlinuz-4.9.0-4-amd64 boot=live findiso=${isofile} components keyboard-layouts=fr locales=fr_FR.UTF-8 timezone=Europe/Paris\\ initrd (loop)/live/initrd.img-4.9.0-4-amd64// | ||
+ | |||
+ | **Dérivées** | ||
+ | * **[[:linux_mint|LMDE]]** : [[https://www.linuxmint.com/download_lmde.php|Téléchargement]]\\ //linux (loop)/live/vmlinuz boot=live findiso=${isofile} live-config lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr timezone=Europe/Paris utc=yes quiet splash\\ initrd (loop)/live/initrd.lz// | ||
+ | |||
+ | === Fedora === | ||
+ | Par rapport au menu standard, on définira une variable de plus : $isolabel. Pour la trouver, il faut ouvrir l'iso avec le gestionnaire d'archive (clic droit). Dans le dossier 'isolinux', il faut ouvrir 'isolinux.cfg' puis rechercher CDLABEL. | ||
+ | |||
+ | * **[[wpfr>Fedora (GNU/Linux)|Fedora]]** live Workstation - [[https://getfedora.org/fr/workstation/download/|Téléchargement]]\\ //set isolabel="Fedora-WS-Live-29-1-2"\\ linux (loop)/isolinux/vmlinuz root=live:CDLABEL=$isolabel iso-scan/filename=$isofile rootfstype=auto rd.live.image rhgb keytable=fr lang=fr_FR.utf8 locale.lang=fr_FR vconsole.keymap=fr\\ initrd (loop)/isolinux/initrd.img// | ||
+ | |||
+ | <note important>**Attention !** sur la version 29, les codes pour lancer Gnome directement en français ne fonctionnent pas (Pas trouvé!). | ||
+ | |||
+ | Après le lancement, il faut aller dans les paramètres de langue et région, faire les changements et relancer la session comme proposé (sans mot de passe).</note> | ||
+ | === Gentoo === | ||
+ | * **[[wpfr>Gentoo Linux|Gentoo]]** Live DVD (les codes pour le lancer directement en français ne fonctionnent plus depuis la version 2016) - [[https://www.gentoo.org/downloads/|Téléchargement]]\\ //linux (loop)/isolinux/gentoo isoboot=$isofile root=/dev/ram0 init=/linuxrc aufs looptype=squashfs loop=/image.squashfs cdroot vconsole.keymap=fr locale=fr_FR console=tty1 nomodeset\\ initrd (loop)/isolinux/gentoo.xz// | ||
+ | |||
+ | **Dérivées** | ||
+ | * **[[wpfr>Sabayon Linux|Sabayon]]** (lui peut être lancé en français sans problème) - [[ftp://ftp.belnet.be/mirror/sabayonlinux/iso/monthly/|Téléchargement]]\\ //linux (loop)/boot/sabayon root=/dev/ram0 init=/linuxrc lang=fr_FR isoboot=${isofile} cdroot looptype=squashfs loop=/livecd.squashfs overlayfs\\ initrd (loop)/boot/sabayon.igz// | ||
+ | |||
+ | === openSUSE === | ||
+ | |||
+ | * **[[wpfr>openSUSE]]** version install [[http://software.opensuse.org/421/fr|Téléchargement]]\\ //linux (loop)/boot/x86_64/loader/linux install=hd:$isofile\\ initrd (loop)/boot/x86_64/loader/initrd// | ||
+ | |||
+ | === Slackware === | ||
+ | Un petit tour chez la grand-mère des distros. Pas réussi à lancer la version live depuis Grub. | ||
+ | |||
+ | * **[[wpfr>Slackware]]** version install. [[http://bear.alienbase.nl/mirrors/slackware/slackware-iso/|Téléchargement]]\\ //linux (loop)/kernels/huge.s/bzImage load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 SLACK_KERNEL=huge.s locale=fr_FR.utf8 kbd=fr tz=Europe/Paris\\ initrd (loop)/isolinux/initrd.img// | ||
+ | |||
+ | ==== Spécialisées ==== | ||
+ | Ce sont des distributions dédiées à une certaine utilisation. N'oubliez pas les paramètres généraux et les lignes en italiques sont celles qui sont différentes du menu de base. | ||
+ | |||
+ | === Jeux === | ||
+ | |||
+ | * **[[wpfr>Fedora (GNU/Linux)#Labs|Fedora]] Games** ([[#Fedora|voir plus haut]]) [[https://labs.fedoraproject.org/fr/games/|Téléchargement]] - [[https://labs.fedoraproject.org/|Autres suites logicielles]]\\ //set isolabel="Fedora-Game-Live-24-1-2"\\ linux (loop)/isolinux/vmlinuz root=live:CDLABEL=$isolabel iso-scan/filename=$isofile rootfstype=auto rd.live.image rhgb KEYTABLE=fr LANG=fr_FR.utf8 locale.lang=fr_FR vconsole.keymap=fr\\ initrd (loop)/isolinux/initrd.img// | ||
+ | |||
+ | === Logiciels éducatifs === | ||
+ | * **[[:edubuntu]]** pas d'iso depuis 2014. | ||
+ | |||
+ | * **[[https://fr.vikidia.org/wiki/PrimTux|PrimTux]]** : [[http://primtux.fr/telecharger-primtux/|Page de téléchargement]]\\ //linux (loop)/live/vmlinuz2 boot=live findiso=${isofile} components live-config hostname=localhost lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr timezone=Europe/Paris utc=yes quiet splash\\ initrd (loop)/live/initrd2.img// | ||
+ | |||
+ | * **[[wpfr>Uberstudent]]** (beaucoup de logiciels qui ne sont pas sur d'autres distros) : [[https://sourceforge.net/projects/uberstudent/|Téléchargement]]\\ //linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/uberstudent.seed noprompt quiet splash\\ initrd (loop)/casper/initrd.lz// | ||
+ | |||
+ | === Logiciels pour la MAO (Musique Assistée par Ordinateur) === | ||
+ | * **[[:ubuntu_studio|Ubuntu Studio]]** est déjà cité [[#Ubuntu et ses variantes|plus haut]]. | ||
+ | |||
+ | * **[[:mao#distributions_orientees_mao|Musix]]** développée par des argentins : [[http://musix.najval.net/musix/isos/|Site de téléchargement]]\\ //linux (loop)/live/vmlinuz boot=live findiso=${isofile} live-config lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr timezone=Europe/Paris utc=yes quiet splash\\ initrd (loop)/live/initrd.img// | ||
| | ||
- | ==== Fichiers de configuration ==== | + | ==== Environnements à tester ==== |
- | On utilisera **2 fichiers de configuration** : | + | === Enlightenment === |
- | * sur **GRUB-SOS** : on copie le fichier **grub.cfg issu de l'iso xubuntu** dans un dossier /boot/grub. On en profite pour copier la **police par défaut** (certains grub cherchent font.pf2 d'autres unicode.pf2).<code>cd /media/$USER/GRUB-SOS/ | + | * **[[:Enlightenment|Elive]]** a quelques racourcis intéressants (Alt + clic glissé : clic gauche déplace la fenêtre, clic droit la redimensionne par exemple) : [[http://www.elivecd.org/download/beta/|téléchargement de la version beta]]\\ //linux (loop)/live/vmlinuz1 username=eliveuser boot=live findiso=${isofile} live-config lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr timezone=Europe/Paris utc=yes loglevel=0 quiet splash\\ initrd (loop)/live/initrd1.img// |
- | mkdir boot && mkdir boot/grub | + | |
- | cd boot/grub | + | |
- | cp /media/$USER/EFI-USB/boot/grub/grub.cfg . | + | |
- | cp /media/$USER/EFI-USB/boot/grub/font.pf2 . | + | |
- | cp font.pf2 unicode.pf2</code> | + | |
- | * sur **EFI-USB** : comme on n'aura plus accès à la partition lorsqu'elle sera bootable, on remplacera le contenu de /media/$USER/EFI-USB/**grub.cfg** par celui-ci qui **renvoie vers la partition GRUB-SOS** :<file txt grub.cfg>search.fs_label GRUB-SOS root | + | |
- | set prefix=($root)'/boot/grub' | + | |
- | configfile $prefix/grub.cfg</file> | + | |
- | ==== rendre bootable la partition EFI-USB ==== | + | === Pantheon d'Elementary OS === |
- | On relancera **[[:gparted]]** et par **clic-droit sur** la partition **EFI-USB**, on lui attribuera les **drapeaux "esp" et "boot"**. La clé est prête. A vous de modifier le fichier grub.cfg de GRUB-SOS pour lancer ce que vous souhaitez avec. | + | **[[wpfr>Elementary_OS|Article Wikipédia]]** |
- | ===== Pour un démarrage en mode "legacy" (ordinateurs anciens) ===== | + | * Étant basé sur Ubuntu, son lancement est identique. [[http://www.elementaryos-fr.org/telecharger-elementary-os/|Téléchargement]]\\ //linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/elementary.seed noprompt quiet splash\\ initrd (loop)/casper/initrd.lz// |
- | ==== Partitionner la clé avec gparted ==== | + | |
- | * Bien se **positionner** sur le bon disque (ici sdc), | + | |
- | * Si une ou plusieurs **partitions** sont montées, la/les **démonter** par clic droit, | + | |
- | * Créer une **nouvelle table de partitions** "msdos" (remet la clé à zéro) | + | |
- | * Créer **1 partition** de type **"FAT32"** sur la totalité de la clé avec pour étiquette : **GRUB-LEGACY**. | + | |
- | ==== Ce qu'il faut mettre sur cette partition ==== | + | === antiX: IceWm et Fluxbox === |
- | * il faut d'abord être lancé sur un **système non-EFI**.<code>[ -d /sys/firmware/efi ] && echo "- - Session EFI - -" || echo "Session non-EFI"</code> | + | [[https://antixlinux.com/|Antix]] est une distribution pouvant tourner sur de vieux systèmes. Elle utilise notamment des environnements de bureau légers tels que [[:IceWm]] et [[:Fluxbox]].\\ [[https://antixlinux.com/download/|Page de téléchargement]] |
- | * **ouvrir** la clé dans un gestionnaire de fichiers (objectif: que la partition soit montée), | + | |
- | * **copier le dossier boot** du système sur lequel on est car il fonctionne :<code>mkdir /media/$USER/GRUB-LEGACY/boot | + | |
- | cp /boot/grub /media/$USER/GRUB-LEGACY/boot/</code> | + | |
- | ==== Installer le grub dans le MBR pour rendre la clé bootable ==== | + | * //linux (loop)/antiX/vmlinuz fromiso=${isofile} bootdev=sda2 lang=fr tz=Europe/Paris xres=1920x1080 toram hwclock=utc quiet splash\\ initrd (loop)/antiX/initrd.gz// |
- | * **vérifier** le nom de la clé (ici:sdc) :<code>sudo blkid</code> | + | |
- | * la commande qui met **grub dans le MBR** :<code>sudo grub-install --root-directory=/media/$USER/GRUB-LEGACY /dev/sdc</code> | + | |
- | * maintenant, modifiez le fichier /boot/grub/grub.cfg à votre guise. | + | |
- | ===== Personnaliser le menu Grub ===== | + | Remarque : **'bootdev'** et **'xres'** sont à adapter à votre configuration. |
- | <note important>Les dossiers de configuration "locale" ou "themes" seront mis dans le dossier /boot/grub/ accessible directement (GRUB-SOS ou GRUB-LEGACY).</note> | + | |
- | ==== Préalable pour le menu en français ==== | + | ===== Pour aller plus loin ===== |
- | Dans le gestionnaire de fichiers, vous pouvez faire un copier/coller d'un dossier "locale" présent dans un /boot/grub d'un linux installé pour le mettre dans votre /boot/grub. Les paramètres 'locale_dir' et 'lang' permettront de l'activer dans le grub.cfg. | + | |
- | ==== Pour le thème utilisé dans l'exemple ==== | + | ==== GRUB sur une clé USB ==== |
- | Dans le grub.cfg exemple, le thème utilisé provient de [[https://www.gnome-look.org/p/1160963/|cette page]]. | + | Pour lancer ses ISOs, on peut créer une clé USB bootable avec Grub dessus. |
- | ==== Exemple de fichier grub.cfg avec un thème ==== | + | * La procédure décrite ci-dessous permet de démarrer **aussi bien** avec des **BIOS anciens** qu'avec des **BIOS [[:UEFI]]**. |
- | Comme les fichiers grub.cfg en service sont complexes à comprendre, voici un exemple pour un Grub sur clé USB : | + | * La **clé** sera totalement **effacée**. Pensez à sauvegarder son éventuel contenu! |
- | <file txt grub.cfg>insmod part_gpt | + | * Bien **repérer** le **nom de la clé**.<code>sudo blkid</code> |
+ | * exemple réalisé depuis un iso Xubuntu **lancé en 'live-cd'**. | ||
+ | |||
+ | === Remise à zéro de la clé === | ||
+ | **Dans [[:Gparted]]** | ||
+ | | **Se positionner** sur le bon disque (ici sdc),\\ {{:aller_sur_le_bon_device.jpg?direct&200|cliquer sur la liste des périphériques dans gparted}} | Si une ou plusieurs **partitions** sont montées, la/les **démonter** par clic droit,\\ Créer une **nouvelle table de partitions** de type **"msdos"**,\\ {{::creer_une_table_de_partition.jpg?direct&250|dans le menu "Périphérique" de gparted}} | | ||
+ | |||
+ | === Créer 2 partitions === | ||
+ | * créer une partition de **type "FAT32"** de **16Mo**, étiquette **EFI-USB** | ||
+ | * créer une seconde partition de **type "FAT32"** pour le **reste**, étiquette **GRUB-SOS** | ||
+ | * **Appliquer** | ||
+ | * par clic-droit mettre le **drapeau "esp"** sur la partition **EFI-USB** (la rend bootable sur les systèmes UEFI) | ||
+ | |||
+ | === Installer Grub === | ||
+ | * s'assurer que les binaires des 2 types de Grub sont bien installés: <code>sudo apt install grub-pc-bin grub-efi-amd64-bin</code> | ||
+ | * créer les points de montage et monter les 2 partitions (sdc s'appelle peut-être différemment pour vous): <code>sudo mkdir /mnt/efi | ||
+ | sudo mkdir /mnt/usb | ||
+ | sudo mount /dev/sdc1 /mnt/efi | ||
+ | sudo mount /dev/sdc2 /mnt/usb</code> | ||
+ | * lignes de commandes pour installer les 2 types de Grub: <code>sudo grub-install --no-floppy --boot-directory=/mnt/usb --removable --target=i386-pc /dev/sdc | ||
+ | sudo grub-install --no-floppy --boot-directory=/mnt/usb --removable --target=x86_64-efi --efi-directory=/mnt/efi /dev/sdc</code> | ||
+ | |||
+ | Pour faire fonctionner cette clé, il vous faudra **rajouter un fichier** dans /grub: **grub.cfg**. | ||
+ | |||
+ | === exemple de fichier grub.cfg === | ||
+ | Voici un **grub.cfg qui fonctionne**: <file txt grub.cfg>insmod part_gpt | ||
insmod part_msdos | insmod part_msdos | ||
insmod fat | insmod fat | ||
+ | insmod ext2 | ||
#insmod all_video | #insmod all_video | ||
insmod efi_gop | insmod efi_gop | ||
Ligne 85: | Ligne 245: | ||
insmod gfxterm | insmod gfxterm | ||
set gfxmode=1920x1080 | set gfxmode=1920x1080 | ||
- | set locale_dir=/boot/grub/locale | + | set locale_dir=/grub/locale |
set lang=fr_FR | set lang=fr_FR | ||
insmod gettext | insmod gettext | ||
terminal_output gfxterm | terminal_output gfxterm | ||
insmod gfxmenu | insmod gfxmenu | ||
- | loadfont /boot/grub/unicode.pf2 | + | |
- | loadfont /boot/grub/themes/Crunchy-simple/ComicNeue_normal.pf2 | + | insmod gzio |
- | loadfont /boot/grub/themes/Crunchy-simple/ComicNeue_title.pf2 | + | insmod loopback |
- | set theme=/boot/grub/themes/Crunchy-simple/theme-fog.txt | + | insmod iso9660 |
- | export theme | + | insmod png |
insmod jpeg | insmod jpeg | ||
+ | insmod font | ||
+ | |||
+ | loadfont /grub/fonts/unicode.pf2 | ||
+ | loadfont /grub/themes/Crunchy-simple/ComicNeue_normal.pf2 | ||
+ | loadfont /grub/themes/Crunchy-simple/ComicNeue_title.pf2 | ||
+ | theme=/grub/themes/Crunchy-simple/theme-fog.txt | ||
+ | |||
+ | #timeout=4 | ||
+ | default=1 | ||
+ | |||
+ | background_image /grub/themes/Crunchy-simple/fog/foggy-forest.jpg | ||
+ | |||
+ | gfxpayload=keep | ||
- | menuentry ".. Xubuntu Disco 19.04 fr" { | + | menuentry "------------------- MAINTENANCE -------------------" { |
- | iso_path="/xubuntu-19.04-desktop-amd64.iso" | + | true |
- | loopback loop $iso_path | + | } |
- | linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$iso_path boot=casper file=/cdrom/preseed/xubuntu.seed noprompt quiet splash -- | + | menuentry "... Gparted live" { |
- | initrd (loop)/casper/initrd | + | set isofile="/gparted-live-1.0.0-5-amd64.iso" |
+ | search --set=root --file $isofile | ||
+ | loopback loop $isofile | ||
+ | echo 'Lancement en cours, veuillez patienter ...' | ||
+ | linux (loop)/live/vmlinuz findiso=${isofile} boot=live union=overlay username=user config components noswap toram=filesystem.squashfs ip= net.ifnames=0 nosplash locales=fr_FR.UTF-8 keyboard-layouts=fr | ||
+ | initrd (loop)/live/initrd.img | ||
+ | } | ||
+ | menuentry "----------------- Linux à installer -----------------" { | ||
+ | true | ||
+ | } | ||
+ | menuentry ".... Xubuntu 20.04 LTS" { | ||
+ | set isofile="/xub-focal-desktop-amd64.iso" | ||
+ | search --set=root --file $isofile | ||
+ | loopback loop $isofile | ||
+ | echo 'Lancement en cours, veuillez patienter ...' | ||
+ | linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/xubuntu.seed noprompt quiet splash -- | ||
+ | initrd (loop)/casper/initrd | ||
+ | } | ||
+ | menuentry "----------- Accès aux systèmes installés -----------" { | ||
+ | true | ||
+ | } | ||
+ | menuentry ".. Menu sur /dev/sda2 (e pour modifier)" { | ||
+ | set root='hd0,gpt2' | ||
+ | configfile /boot/grub/grub.cfg | ||
+ | } | ||
+ | menuentry " > » ETEINDRE « <" { | ||
+ | halt | ||
}</file> | }</file> | ||
- | ===== Booter sur cette nouvelle clé ===== | + | Comme sur la clé, nous sommes sur une partition FAT32, nous pourrons modifier ce fichier sans avoir besoin d'être 'root'. |
- | Selon le **BIOS** de votre ordinateur, vous avez peut-être une touche (F7, F11,..) pour **choisir le média de démarrage** ? | + | |
- | Sinon, il faut aller **dans le BIOS** (accès souvent avec touche Echap ou F2 selon les ordinateurs) pour changer l'**ordre de démarrage** des disques. | + | Le thème utilisé provient de [[https://www.gnome-look.org/p/1160963/|cette page]]. |
- | Sur certains BIOS, dans le dernier onglet, on a la liste des supports et on peut aller dessus et valider avec la touche entrée. | + | ==== Une configuration sans être root ==== |
+ | === le dossier /isos === | ||
+ | Si ce dossier est à la racine, peut-être avez-vous des problèmes de droit avec. Il vous suffit de changer l'appartenance du dossier avec la commande: <code>sudo chown -R $USER:$USER /isos</code> | ||
+ | === Fichier de configuration non root === | ||
+ | [[#Principe général|Plus haut]], nous avons dit qu'il fallait ajouter les menus dans le fichier "/etc/grub.d/40_custom". Cela oblige à faire un //update-grub// après chaque modification. | ||
+ | |||
+ | La solution: | ||
+ | * utiliser, par exemple, le fichier grub.cfg cité plus haut, | ||
+ | * le placer dans le dossier /isos | ||
+ | * le renommer, par exemple, grubiso.cfg | ||
+ | * ajouter cette entrée de menu à "/etc/grub.d/40_custom":<file txt 40_custom>menuentry "===>> lancer mes isos" { | ||
+ | search --set=root --file /isos/grubiso.cfg | ||
+ | configfile /isos/grubiso.cfg | ||
+ | }</file> | ||
+ | * lancer un //sudo update-grub// | ||
+ | | ||
+ | Maintenant, chaque modification de grubiso.cfg est prise en compte sans nouvel //update-grub//! | ||
+ | |||
+ | ===== Problèmes connus ===== | ||
+ | Selon ce [[https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1851311|bug]], pour les versions 19.10 et suivantes avec un grub en version 2.04 installé en mode EFI, cette fonctionnalité ne fonctionne plus. | ||
+ | |||
+ | Sans essayer de réinstaller grub en version 2.02, on peut lui demander de lancer cette version au démarrage ainsi: | ||
+ | - télécharger le paquet //grub-efi-amd64-bin// en version 2.02 -> https://packages.ubuntu.com/disco-updates/amd64/grub-efi-amd64-bin/download | ||
+ | - ouvrir avec le [[:archivage|gestionnaire d'archives]] le paquet deb | ||
+ | - en extraire le fichier //grubx64.efi// (dans /usr/lib/grub/x86_64-efi/monolithic/) | ||
+ | - dans un terminal avec la commande //[[:efibootmgr]]// vérifier le système sur lequel l'ordi boote (xubuntu par exemple) | ||
+ | - copier //grubx64.efi// dans le bon dossier sur ///boot/efi//. <code>sudo cp grubx64.efi /boot/efi/EFI/xubuntu/.</code> | ||
+ | | ||
+ | Note: Il faudra peut-être renouveller cette opération si grub s'est mis à jour vers une version 2.04 ou supérieure sans résoudre le problème. | ||
+ | |||
+ | ---- | ||
+ | //Contributeurs principaux : [[:utilisateurs:Frombenny]] ...// | ||