L'ultime clé USB multiboot

Une clé pour les gouverner toutes! J'exagère un peu là.. Mais bon.. Il y a de cela un an j'avais fait deux tutoriels sur comment créer une clé multiboot sous Ubuntu sans l'aide d'application (style UNetbootin, YUMI ou autres) avec soit syslinux soit grub2 comme bootloader. Dans ce nouveau tutoriel - et comme j'ai acquis une nouvelle clé usb de 32Gb - je vais vous montrer comment j'ai créé une clé multiboot avec une partition fat32 que je réserve pour mes docs et mon usage normal et une partition fat32 cachée avec dessus le programme d'installation de Windows 7 pro 64bit et les ISO de Xubuntu 14.04 64bit et de Kali 1.1.0a 64bit.

Ce tutoriel a été conçu pour Ubuntu 14.04.

Une dépendance nécessaire pour pouvoir monter l'ISO de Windows 7 cependant:

sudo apt install udftools

J'étais parmi les chanceux à avoir téléchargé une copie originale de Windows 7 pro 64bit (l'iso X15-65811.iso) depuis les serveurs de Digital River avant que Microsoft ne décide de mettre fin à ce SAV. Si vous avez une copie originale du DVD, faîtes-vous une ISO ou bien visitez la page dédiée à cet effet sur le site de Microsoft. Moi j'ai une clé originale.

Un petit:

sudo su

et c'est parti!

Nous allons commencer côté partitionnement de la clé usb.

J'utilise une table de partitionnement type MBR vous l'aurez compris.

Je repère déjà ma clé:

fdisk -l

Pour ma part elle est sur /dev/sdb et contient pour le moment une seule partition /dev/sdb1 type W95 FAT32 (LBA) (code hexadécimal c selon fdisk)

Aucune garantie n'est livrée avec ce tutoriel et les étapes suivantes risquent de bousiller votre disque alors si vous continuez c'est à vos risques et périls. Ce tutoriel suppose aussi que vous avez dépassé le cap novice voire atteint un certain niveau de connaissance du moins en bash et du côté de l'outil fdisk..

Commençons le partitionnement de la clé donc: (pour ma part sur /dev/sdb)

fdisk /dev/sdb

Je vais supprimer la seule partition qui existe et en créer deux principales: la première avec un type W95 FAT32 (LBA) (en hexadécimal c'est c; par ici la différence entre W95 FAT32 (LBA) et W95 FAT32 (hexadécimal b)) et la deuxième avec un type W95 FAT32 masquée (en hexadécimal c'est 1c); et c'est justement sur cette dernière à laquelle j'ai réservé une taille voisine de 8Gb que je vais mettre le programme d'installation de Windows 7 pro 64bit et les ISO de Xubuntu 14.04 64bit et de Kali 1.1.0a 64bit.

Je suppose que vous vous êtes débrouillés pour le partitionnement.. Les options que vous aurez à utiliser seraient d, n, t, l (pour avoir une liste des types de partitions connus) et w; si vous avez besoin d'aide faîtes m.

Démontez les partitions si elles ont été montées automatiquement:

umount /dev/sdb{1,2}

Formatons la 1ère partition en Fat32:

mkfs.vfat -F 32 -n DISCUS /dev/sdb1

Formatons la 2ème partition en Fat32 aussi:

mkfs.vfat -F 32 -n SYSTEM /dev/sdb2

Mettons la partition 2 de notre clé comme bootable:

parted /dev/sdb set 2 boot on

Maintenant créons deux points de montage: l'un pour notre partition cachée et l'autre pour l'ISO de Windows:

mkdir /media/{system,windows}

Començons par monter notre partition cachée:

mount /dev/sdb2 /media/system

Installons grub2 sur notre périphérique:

grub-install --force --no-floppy --root-directory=/media/system /dev/sdb

Maintenant montons l'ISO de windows 7 pro 64bit:

mount -o loop -t udf windows.iso /media/windows

Maintenant copions le contenu de notre iso de windows (montée sur /media/windows) sur notre deuxième partition (montée sur /media/system) et pourquoi pas en même temps les iso de Xubuntu et de Kali tant qu'on y est:

cp -r {/media/windows/*,xubuntu.iso,kali.iso} /media/system/

Cela risque de prendre un peu de temps.

Tout ce qui reste à faire c'est de configurer grub.

Créons le fichier grub.cfg:

nano /media/system/boot/grub/grub.cfg

Avec comme contenu nos entrées de menu:

set isopath=/
menuentry "Xubuntu en live" {
 set isoname="xubuntu.iso"
 set isofile="$isopath/$isoname"
 echo "Using $isoname..."
 loopback loop $isofile
 linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile quiet splash
 initrd (loop)/casper/initrd.lz
}
menuentry "Kali en live" {
 set isoname="kali.iso"
 set isofile="$isopath/$isoname"
 echo "Using $isoname..."
 loopback loop $isofile
 linux (loop)/live/vmlinuz findiso=$isofile boot=live noconfig=sudo username=root hostname=kali quiet splash locale=fr_FR.UTF-8
 initrd (loop)/live/initrd.img
}
menuentry "Installation de Windows" {
 ntldr /bootmgr
}

Sauvegardez le fichier et voilà nous en avons fini.

Démontez les points de montage qu'on a créés et supprimez-les:

umount /media/{system,windows}
rmdir /media/{system,windows}

Et quittez:

exit

Et voilà notre clé est fin prête à être utilisée..

Une petite vidéo de démonstration avec un test sous VirtualBox en exclusivité pour vous!

Voilà voilà! C'était pas trop difficile n'est-ce pas?

Des questions? Des remarques? N'hésitez pas!


Lire aussi: