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.

Cette documentation est là pour mieux comprendre l'utilité et le fonctionnement d'extlinux

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

Cette manipulation est réservé au Disque Dut Externe USB.

Elle est déconseillée sur un Disque dur interne : elle peut en corrompre le démarrage .

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

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

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é !!!

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 .

Ajouter un drapeau de boot

Fdisk

user@grUser-P5Q-E:~$ -P5Q-E:~$ sudo fdisk /dev/sde

Entrer commande a

la machine demande le numéro de partition à marque comme bootable:

Numéro de partition (1-5): 1

Entrer commande w (pour finaliser) l'écriture sur le disque

gparted (méthode graphique alternative)

Lancer Gparted

Sélectionner la clef ou le DDExterne 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

Conditions démarrage d'extlinux :

  1. Le répertoire de démarrage doit comporter:
  2. Un menu de démarrage : extlinux.conf
  3. Un fichier vesamenu.c32
Si c'est conditions ne sont pas respectée votre LIve-Usb ne démarrera pas !

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)

L'option "persistent" dans le menu suivant permet au Live-USB de démarrer un fichier ou une partition nommée "casper-rw" fichier/partition de persistance
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

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.

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.

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

  • extlinux.1388781234.txt.gz
  • Dernière modification: Le 03/01/2014, 21:33
  • par albanmartel