2013-03-16 17:41

J’ai passé des jours à chercher une bonne solution pour faire du live USB Multiboot, un moyen d’inclure mes fichiers ISO téléchargés dans une seule clé USB. Je cherchais un système où il suffit de poser les ISOs dans un dossier sur la clé, qui afficherais un menu avec la liste des fichiers ISO à démarrer. C’est exactement ce que fait Easy2Boot !

Démarrer un fichier ISO est compliqué, car beaucoup de systèmes d’exploitation “live” fonctionnent uniquement à la racine d’une partition DOS. Après quelques recherches, j’ai trouvé quelques pages indiquant que le “chainload” générique de fichiers ISO est très difficile (p1 p2).

J’ai trouvé des solutions comme YUMI (Your Universal Multiboot Installer (windows) ou MultiSystem. Actuellement, le problème avec ces programmes est qu’ilS utilisent des “astuces” spécifiques à chaque distribution pour construire un menu qui chargera directement le noyau Linux. Ce n’est pas aussi simple que de poser vos ISOs dans un dossier: il faut utiliser le logiciel pour contruire la clé usb multiboot. Un autre inconvénient : vous perdez les menus de boot SYSLINUX des distributions, car le noyau Linux est chargé directement.

Vous trouverez aussi des disques durs usb qui émulent un lecteur cdrom. C’est probablement la méthode la plus fiable, mais c’est plus cher, et plus gros qu’une petite clé USB.

Easy2Boot, à l’aide de scripts grub4dos, utilise une belle astuce (décrite ici) : quand le fichier iso est choisi dans le menu de démarrage, une partition DOS (numéro 4) est créée sur la position du fichier .iso résidant sur le système de fichiers FAT. Cette méthode est plus “ISO générique” et permet de démarrer de nombreux fichiers ISOs (99% des Linux live). Quelques inconvénients : la partition créée chevauche la première (ce n’est pas un problème sous Linux), et il faut vous assurer que le système de fichiers FAT ne va pas fragmenter vos fichiers ISO quand vous les copiez sur la clé.

Sous Windows, vous pouvez utiliser le logiciel RMPrepUSB (freeware/non libre) pour préparer votre clé USB.

Sous Linux/Ubuntu, c’est également simple:

  1. Formattez votre clé USB avec une seule partition FAT (je recommande gparted).
  2. Téléchargez Easy2Boot (la v1 Beta06 fonctionne bien) et placez tous les fichiers à la racine de la partition.
  3. Téléchargez grub4dos (prenez la dernière version “Featured”) et extraire l’archive sur votre PC (pas sur la clé usb).
  4. Dans le dossier grub4dos, lancez sudo ./bootlace.com --time-out=0 /dev/sdX pour installer le MBR grub4dos (ne vous trompez pas de périphérique !).
  5. Posez quelques ISOs directement dans le dossier /MAINMENU
  6. Et voila. Redémarrez et testez!

Merci à RMPrepUSB et aux personnes du forum reboot.pro !

Astuces:

  • Si vous avez des problèmes de fragmentation FAT (“File for drive emulation must be in one contiguous disk area”), vous pouvez défragmenter en copiant tous les fichiers localement, formatez, puis recopiez les fichiers sur la clé. J’ai posé une question sur StackExchange pour savoir s’il existe une meilleure méthode.
  • Utilisez VirtualBox ou KVM/Qemu pour tester votre clé usb live sans redémarrer (VirtualBox semble plus rapide pour ça).

Liens :

2013-03-16 17:41 · Tags: , , ,