Apportez votre aide…
Comment transférer une installation dual-boot vers un autre disque
Introduction
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
Etape 1 - Installer le nouveau disque
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.
Etape 2 - Partitionner
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 :)
Etape 3 - Transfert de données
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
Etape 4 - Installer GRUB et adapter votre partition linux
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.