Table des matières

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

Pré-requis : partitionner la clé

Passez en mode root :

$ sudo su
[sudo] Mot de passe de xxxxxxx : 
#

Listez les partitions pour trouver la clé :

# 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)
# 

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

Lancez le partitionnement de cette clé :

# 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) :

Successivement :

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.

Démontez deux partitions, formatez les et rendez la clé bootable :

# 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.

Première étape

# 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.

Autres étapes

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

# 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

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
}
# umount /media/{system,windows}
# rmdir /media/{system,windows}
# exit
$ 

Tests : voir vlcsnap 46 et suivants

Conclusion

Problèmes connus

Voir aussi


Basé sur « Article » par Auteur.