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: , , ,

8 Comments

  1. hardblues@free.Fr

    Excellent, rapide et efficace.
    Merci pour l’info.

    Répondre

  2. Jean Maisonneuve

    Voila ce que j’obtiens par la commande dans la console, il a fallu que j’ajoute –fat32, maintenant il semble que ce soit la destination qui pose problème.
    jejm@jejm-desktop:~/telecharg/grub4dos-0.4.5c$ sudo ./bootlace.com –fat32 –time-out=0 /dev/sdb1

    Error: Invalid partition table. Must specify –floppy explicitly for floppy.

    BOOTLACE writes GRLDR BOOT RECORD to MBR or to the boot area of a file system.
    Usage: bootlace.com [OPTIONS] DEVICE_OR_FILE
    Options: –read-only, –floppy[=N], –boot-prevmbr-first, –boot-prevmbr-last,
    –no-backup-mbr, –force-backup-mbr, –mbr-enable-floppy, –mbr-disable-floppy,
    –mbr-enable-osbr, –mbr-disable-osbr, –duce, –time-out=T, –hot-key=K,
    –preferred-drive=D, –preferred-partition=P, –sectors-per-track=S, –heads=H,
    –start-sector=B, –total-sectors=C, –install-partition=I, –lba, –chs,
    –fat12, –fat16, –fat32, –vfat, –ntfs, –ext2, –serial-number=SN,
    –restore-mbr, –mbr-no-bpb, –chs-no-tune
    DEVICE_OR_FILE: Filename of the device or image. For DOS, a BIOS drive number
    (in hex 0xHH or decimal DDD format)can be used to access the drive.

    Répondre

  3. ClaudeLaurent06

    Bonjour.
    La création d’une clé usb multiboot m’intéresse fortement, mais j’échoue actuellement,et ce malgré 2 tentatives.
    je pense que le problème vient au moment du formatage de la clé. Je m’explique:
    Je suis sous Linux, Xubuntu 14.04 LTS en l’occurence.
    1) Formatage de la clé 16Go en FAT32 avec Gparted (et je pense que c’est là que le bât blesse, sans pouvoir mettre une option de création de secteur de boot)
    2) copie des fichiersextraits de Easy2boot, à savoir le dossier “_ISO” plus les 7 fichiers adjacents, de “autorun.inf” à “unatted.xml” sur le clé USB
    3) Lancement de la commande avec un Terminal : “sudo ./bootlace.com –time-out=0 /dev/sdX” avec le bon “X”, à savoir “sdb, sdb1, ou sdc”, suivant la situation lors de l’essai.
    Le mot de passe est demandé et accepté.
    Nota: Aucune réponse d’action réalisée n’est alors indiquée.
    4) Copie de 2 fichiers ISO dans le dossier “MAINMENU”
    5) je démarre le PC sur la clé ainsi construite, et aucune proposition de booter sur un ISO n’est proposée; je me retrouve avec mon choix de boot habituel de mon PC (4 distributions Linux; ou je sais , c’est beaucoup, mais ça me sert à comparer les performances et particularités et/ou avantages de chacune)

    Ma question est donc: où est mon erreur ?
    Je précise que je n’ai plus Windows, Windows XP étant mort pour moi, Linux l’a remplacé, :-) , et donc je ne peux utiliser RMPrepUSB où l’option de formater la clé avec l’option ‘Boot as HDD”, visible sur les images et vidéos diverses aperçues ici ou là. A la rigueur, je peux utiliser un Windows Vista si vraiment il n’y a pas d’autre possibilité.
    Ma clé fonctionne très bien si je crée une clé bootable pour avoir Gparted ou Lubuntu 14.04 en mode “LiveCD”.

    Quelqu’un aurait-il une idée?

    Répondre

    • Bonjour,
      As-tu bien créé une partition sur la clé ?
      sinon j’ai l’impression que tu dois vérifier ta configuration de BIOS, pour pouvoir booter sur clé USB.
      Parviens-tu a booter avec une clé USB ubuntu standard par exemple ?
      Marc

      Répondre

  4. Easy2Boot requires
    1. grub4dos installed to MBR
    2. Extract Easy2Boot zip file to root of USB drive

    That is all.

    Some BIOSes may require partition on USB drive to be marked as Active
    Some BIOSes may need grub installing to PBR
    Some BIOSes may boot better with 2nd partition present on USB drive (of any type or size) added

    Répondre

  5. Bonjour,

    J’usais de Multisystem, qui a beaucoup de limitations, et surtout la clé devenait non bootable sans raison évidente.. D’où mon intérêt pour ce post!
    j’ai suivi le tuto à la lettre, mais au boot, il ne trouvait pas d’iso, grosse déception!
    En fait, les ISO Linux ne doivent pas être collées dans /MAINMENU mais dans /_ISO/LINUX
    C’est en lisant le RTFM que j’ai vu, mais j’aurais pu m’en douter avec les noms de l’arborescence!

    Il ne reste plus qu’à faire des tests sur plusieurs PC, de préférence des Ordinausores (quoique le mode UEFI a ses interêts), vivement la prochaine RAL!

    Merci!

    Répondre

  6. Bonjour,
    j’ai eu également ce meme probleme en lancant la commande “sudo ./bootlace64.com –time-out=0 /dev/sdb” sur une clef USB(32GB) dont j’ai achté meme apres l’avoir formatté avec gparted en Fat32.

    J’ai résolu le probleme en suivant ces étapes en utilisant un systeme linux(Ubuntu):
    1- Ouvrir votre terminal
    2 – lancer : sudo gparted /dev/sdX(Il faut remplacer X par celui de votre fichier device associé a ta clef, par exemple /dev/sdb ou /dev/sdc )
    3- Supprimer toutes les partitions de votre clef USB et Valider l’operation en cliquant sur “Apply”
    4- Ensuite Créer une nouvelle partition sur ta clef USB et Valider l’operation en cliquant sur “Apply”
    5- Fermer l’application gparted

    Maintenant, lancer la commande bootlace.com sur le fichier device de votre clef. Cela devrait marcher. Car votre clef est formatée depuis chez le fabricant avec leur propre outil. Il faut tout refaire vous meme avec gparted pour etre sur de la bonne coherence du systeme de fichier à la gparted.

    Répondre

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>