Cette page est en cours de rédaction.
Apportez votre aide…

Comment transférer une installation dual-boot vers un autre disque

Ce guide a pour but d'expliquer comment transférer son installation dual-boot (ubuntu+XP) vers un autre disque.

Dans ce guide je vais prendre comme exemple mon installation où windows et linux sont installés sur le même disque.

Voici le disque à transférer (résultat d'un "sudo fdisk -l"):

Disque /dev/hda: 122.9 Go, 122942324736 octets
255 têtes, 63 secteurs/piste, 14946 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/hda1   *           1        1275    10241406    7  HPFS/NTFS
/dev/hda2            1276       14946   109812307+   f  W95 Etendu (LBA)
/dev/hda5            1276        9251    64067188+   7  HPFS/NTFS
/dev/hda6            9252        9282      248976   83  Linux
/dev/hda7            9283        9531     2000061   82  Linux swap / Solaris
/dev/hda8            9532       14946    43495956   83  Linux

Installez votre nouveau disque dans votre tour puis munissez vous de votre live CD ubuntu. Démarrez votre PC et bootez sur le live CD.

Si votre PC ne boot pas sur le live CD, peut-être aurez-vous à entrer dans votre BIOS pour ajouter votre lecteur de CD comme source possible de boot.

Vous avez maintenant booté votre live CD. Avant toute chose, pensez à vous mettre en clavier français si vous ne voulez pas être embêté.

sudo setxkbmap fr

En premier, vérifiez que votre disque est bien présent avec la commande suivante:

sudo fdisk -l 

Maintenant il faut partitionner votre nouveau disque. Pour cela, vous pouvez utiliser gparted ou bien les ligne de commandes avec fdisk et mkfs

> Attention: XP ne boot que sur les partitions de type primaire. La première partition à créer est une partition primaire en NTFS ou FAT32 (au choix). Pour éviter tout problème, vérifiez que la partition XP porte le numero 1

Une fois créée votre partition primaire pour XP, faites une partition étendue avec l'espace restant. Vous pourrez, par la suite, créer autant de partitions que vous le voudrez sous cette partition étendue.

> Pour être sûr d'être compatible avec Windows, la partition étendue doit être de type "W95 Etendu (LBA)" ce qui correspond à un ID "f"

Si vous créez par la suite des partitions de type FAT32 pour partager avec Windows, vérifiez que leur type est bien "W95 FAT32", à savoir: un id "b".

Voici par exemple de ce que donne mon disque une fois partitionné (output de sudo fdisk -l) :

Disque /dev/sda: 320.0 Go, 320072933376 octets
255 têtes, 63 secteurs/piste, 38913 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sda1   *           1        1216     9767488+   7  HPFS/NTFS
/dev/sda2            1217       18237   136721182+   7  HPFS/NTFS
/dev/sda3           18238       18268      249007+  83  Linux
/dev/sda4           18269       38913   165830962+   5  Extended
/dev/sda5           18269       20700    19535008+  8e  Linux LVM
/dev/sda6           20701       20822      979933+  82  Linux swap / Solaris
/dev/sda7           20823       38913   145315926   8e  Linux LVM

(note : je sais, c'est un peu différent du disque source, mais pour passer de 120Go à 320Go, il faut ce qu'il faut :)

Maintenant que votre nouveau disque est partitionné, il faut transférer vos données. Pour cela, il faut tout d'abord monter les partitions de votre ancien disque.

Créer des espaces de montage

Il faut d'abord créer des espace de montage par exemple dans /mnt

Voici un exemple de ce qu'il faudrait taper en ligne de commande :

sudo mkdir /mnt/system-linux-old-drive
sudo mkdir /mnt/system-linux-new-drive
sudo mkdir /mnt/system-windows-new-drive
sudo mkdir /mnt/partition1-old-drive
sudo mkdir /mnt/partition1-new-drive
sudo mkdir /mnt/partition2-old-drive
sudo mkdir /mnt/partition2-new-drive

Monter les partitions

Vous obtiendrez les numéros de partitions avec la commande sudo fdisk -l Vous pourrez reconnaître facilement vos partition en regardant de quel type elles sont (FAT32, NTFS, ext3, …) et quelle est leur taille.

Pour monter votre partition rien de plus simple, par example :
sudo mount /dev/hda1 /mnt/system-windows-old-drive
sudo mount /dev/hdb1 /mnt/system-windows-new-drive

Transférer les données

Maintenant que les partitions des 2 disques sont montées il ne reste plus qu'à copier les données ainsi que votre partition linux en prenant soin de préserver les droits des fichiers (option -a) ; par exemple :

sudo cp -a /mnt/system-linux-old-drive/* /mnt/system-linux-new-drive

Cas particulier de la partition NTFS

Comme vous le savez linux n'offre pas de support en ecriture pour le NTFS c'est pourquoi nous allons utiliser partimage qui supporte le NTFS pour transférer la partition XP.

> La partition à sauvegarder doit être démontée. Si vous avez monté votre partition windows démontez la avant d'utiliser partimage pour la sauvegarder.

Voici la commande à taper pour sauvegarder votre partition windows (hda1 par example) sur la partition hdb2 par exemple :

partimage -o -d -b -e save /dev/hda1 /mnt/hdb2/save_hda1

Verifiez ensuite la presence de l'image de sauvegarde sur hdb2.

Vous pouvez si vous le souhaitez utiliser partimage en graphique : http://www.partimage.org/Partimage-manual_Usage

Maintenant, si l'on veut restaurer cette sauvegarde vers /dev/hdc1 qui serait votre nouvelle partition windows dans cet exemple :

partimage restore -b /dev/hdc1 /mnt/hdb2/save_hda1.000

Documentation partimage :
http://www.cepcasa.info/parted/partimage.html
http://www.partimage.org/Index.fr.html

A ce stade vous avez transféré toute vos données ainsi que vos partition windows et linux. Je suppose que votre nouvelle partition linux sur laquelle vous avez transferé votre ancienne install ubuntu est montée.

Modifier le fstab

Comme votre disque est différent et votre table de partition aussi (enfin je suppose) il vous faut éditer votre fstab pour y monter vos nouvelle partitions. Il est surtout important de bien monter la bonne partition système et le swap.

le fichier est situé dans /etc/fstab

Si vous avez des doutes ou si vous ne savez pas comment fonctionne le fichier fstab lisez cette documentation

Modifer les fichiers de GRUB

Le fichier menu.lst

Il vous faudra aussi editer votre menu.lst (/boot/grub/menu.lst).

Remplacez tous les endroits ou vous avez (hdX,Y) par votre nouvelle partition. Par exemple si votre nouvelle partition linux est hdc5 alors il vous faudra remplacer par (hd0,4), vous remarquerez que le chiffre à mettre est 4 et non 5 car GRUB numérote les partitions a partir de 0. Pour la partition windows si elle est sur le meme disque que la partition linux mettez (hd0,0).

Remplacer aussi les UUID par le chemin de votre partition à savoir /dev/hdc5 dans cet example. Exemple de UUID à remplacer :

root=UUID=9a94bb70-1eb4-43f5-93b8-8c817ce58e12

On peut aussi trouver le chemin de la partition et non le UUID. Remplacer alors ce chemin par le chemin de votre partition à savoir /dev/hdc5 dans cet exemple. Exemple de chemin à remplacer :

root=/dev/hda1

Le fichier device.map

Il vous faut aussi modifier votre device.map, dans ce fichier est definit quel disque est appellé hd0 dans le menu.list. Editez donc votre device.map pour mettre votre disque en hd0, dans cet exemple voici le contenu à mettre dans le device.map si votre nouveau disque est hdc :

(hd0) /dev/hdc

Installer GRUB

A ce stade je vous conseille d'eteindre votre PC, de debrancher votre ancien disque dur puis de redemarrer votre PC en bootant de nouveau le live CD. De cette maniere vous serez sur d'installer GRUB sur le nouveaux disque et non sur l'ancien. Pendant cette manip profitez en lors du redemarrage pour entrer dans le BIOS et modifier l'ordre de boot des disque durs pour mettre votre nouveau disque en premier. Attention cette etape est obligatoire.

Ouvrir un terminal dans votre session avec le live cd et tapez :

sudo su

puis

grub

ensuite tapez :

find /boot/grub/stage1

Vous allez obtenir le nom de la partition contenant votre install linux par exemple :

(hd0,4)

Retenez cete partition et utilisez le resultat de la commande precedente avec la commande root :

root (hd0,4)

Et enfin installez GRUB :

setup (hd0)

Tapez :

quit

Puis rebootez et ca devrait être bon.

  • tutoriel/transferer_son_installation_sur_un_autre_disque.txt
  • Dernière modification: Le 03/07/2012, 08:38
  • (modification externe)