Créer une clef USB multiboot avec Ventoy
Sommaire
L'objectif est de créer une clef USB multiboot, via un système Linux sans interface graphique (CLI), capable de démarrer la plupart des images ISO (Debian, Ubuntu, Windows etc.), y compris les fichiers de taille supérieure à 4Go, de démarrer sur des machines disposant du "Secure Boot" et d'installer les systèmes de manière silencieuse (unattended).
Pour cela, nous allons utiliser l'application "open source" Ventoy". Cet outil est sous licence GPLv3+.
1. Prérequis
- Une clef USB (64Go et USB3 minimum recommandés)
- Un système Linux sur lequel sera téléchargée et exécutée l'application Ventoy (nous utiliserons Debian 12 dans notre exemple)
- Sur notre Debian 12, nous partirons du principe que les paquetages suivants sont installés (parted, dosfstools, sudo et wget)
1apt-get install parted wget dosfstools sudo
2. Télécharger Ventoy sur votre système
Récupérer la dernière version de Ventoy : https://github.com/ventoy/Ventoy/releases/latest
Dans notre exemple nous allons télécharger la version 1.0.97 :
1cd ~/
2wget https://github.com/ventoy/Ventoy/releases/download/v1.0.97/ventoy-1.0.97-linux.tar.gz
Nous vérifions la somme de contrôle SHA256 avant de le décompresser :
1sha256sum ventoy-1.0.97-linux.tar.gz
Décompresser l'archive du paquetage Ventoy :
1tar xvzf ventoy-1.0.97-linux.tar.gz
3. Créer la clef USB multiboot
Lors de cette étape, nous allons installer Ventoy sur la clef USB, avec une table de partition GPT et l'option "Secure Boot" activée.
Dans un premier temps, brancher la clef USB sur votre système et récupérer le chemin de montage :
1lsblk -a --nodeps -o PATH,NAME,LABEL,VENDOR,MODEL,SIZE
Si vous n'avez qu'une clef USB branchée sur votre système, vous pouvez retrouver le chemin de montage via cette commande :
1lsblk --nodeps -ao TRAN,PATH |grep usb |awk '{print $2}'
Ensuite se diriger dans le répertoire de l'archive décompressée de Ventoy :
1cd ventoy-1.0.97/
Exécuter la commande privilégiée suivante pour installer Ventoy avec une table de partition GPT et l'option "Secure Boot" activée, sur votre clef USB (remplacer /dev/sdX par le chemin de votre clef USB) :
1sudo ./Ventoy2Disk.sh -s -g -I /dev/sdX
En cas d'incident, vérifier que la clef USB n'est pas déjà montée sur votre système.
Répondre au question en appuyant deux fois sur la touche "y" puis sur la touche "entrée" :
1**********************************************
2 Ventoy: 1.0.97 x86_64
3 longpanda admin@ventoy.net
4 https://www.ventoy.net
5**********************************************
6
7Disk : /dev/sda
8Model: Kingston DataTraveler 3.0 (scsi)
9Size : 57 GB
10Style: GPT
11
12
13Attention:
14You will install Ventoy to /dev/sda.
15All the data on the disk /dev/sda will be lost!!!
16
17Continue? (y/n) y
18
19All the data on the disk /dev/sda will be lost!!!
20Double-check. Continue? (y/n) y
21
22Create partitions on /dev/sda by parted in GPT style ...
23Done
24Wait for partitions ...
25partition exist OK
26create efi fat fs /dev/sda2 ...
27mkfs.fat 4.2 (2021-01-31)
28success
29Wait for partitions ...
30Wait for /dev/sda1//dev/sda2 ...
31/dev/sda1 exist OK
32/dev/sda2 exist OK
33partition exist OK
34Format partition 1 /dev/sda1 ...
35mkexfatfs 1.3.0
36Creating... done.
37Flushing... done.
38File system created successfully.
39mkexfatfs success
40writing data to disk ...
41sync data ...
42esp partition processing ...
43
44Install Ventoy to /dev/sda successfully finished.
Vérifier que les deux partitions dédiées pour Ventoy sont présentes sur votre clef USB (remplacer /dev/sdX par le chemin de votre clef USB) :
1lsblk -o PATH,NAME,LABEL,VENDOR,MODEL,SIZE,FSTYPE /dev/sdX
Le retour de la commande doit afficher les deux partitions sur votre clef USB, avec notamment la partition nommée "Ventoy" avec un système de fichier de type "exfat" :
1PATH NAME LABEL VENDOR MODEL SIZE FSTYPE
2/dev/sda sda Kingston DataTraveler_3.0 57,8G
3/dev/sda1 ├─sda1 Ventoy 57,7G exfat
4/dev/sda2 └─sda2 VTOYEFI 32M vfat
4. Déposer les images ISO sur la clef USB
Monter la première partition de votre clef USB Ventoy (remplacer /dev/sdX par le chemin de votre clef USB) :
1sudo mount /dev/sdX1 /mnt
Se diriger dans le répertoire du point de montage :
1cd `mount -l -t exfat |awk '{print $3}'`
Créer un répertoire dédié pour les images ISO :
1mkdir ISO
On télécharger l'image ISO de Debian 12 dans le répertoire "ISO" :
1cd ISO
2wget https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-12.5.0-amd64-DVD-1.iso
Voici la liste des images que j'ai testé et qui sont fonctionnelles :
5. Configurer Ventoy
Créer un répertoire dédié pour la configuration de Ventoy et de ses plugins :
1cd `mount -l -t exfat |awk '{print $3}'`
2mkdir ventoy
Créer le fichier de configuration "ventoy.json" dans le répertoire "ventoy":
1cd ventoy
2touch ventoy.json
Editer le fichier "ventoy.json" afin de définir les paramètres globaux de contrôle de Ventoy. Les paramètres sont documentés ici : ventoy_plugin_control.
Dans notre exemple, nous allons configurer le menu et le clavier en Français, et définir l'image par défaut sur Debian 12 :
1{
2 "control": [
3 { "VTOY_MENU_LANGUAGE": "fr_FR" },
4 { "VTOY_DEFAULT_SEARCH_ROOT": "/ISO" },
5 { "VTOY_MENU_TIMEOUT": "30" },
6 { "VTOY_DEFAULT_IMAGE": "/ISO/debian-12.5.0-amd64-DVD-1.iso" },
7 { "VTOY_DEFAULT_KBD_LAYOUT": "FRENCH" },
8 { "VTOY_WIN11_BYPASS_CHECK": "0" },
9 { "VTOY_WIN11_BYPASS_NRO": "1" },
10 { "VTOY_SECONDARY_TIMEOUT": "30" }
11 ]
12}
6. Éjecter la clef USB
Démonter la partition avant d'éjecter la clef de votre système :
1cd
2umount `mount -l -t exfat |grep Ventoy |awk '{print $3}'`
Votre clef USB multiboot est prête à être utilisée.
7. Démarrer sur un système disposant du UEFI Secure Boot
Le guide Ventoy pour démarrer sur un système disposant du mode UEFI Secure Boot se trouve ici : https://www.ventoy.net/en/doc_secure.html :
- Toutes les étapes doivent être réalisées une seule fois sur chaque ordinateur qui démarre Ventoy pour la première fois
- Il y a deux méthodes d'inscription : "Enroll Key" and "Enroll Hash", utilisez l'une ou l'autre
8. Mettre à jour Ventoy sur la clef USB
Se diriger dans le répertoire de l'archive décompressée de Ventoy :
1cd ~/ventoy-1.0.97/
Exécuter la commande privilégiée suivante pour mettre à jour Ventoy sur votre clef USB (remplacer /dev/sdX par le chemin de votre clef USB) :
1sudo ./Ventoy2Disk.sh -u /dev/sdX
Répondre à la question en appuyant sur la touche "y" puis sur la touche "entrée" :
1**********************************************
2 Ventoy: 1.0.97 x86_64
3 longpanda admin@ventoy.net
4 https://www.ventoy.net
5**********************************************
6
7Upgrade operation is safe, all the data in the 1st partition (iso files and other) will be unchanged!
8
9Update Ventoy 1.0.97 ===> 1.0.98 Continue? (y/n) y
10esp partition processing ...
11
12Update Ventoy on /dev/sda successfully finished.