search?q=tutoriel&btnI=lucky

Clé usb multiboot avec grub2 avec dessus Win7 installer, Xubuntu et Kali

- Pré-requis : partitionner la clé

Passez en mode root : <cli> $ sudo su [sudo] Mot de passe de xxxxxxx : <cli prompt='# '> # </cli> </cli>

Listez les partitions pour trouver la clé : <cli prompt='# '> # fdisk -l (…) Disque /dev/sdf : 14,9 GiB, 16007561216 octets, 31264768 secteurs Unités : sectors of 1 * 512 = 512 octets Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0009d10a

Périphérique Amorçage Start Fin Secteurs Size Id Type /dev/sdf1 * 32 31264767 31264736 14,9G c W95 FAT32 (LBA) # </cli>

La clé est donc montée en /dev/sdf.

Lancez le partitionnement de cette clé : <cli prompt='# '> # fdisk /dev/sdf Welcome to fdisk (util-linux 2.27.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command.

Commande (m pour l'aide) : </cli>

Successivement :

  • p : listez les partitions
  • d : supprimez-les toutes (répétez la commande d)
  • n : créez une première partition de 22 GiB avec les valeurs par défaut
  • n : créez une deuxième partition avec les valeurs par défaut (→ le reste de la clé)
  • t : définissez le type de la première partition (type c)
  • t : définissez le type de la deuxième partition (type 1c)
  • w : terminez en écrivant le partitionnement

<cli prompt=“Commande (m pour l'aide) : ”> Commande (m pour l'aide) : p Disque /dev/sdf : 14,9 GiB, 16007561216 octets, 31264768 secteurs Unités : sectors of 1 * 512 = 512 octets Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0009d10a

Périphérique Amorçage Start Fin Secteurs Size Id Type /dev/sdf1 * 32 31264767 31264736 14,9G c W95 FAT32 (LBA)

Commande (m pour l'aide) : d Selected partition 1 La partition 1 a été supprimée

Commande (m pour l'aide) : n Partition type

 p   primary (0 primary, 0 extended, 4 free)
 e   extended (container for logical partitions)

Select (default p):

utilisation de la réponse par défaut p. Numéro de partition (1-4, 1 par défaut) : Premier secteur (2048-31264767, 2048 par défaut) : Last sector, +sectors or +size{K,M,G,T,P} (2048-31264767, 31264767 par défaut) : +22G

Created a new partition 1 of type 'Linux' and of size 22 GiB.

Commande (m pour l'aide) : n Partition type

 p   primary (1 primary, 0 extended, 3 free)
 e   extended (container for logical partitions)

Select (default p):

utilisation de la réponse par défaut p. Numéro de partition (2-4, 2 par défaut) : Premier secteur (20973568-31264767, 20973568 par défaut) : Last sector, +sectors or +size{K,M,G,T,P} (20973568-31264767, 31264767 par défaut) :

Created a new partition 2 of type 'Linux' and of size 4,9 GiB.

Commande (m pour l'aide) : t Numéro de partition (1,2, 2 par défaut) : 1 Partition type (type L to list all types): c

Changed type of partition 'Linux' to 'W95 FAT32 (LBA)'.

Commande (m pour l'aide) : t Numéro de partition (1,2, 2 par défaut) : Partition type (type L to list all types): 1c

Changed type of partition 'Linux' to 'Hidden W95 FAT32 (LBA)'.

Commande (m pour l'aide) : w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.

</cli>

Démontez deux partitions, formatez les et rendez la clé bootable : <cli prompt='# '> # umount /dev/sdf{1,2} umount: /dev/sdf1: not mounted umount: /dev/sdf2: not mounted # mkfs.vfat -F 32 -n DISCUS /dev/sdf1 mkfs.fat 3.0.28 (2015-05-16) # mkfs.vfat -F 32 -n SYSTEM /dev/sdf2 mkfs.fat 3.0.28 (2015-05-16) # parted /dev/sdf set 2 boot on Information: Ne pas oublier de mettre à jour /etc/fstab si nécessaire.

</cli>

- Première étape

  • Créez les répertoires /media/system et /media/windows
  • montez la 2e partition sur /media/system
  • Installez grub sur la clé avec pour racine /media/system (la 2e partition)

<cli prompt='# '> # mkdir /media/{system,windows} # mount /dev/sdf2 /media/system # grub-install –force –no-floppy –root-directory=/media/system /dev/sdf Installation pour la plate-forme i386-pc. Installation terminée, sans erreur. </cli>

- Autres étapes

- Copie du contenu de l'iso Windows sur **/media/system**

  • Montez l'iso windows en loop :
  • Copiez sur /media/system les fichiers iso et le contenu de l'iso :

<cli prompt='# '> # mount -o loop -t udf /isos/Windows10-32-64.iso /media/windows/ mount: /dev/loop0 is write-protected, mounting read-only # cp -r {/media/windows/*,ubuntu32.iso,ubuntu64.iso} /media/system </cli>

- Le fichier /media/system/boot/grub/grub.cfg

Éditer le fichier /media/system/boot/grub/grub.cfg pour le modifier comme ceci :

/media/system/boot/grub/grub.cfg
set isopath=/
menuentry "Ubuntu 32 en live" {
  set isoname="ubuntu32.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 "Ubuntu 64 en live" {
  set isoname="ubuntu64.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)/live/initrd.img
}
menuentry "Installation de windows" {
  ntldr /bootmgr
}
  • Démontez les partitions
  • supprimez les répertoires
  • et revenez en mode user :

<cli prompt='# '> # umount /media/{system,windows} # rmdir /media/{system,windows} # exit $ </cli>

Tests : voir vlcsnap 46 et suivants

- Conclusion

- Problèmes connus

- Voir aussi