Table des matières


Attention : cette page, contrairement à son nom et à son URL, n'a rien à voir avec la création ou l'utilisation d'un système live !
Cette page est un tutoriel, obsolète, pour copier sur un disque un système déjà installé sur un autre disque.
Si c'est bien ce que vous cherchez, veuillez vous reporter à cette discussion (systemback) https://forum.ubuntu-fr.org/viewtopic.php?id=1994822.

Si vous cherchez un tutoriel sur l'usb live, veuillez vous reporter à https://doc.ubuntu-fr.org/live_usb.

Si vous cherchez un tutoriel sur l'installation véritable sur disque externe (ou sur clef usb ou sur carte mémoire), veuillez vous reporter à https://doc.ubuntu-fr.org/tutoriel/installation_sur_disque_usb.

Si vous désirez confectionner une live personnalisée sur la base de votre système installé, veuillez vous reporter à https://doc.ubuntu-fr.org/remastersys.

Disque USB Live

L'objectif de cette page est de vous permettre de construire un système linux/ubuntu complet qui est l'image du système que vous utilisez actuellement sur votre ordinateur principal. Ce système sera installé sur un disque dur connecté via un port USB. Il est possible de trouver des disques USB taille 2"1/2 auto-alimentés. Ces disques sont pour les plus petits d'un cout inférieur à 50-60E et permettent de construire un environnement Linux portable sur tout ordinateur tout comme les CD dits live. Cette configuration avec un disque dur permet :

Les contraintes à l'utilisation :

Principes

La fabrication du système Live USB Disk passe par :

Pour le reste toute latitude est laissée :

Les commandes

Voici les commandes de base :

Il faudra aussi agir sur les fichiers de configuration du système live :

Les plus expérimentés n'auront pas besoin de plus d'éléments, pour les autres, je vais mettre en place une procédure plus complète. Ceci nécessite de refaire complètement la procédure, ce qui prend pas mal de temps. A planifier …

Conception du système

Le système contiendra :

Pourquoi ca marche

La procédure

attention ; cette procédure doit être validée (et revalidée) ; le principe général est bon, mais nécessite probablement des adaptations.

src=/dev/sda5
src_home=/dev/sda7

dst=/dev/sdb       # disque destination
dst_root=/dev/sdb1 # partition racine
dst_data=/dev/sdb7 # partition de données (FAT32) ; optionnelle
dst_home=/dev/sdb6 # parition /home ; optionnelle
dst_swap=/dev/sdb5 # swap ; optionnel
src_swap=/dev/sda6 # swap source ; optionnel

* lister les partitions du disque destination :

root@ubuntu-intrepid:~# fdisk -l $dst

Disque /dev/sdb: 160.0 Go, 160041885696 octets
255 heads, 63 sectors/track, 19457 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0x46383580

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sdb1   *           1        1216     9767488+  83  Linux                  # /
/dev/sdb2            1217        1824     4883760   83  Linux                  # autre système
/dev/sdb4            1825       19457   141637072+   5  Extended               # partition étendue
/dev/sdb5            1825        2067     1951866   82  Linux swap / Solaris   # swap
/dev/sdb6            2068        9362    58597056   83  Linux                  # /home
/dev/sdb7            9363       19457    81088056    c  W95 FAT32 (LBA)        # /data (pour windows et linux)
root@ubuntu-intrepid:~# mount | grep $dst
/dev/sdb5 on /media/disk type ext3 (rw,nosuid,nodev,uhelper=hal)
/dev/sdb1 on /media/disk-1 type ext3 (rw,nosuid,nodev,uhelper=hal)
mkfs.ext3 ${dst_root}  # racine1
mkfs.ext3 ${dst}2      # racine2
mkfs.ext3 ${dst_home}  # /home
mkswap    ${dst_swap}  # le swap

mkfs.vfat $dst_data    # partition FAT32 pour échange données windows - linux
mount ${src} /mnt/src
mount $dst_root /mnt/dst
cp -rp /mnt/src/* /mnt/dst/
id_dst=`vol_id --uuid  $dst_root`
id_src=`vol_id --uuid  $src`
sed  --in-place=.sav -e "s#$id_src#$id_dst#" "-es#${src}#${dst_root}#" /mnt/dst/etc/fstab
id_dst=`vol_id --uuid  $dst_home`
id_src=`vol_id --uuid  $src_home`
sed  --in-place=.sav -e "s#$id_src#$id_dst#" "-es#${src_home}#${dst_home}#" /mnt/dst/etc/fstab

 * swap
id_dst=`vol_id --uuid  $dst_swap`
id_src=`vol_id --uuid  $src_swap`
sed  --in-place=.sav -e "s#$id_src#$id_dst#" "-es#${src_swap}#${dst_swap}#" /mnt/dst/etc/fstab
sed  --in-place=.sav -e "s#$id_src#$id_dst#" /mnt/dst/etc/initramfs-tools/conf.d/resume

mount --bind /proc /mnt/dst/proc
mount --bind /dev  /mnt/dst/dev
mount --bind /sys  /mnt/dst/sys

chroot /mnt/dst/ update-initramfs -u

mount $dst_home /mnt/dst/home
cp -rp /home /mnt/dst/home
grub-install --recheck --root-directory=/mnt/dst/ $dst
Probing devices to guess BIOS drives. This may take a long time.
Due to a bug in xfs_freeze, the following command might produce a segmentation
fault when /mnt/dst//boot/grub is not in an XFS filesystem. This error is harmless and
can be ignored.
xfs_freeze: specified file ["/mnt/dst//boot/grub"] is not on an XFS filesystem
Installing GRUB to /dev/sdb as (hd1)...
Installation finished. No error reported.
This is the contents of the device map /mnt/dst//boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0)	/dev/fd0
(hd0)	/dev/sda
(hd1)	/dev/sdb
root@ubuntu-intrepid:/mnt/dst# cat /mnt/dst/boot/grub/device.map 
(fd0)	/dev/fd0
(hd0)	/dev/sda
(hd1)	/dev/sdb
  # probablement pas une très bonnée idée ; voir commentaires ci-dessous.
  # sed  --in-place=.sav -e "s#(hd0,#(hd1,#g" /mnt/dst/boot/grub/menu.lst
id_dst=`vol_id --uuid  $dst_root`
sed  --in-place=.sav -e"s#root=.* #root=UUID=${id_dst} #" /mnt/dst/boot/grub/menu.lst
cd /
umount /mnt/src /mnt/dst/home /mnt/dst/sys /mnt/dst/proc /mnt/dst/dev /mnt/dst

Notes

Evolutions souhaitables

Vos remarques

à la place de vol-id il faut utiliser blkid pour les vouveaux systèmes. est ce que tu peux afficher la configuration de ta machine linux.