Installer Ubuntu sur une clé USB
Publi� le 6 novembre 2007

(PNG) Vous pouvez avoir plusieurs raisons de vouloir installer Ubuntu sur une clé USB :

-  le live CD n'est pas rapide pour un usage au quotidien
-  vous ne pouvez pas ou ne souhaitez pas installer ubuntu sur le disque dur (ce qui requiert partitionnement, etc.)
-  vous transporter votre système sur vous même

Voici la traduction d'un article qui vous permettra d'installer Ubuntu sur une clé USB (une clé de grande capacité il faut dire). Il y a aussi la méthode pour installer le live cd sur le disque dur. A vrai dire, cette méthode s'applique pour n'importe quelle distribution Linux.

Ingrédients :

-  un live cd Ubuntu
-  une clé USB de 1Go minimum
-  syslinux


Installer le système complet

Ce qui est génial avec les clés USB c'est que l'on peut y installer un système d'exploitation complets. Cela n'est pas très rapide, il n'y pas beaucoup d'espace disque mais c'est cool ! Avec une clé USB à forte capacité et un ordinateur qui peut booter sur le port USB, vous pouvez configurer une clé comme un système d'exploitation autonome.

Attention : il y a différentes méthodes discutées dans les forums pour créer une clé USB bootable. Malheureusement, la plupart des insctructions sont incomplètes. Les instructions ci-dessous permettent d'avoir un système sûr, mais j'ai passé plusieurs jours à essayer de les faire marcher.

Il y a 2 configurations possible pour créer un système bootable : une grande clé USB ou un disque dur USB. Dans chacun de ces exemples, je vais utiliser le live CD Ubuntu version Desktop.

Utiliser le live CD à partir de la clé USB

Pour convertir le live CD Ubuntu en clé USB de démarrage, il faut au minimum 1Go d'espace.

  1. être root


$ sudo bash

  1. Démonter la clé du système
  1. Formater la clé en FAT16


$ mkdosfs -I -F 16 /dev/sdc
$ sync

Astuce : FAT16 ne supporte que des capacités de 2 GB. S'il vous avez une clé plus grande, il faut utiliser un hack pour convertir une grande clé USB en une clé plus petite [1].

  1. Insérer le live CD et la clé USB


$ mkdir /mnt/usb
$ mkdir /mnt/img
$ mount -o loop ubuntu-6.06-desktop-i386.iso /mnt/img/
$
mount /dev/sdc /mnt/usb

  1. Copier les fichiers (20 mn ou plus). Ignorer les erreurs sur les liens symboliques car le format FAT16 ne les gère pas.


$ (cd /mnt/img ; tar -cf - *) | (cd /mnt/usb ; tar -xvf -)
$
sync

  1. Préparer les fichiers pour la clé. Etant donné que [ !syslinux] n'accepte pas les sous répertoires pour les fichiers kernel, il faut les déplacer à la racine.

# déplacer les images de boot et de test
$ mv /mnt/usb/casper/vmlinuz /mnt/usb/vmlinuz
$ mv /mnt/usb/casper/initrd.gz /mnt/usb/initrd.gz
$ mv /mnt/usb/install/mt86plus /mnt/usb/mt86plus
# déplacer les fichiers de démarrage à la racine
$ mv /mnt/usb/isolinux/* /mnt/usb/
$ mv /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg
$ rm /mnt/usb/isolinux.bin
# Facultatif: Supprimer les programmes Windows et les fichier ISO pour libérer de l'espace disque
$ rm -rf /mnt/usb/start.* /mnt/usb/autorun.inf
$ rm /mnt/usb/bin /mnt/usb/programs
$ rm -rf /mnt/usb/isolinux
# Terminé
$ sync
  1. Editer le fichier /mnt/usb/syslinux.cfg et réglez les chemins des fichiers du kernel. Supprimmer les chemins /casper/ et /install/ partout où vous les voyez.
  1. démonter les clé USB et la rendre bootable


$ umount /mnt/usb
$ syslinux /dev/sdc
$ sync
$ eject /dev/sdc
$ exit  # quitter le shell root

Cette clé USB devrait être bootable maintenant ! Vous pouvez démarrer l'OS live Ubuntu ou installer Ubuntu à partir de la clé.

Pour la personnalisation, vous pouvez changer le menu de boot en éditant le fichier /mnt/usb/syslinux.cfg et modifier les kernels.

Utiliser le live CD à partir d'un disque dur USB

Convertir le live CD en disque dur USB est un peu plus compliqué. D'abord, beaucoup d'ordinateurs qui supportent le boot à partir du port USB, ne supporte pas cette configuration. Même la configuration basique est supportée, il y a beaucoup de restrictions du BIOS. Ensuite, le programme de boot doit savoir gérer les partitions. Finalement, l'identification du disque dur USB ne peut pas changer après l'installation. Cela est la principale raison que je n'utilise pas GRUB ou LILO comme programmes de boot.

Les disques durs sont définis par une combinaison de têtes, secteurs et cylindres. Même si les têtes et les cylindres correspondaient au têtes et aux plateaux des disques, ce n'est plus le cas actuellement. En général, chaque secteur contient 512 octets de données et chaque cylindre contient un ensemble de secteurs. Cepandant, quand on boote à partir d'un disque dur USB, beaucoup de fabricants de BIOS utilisent 64 têtes et 32 secteurs par cylindre. C'est la configuration utilisée par les lecteurs ZIP. Si vous utilisez une autre configuration, cela peut ne pas booter. En plus, la première partition ne doit pas être plus grande que 1023 cylindres.

Même si la commande syslinux ne supporte que les systèmes de fichiers FAT12 et FAT16, le programme syslinux inclut extlinus qui supporte les systèmes de fichiers ext2 et ext3. Par exemple, nous allons utiliser extlinus comme le programme de boot et un système de fichier ext2 sur une partition bootable.

Il y a 10 étapes pour configurer un OS bootable sur un disque USB :

1. Être root


$ sudo bash

2. Démonter le disque

3. Utiliser fdisk ou cfdisk pour partitionner le disque (par exmeple /dev/sdc). Soyez sûr de spécifier 64 têtes et 32 secteurs. Le dernier cylindre de la première partition ne doit pas être plus grande que 1023. Si vous avez de l'espace disque supplémentaure après avoir créer la première partition, vous pouvez créer d'autres partitions.


      
$ fdisk -H 64 -S 32 /dev/sdc
      Command
(m for help): d
      No partition is defined yet
!

      
Command (m for help): n
      Command action
         e   extended
         p   primary partition
(1-4)
      
p
      Partition number
(1-4): 1
      First cylinder
(1-983, default 1): 1
      Last cylinder
or +size or +sizeM or +sizeK (1-983, default 983): 983

      Command
(m for help): a
      Partition number
(1-4): 1

      Command
(m for help): p

      Disk
/dev/sdc: 1030 MB, 1030750208 bytes
      64 heads
, 32 sectors/track, 983 cylinders
      Units
= cylinders of 2048 * 512 = 1048576 bytes

         Device Boot      Start         End      Blocks   Id  System
      
/dev/sdc1   *           1         983     1006576   83  Linux

      Command
(m for help): w
      The partition table has been altered
!

      
Warning: The partition must be marked as "active," otherwise you will not be able to boot from it.

4. Formater la partition en ext2


      
$ mkfs /dev/sdc1

5. Monter le live CD et le disque USB


      
$ mkdir /mnt/usb
      
$ mkdir /mnt/img
      
$ mount -o loop ubuntu-6.06-desktop-i386.iso /mnt/img/
      $
mount /dev/sdc /mnt/usb

6. Copier les fichiers. Comme cela est mentionné dans la section précédente, cela peut prendre 20 mn ou plus.


      
$ (cd /mnt/img ; tar -cf - *) | (cd /mnt/usb ; tar -xvf -)
      $
sync

7. Créez les fichiers de boot. Au contraire de syslinux, les fichiers de boot pour extlinus peuvent être situés dans un répertoire. Dans ce cas, nous allons utiliser le répertoire casper puisqu'il contient déjà les fichiers kernel.


     $ cp /mnt/usb/isolinux/* /mnt/usb/casper/
     $ rm /mnt/usb/casper/isolinux.bin
     $ mv /mnt/usb/casper/isolinux.cfg /mnt/usb/casper/extlinux.conf
     $ sync

Note : L'extension pour le fichier de configuration du boot est .conf, et pas .cfg.

8. Ne pas démonter le disque tout de suite ! Pour rendre le disque bootable, ce nécessite de monter le répertoire qui contient le fichier extlinux.conf.


      
$ extlinux -z /mnt/usb/casper
      
$ sync

9. Copier le programme de boot. Il manque un fichier dans le paquetage binaire syslinux mais il est disponible dans le paquetage source. Ce fichier s'appelle mbr.bin et c'est un "master boot record" qui contient le programme de boot. Téléchargez le paquetage source :


    
$ apt-get source syslinux

Cela créé un répertoire comme syslinux-3.11/. Dans ce répertoire on trouve le fichier manquant. Il faut l'installer sur le disque dur en utilisant la commande :


    
$ cat mbr.bin > /dev/sdc
      sync

Attention : Si vous configurez une image du fichier au lieu du disque alors la commande cat va tronquer le fichier. Au lieu de cela, utilisez dd if=mbr.bin of=usbdrive.img bs=1 notrunc pour installer le secteur de boot sur l'image du disque USB (dans ce cas, usbdrive.img).

10. Maintenant, démontez le disque et booter depuis le disque

Si tout va bien, vous devriez voir marcher le disque USB. Ce disque peut aussi être utilisé comme un disque de récupération et de réparation du système.

Comme alternative, vous pouvez formater le disque en FAT16 et utiliser syslinux pour rendre la partition bootable. Dans ce cas, vous avez aussi besoin de copier les fichiers de boot au début de la partition et éditer le fichier syslinux.cfg comme cela a été décrit dans la section précédente.

Source : ExtremeTech


[1] Personnellement j'ai pu vérifier que FAT32 fonctionnait également. A voir si cela marche pour des PC anciens.

Forum de l'article

# 698 Installer Ubuntu sur une clé USB 21 mars 2008, par bill
Bonjour. j'ai appliqué toutes les instructions que vs avez données pour installer ubuntu sur clé usb et ca marche sauf que quand je lance le démarrage d'ubuntu il me demande de l'installer en ligne de commandes je ne sais pas pourquoi. si vous pouvez m'aider ca me rejouira car c'est mon projet de fin d'année.
# 699 Installer Ubuntu sur une clé USB 22 mars 2008, par Frédéric

Ce tutoriel permet d'installer Ubuntu en mode "live cd" sur la clé USB. C'est à dire que c'est l'équivalent du cdrom "live cd". La seule différence est que tu peux écrire dans ta clé usb.

Il faudra alors veiller à bien prendre la version live de ubuntu et pas la version alternate.

Si le cd bootable qui a servi à créer la clé USB fonctionne alors la clé devrait fonctionner également.

Ce que tu peux faire également, c'est nettoyer le secteur de boot de ta clé usb et relancer les dernières commmandes du tutoriel pour le réinstaller.

Si tu as besoin d'éclaircissements, n'hésites pas !

# 702 Installer Ubuntu sur une clé USB 25 mars 2008, par daniel50170

Bonjour,

Voilà, je ne suis pas un pro de l'informatique, je me débrouille bien mais sans plus....Je rêve d'installer Linux sur une clé USB car par exemple truecrypt qui fonctionne à partir d'une clé USB le fait très bien avec un windows XP et Ubuntu mais pas windows 98 donc le jour où je suis chez quelqu'un qui est resté sous W98ou un OS exotique et bah c'est perdu.. ! Ma 1ère question : bon...il risque d'y en avoir d'autres donc si cela t'importune tu le dis et puis voilà (je resterai à pleurer sur ma clé....je plaisante). 1. être root

$ sudo bash

1. Démonter la clé du système

1. Formater le disque en FAT16

$ mkdosfs -I -F 16 /dev/sdc $ sync

Astuce : FAT16 ne supporte que des capacités de 2 GB. S'il vous avez une clé plus grande, il faut utiliser un hack pour convertir une grande clé USB en une clé plus petite.

je lis démonter la clé et après formater le disque...de quel disque il s'agit ? Hé ouais...ça commence mal mais j'ai réellement envie d'y arriver. Cordialement. Daniel

# 706 Installer Ubuntu sur une clé USB 3 avril 2008, par Frédéric

je lis démonter la clé et après formater le disque...de quel disque il s'agit ?

Il s'agit bien de la clé USB et non d'un disque dur. Je corrige.

# 807 Installer Ubuntu sur une clé USB 23 septembre 2008, par Antoine

Bonjour... J'aimerais seulement savoir s'il est possible d'installer Ubuntu sur une clé sans passer par les lignes de commandes, en indiquant la clé comme répertoire de destination à l'installateur Ubuntu... Novice en informatique, ça m'intéresse beaucoup.

A plus.

# 854 Installer Ubuntu sur une clé USB 19 novembre 2008, par ouhmegasquatt

Bonjour, je suis en licence et j'ai en projet turoré d'installé ubuntu sur ma clef usb, seulement j'ai l'obligation de modifier le kernel original.

Comment dois je faire pour remplacer le kernel existant sur la clef usb par un autre que j'ai préparé à coté ???

En vous remerciant

—  ouhme

Poster un message