Ceci est une ancienne révision du document !
Extlinux : Live-Usb sur une partition Ext2/Ext3/Ext4
Extlinux transforme la clef Usb Ext2, Ext3, Ext4 en Usb-Live
Extlinux est un paquet développé par H. Peter Anvin EXTLINUX
Il fait parti du projet Syslinux.
Unetbootin permet d'automatiser ses tâches mais pas toujours de façon satisfaisante.
En mars 2013 il n'est plus capable de rendre unepartition ext3 bootable ce qu'il parvenait à faire auparavant
Elle est déconseillée sur un Disque dur interne : elle peut en corrompre le démarrage .
Installer extlinux
Préparation du DD Externe ou d'une Clef USB
Il est recommandé de partitionner son disque si ce n'est pas déjà fait.
Méthode graphique: gparted
Méthode en ligne de commande:FDISK http://tldp.org/HOWTO/Partition/fdisk_partitioning.html
Tuto Ubuntu Installation d'Ubuntu : partitionnement manuel
Mettre le LiveCd sur USB Cible EXT
Références de distributions GNU/Linux bootables (page grub2 iso)
Monter l'ISO obtenue dans le répertoire /tmp/cdrom :
user@grUser-P5Q-E:~$ mkdir -p /tmp/cdrom user@grUser-P5Q-E:~$ mount -o loop,exec /path/to/systemrescuecd-x86-x.y.z.iso /tmp/cdrom
Monter la partition dans un répertoire :
user@grUser-P5Q-E:~$ mkdir /tmp/disk user@grUser-P5Q-E:~$ sudo mount /dev/sde1/ /tmp/disk
Copier le contenu du LiveCd dans la partition cible :
user@grUser-P5Q-E:~$ sudo cp -Rf /tmp/cdrom /tmp/disk
Installation du chargeur de démarrage
Rendre la partition Disque bootable
copier MBR extlinux sur celui de la partition Ext
user@grUser-P5Q-E:~$ sudo dd if=/usr/lib/extlinux/mbr.bin of=/dev/sde1
Installer extlinux sur le disque cible
Installer EXTLINUX dans le répertoire ou sera configurer le menu de boot
user@grUser-P5Q-E:~$ sudo extlinux -i /tmp/disk/isolinux user@grUser-P5Q-E:~$ sudo cp /usr/lib/syslinux/chain.c32 /tmp/disk/isolinux
Si le répertoire /tmp/disk/isolinux contient le fichier ldlinux.sys : tout c'est bien passé !!!
Mettre un drapeau "boot" d'amorce sur la partition Cible
Vérification des drapeaux :
sudo fdisk -l /dev/sdx
Dans la réponse, se sont les lignes suivantes qui nous intéressent :
Périphérique Amorce Début Fin Blocs Id Système /dev/sdx1 2048 18202623 9100288 83 Linux /dev/sdx2 18202624 71102463 26449920 83 Linux /dev/sdx3 71103751 625141759 277019004+ 5 Étendue /dev/sdx5 71103753 619000514 273948381 b W95 FAT32
Si aucune * astérisque n’apparaît alors aucune des partitions ne contient de drapeau de boot .
Cas où ma partition n'est pas bootable
Pour remédier à ceci est est nécessaire d'utiliser Gparted.
Si Gparted n'est pas encore installé, suivre le lien suivant pour l'installer depuis la logithèque Ubuntu gparted.
Lancer Gparted Sélectionner le disque. Dans le menu se rendre à Partitions > Gérer les drapeaux.
Cocher la case en face de boot, comme l'image suivante nous le montre, puis refermer
Cas où ma partition est bootable
Passer à l'étape suivante
Mise en place du chargeur d'amorçage
Copie du mbr.bin extlinux sur le bloc d'amorçage du disque ou de la clef Usb.
Dans le terminal on passe la commande suivante Attention des précautions sont à prendre avec **dd** voir avertissement du début de page:
**dev/sdx** est bien-entendu à remplacer par la valeur /dev/sd de votre disque cible :
u@ubuntu:~$ sudo dd if=/usr/lib/extlinux/mbr.bin of=/dev/sdx
On obtient une réponse qui ressemble à ceci dans ça marche :
0+1 enregistrements lus 0+1 enregistrements écrits 440 octets (440 B) copiés, 0,00444555 s, 99,0 kB/s u@ubuntu:~$
Ne vous inquiétez pas - cela n'écrasera pas votre disque entier, seule la partie du bloc d'amorçage.
À ce stade, vous devriez être prêt à démarrer à l'aide extlinux. Mais vous ne verrez pas de menu de démarrage pour le moment.
Mise en place des menus du LIve-USB
Conditions démarrage d'extlinux :
- Le menu de démarrage doit s'appeler extlinux.conf
- Le menu de démarrage doit être placé dans le répertoire de démarrage - dans notre exemple, c'est : isolinux. Cf. début de la page
- Le répertoire de démarrage doit comporter un fichier vesamenu.c32
Si c'est conditions ne sont pas respectée votre LIve-Usb ne démarrera pas !
Copier vesamenu.c32 dans le répertoire du menu démarrage de la clef USB
sudo cp /usr/lib/syslinux/vesamenu.c32 /media/usbdisk/isolinux
Creation de menu extlinux.conf
Exemple de menu extlinux.conf :
(Menu personnalisé d'un Live-Usb obtenu à partir d'une ISO Remastersys clone de mon système ubuntu 12.04 LTS precise)
default vesamenu.c32 prompt 0 timeout 100 menu title 2012maiUbuntu12.04 menu background splash.png menu color title 1;37;44 #c0ffffff #00000000 std label persistent menu label persistent - boot the Live System in Persistent Mode kernel /casper/vmlinuz append file=/cdrom/preseed/custom.seed boot=casper initrd=/casper/initrd.gz persistent quiet splash -- label live menu label live - boot the Live System kernel /casper/vmlinuz append file=/cdrom/preseed/custom.seed boot=casper initrd=/casper/initrd.gz quiet splash -- label xforcevesa menu label xforcevesa - boot Live in safe graphics mode kernel /casper/vmlinuz append file=/cdrom/preseed/custom.seed boot=casper xforcevesa initrd=/casper/initrd.gz quiet splash -- label install menu label install - start the installer directly kernel /casper/vmlinuz append file=/cdrom/preseed/custom.seed boot=casper only-ubiquity initrd=/casper/initrd.gz quiet splash -- label memtest menu label memtest - Run memtest kernel /install/memtest append - label hd menu label hd - boot the first hard disk localboot 0x80 append -
Pour démarrer Windows, depuis le Live-USB
Copier chain.c32 dans le répertoire de démarrage :
sudo cp /usr/lib/syslinux/chain.c32 /media/usbdisk/isolinux/
Editer le menu extlinux.conf et lui ajouter les lignes suivantes :
label Windows menu label windows -démarrer windows depuis le live-Usb kernel chain.c32 append sda1
Personnaliser l'image de fond du menu de démarrage
Vesamenu.c32 extlinux permet d'afficher de jolies images au format JPG ou PNG au démarrage d'extlinux. Il est conseillé de commencer par une résolution 640x480. (Attention: JPG progressif n'est pas pris en charge par extlinux)
Une fois que vous avez votre image, copiez-la dans le répertoire du menu de démarrage (/media/usbdisk/isolinux/) boot / extlinux / et nommer la splash.png ou splash.jpg.
Démarrer le LIve-USB et tester
Il est nécessaire de savoir si son BIOS permet de démarrer des LIve-USB: - (Si le BIOS de l'ordi ne le permet pas, il est possible de graver une ISO qui le permet depuis le CD/DVD rom PLoP ). - Sinon sélectionner le bon média de démarrage avec le BIOS au moment du boot de la machine.
Conclusion
Extlinux permet de créer un Live-USB.
Unetbootin permet de le faire plus rapidement et automatiquement.
multisystème (anciennement multiboot) permet aussi de créer un LIve-USB mais basé sur le grub (moins rapide au démarrage) et des partitions fat32 (c'est très bien fat32 montable sur tous les systèmes qu'il soit nécessaire de lui donner les droits pour qu'il soit possible d'y écrire ou d'y lire, la seule limitation c'est pour les fichiers de plus de 4.3 Go. Fat32 peut donner aussi des partitions nécessitant une défragmentation).