Cloner le Linux d'un PC sur un autre

Cloner le Linux d'un PC sur un autre - Installation - Linux et OS Alternatifs

Marsh Posté le 10-03-2010 à 22:07:36    

A ma droite un PC sous Linux configuré aux petits oignons, avec des partitions sur deux disques, le système et les logiciels étant regroupés sur le disque maître. A ma gauche quasiment le même PC, seule différence un seul disque.
 
Est-ce que je peux faire une image du disque système du premier PC que je copierai sur le disque du deuxième pour que tout fonctionne à l'identique, avec le minimum de manipulation ? Comment m'y prendre exactement ? J'imagine que je risque d'avoir des problèmes avec le système qui va chercher la partition correspondant au deuxième disque du premier PC...
 
Précisions: il s'agit en fait d'un EEE PC 901 première version (4 + 16 Go) sous Xandros (très proche de Debian), vs un 901 deuxième version (16 Go).


---------------
rm -rf internet/
Reply

Marsh Posté le 10-03-2010 à 22:07:36   

Reply

Marsh Posté le 10-03-2010 à 22:19:58    

une simple copie de l'arborescence de l'un à l'autre en omettant /prox /dev et /sys suivi d'une édition de fstab devrait suffire.


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 10-03-2010 à 23:02:03    

Je l'ai déjà fait et je peux confirmer que dans le principe ça marche (copie d'une Gentoo depuis un 901 vers un 1005HA).
 
Globalement l'idée c'est de démarrer depuis un liveUSB et de copier directement le contenu des deux SSD. Le problème c'est que je ne sais pas quel schéma est utilisé par Xandros, j'avais viré la mienne très vite étant très déçu de cet OS...
Est-ce que le modèle 16 Go est en deux SSD ou en un seul ?
 
Dans le cas d'un seul SSD, la configuration de Xandros, à base d'union mount (aufs) si mes souvenirs sont bons ne va être d'aucun intérêt et même pénalisante.
 
Si ce sont deux SSD, la méthode relativement barbare que je propose c'est donc de démarrer le liveUSB sur chaque eeePC, démarrer sshd sur la machine où tu veux installer.
pour copier le ssd1 qui contient le bootloader, la partition pour bootbooster autant copier bit à bit le disque avec

dd if=/dev/sda | ssh root@machine2 dd of=/dev/sda


La même commande avec sdb copierait le deuxième ssd, sauf que dans le cas 4Go + 8Go on ne peut pas utiliser cette méthode (que certains qualifieraint d'horrible). Il faut alors recréer une table de partitions équivalente, monter le système de fichiers sur /mnt/sdb1 de chaque côté (on a sur la machine 1 tous les fichiers et sur la machine 2 un dossier contenant juste lost+found) puis tout copier avec la commande

tar czf - /mnt/sdb1 | ssh root@machine2 "tar xzf - -C /mnt/sdb1"


 
Si tu ne sais pas ce que font les commandes ne les lance pas au hasard, une petite lecture de man ou une question du forum permettra d'éviter de faire des erreurs :)  
 
J'ai peur que ce soit un modèle avec un seul SSD et que les super commandes ssh que j'ai copié-collé d'autres sites ne vont pas servir :o

Reply

Marsh Posté le 10-03-2010 à 23:09:30    

Effectivement le 2ème 901 n'a qu'un seul SSD c'est pour cela que je m'attends à des problèmes :o
 
Par contre je n'ai pas besoin d'une méthode de sioux pour copier le 2ème SSD du 1er 901 sur le nouveau disque: ce ne sont que des fichiers de données que je peux transférer simplement.
 
J'ai juste besoin de:
- copier le 1er SSD de 4 Go (système +softs) sur le nouveau SSD unique de 16 Go, en évitant les messages d'insultes au boot parce qu'il n'aura pas trouvé la partition censée se trouver sur le SSD secondaire
- recréer ma partition user sur le nouveau SSD unique
 
Je précise aussi que j'ai supprimé le aufs d'origine (et fait pas mal de modifs que j'ai bien sûr oubliées, de sorte que je n'ai pas envie de réinstaller Xandros from scratch et de tout recommencer :o )


Message édité par Kalymereau le 10-03-2010 à 23:10:17

---------------
rm -rf internet/
Reply

Marsh Posté le 10-03-2010 à 23:49:05    

J'ai bien peur que sur ce forum personne n'ait eu la chance de pouvoir acheter un 901 Xandros et a gardé l'OS pour savoir exactement comment ils ont organisé ça. Ceci dit pour mettre toutes les chances de ton côté il faut :
*que le MBR (secteur de boot) contienne le bon code, pour le copier un "dd if=/dev/sda bs=446 count=1| ssh root@machine2 dd of=/dev/sda" suffit
*que le numéro de la partition contenant /boot soit le même, si possible que ce soit le même système de fichiers (et bien entendu les fichiers copiés)
À ce moment le kernel devrait pouvoir démarrer.
 
Ensuite il faut que /etc/fstab contienne les bonnes entrées (donc supprimer le probable /dev/sdb1)
Enfin mettre les données du deuxième SSD là où il faut.
 
Petit détail eeepc-esque, il vaut mieux avoir une partition marquée de type "EFI", qui sert au BIOS à mettre en cache je ne sais quoi et permet d'activer bootbooster, qui accélère grandement le démarrage.

Reply

Marsh Posté le 11-03-2010 à 09:20:51    

moi j'ai eu à le faire et la copie des dossiers hors /dev /sys et /prox fonctionne.
il faut ensuite corrigé fstab et faire un grub install en te chrootant dessus via un liveusb par exemple.
par contre pour Xsession, il ne faut pas oublier de mettre /tmp en 777 provisoirement.


---------------
ma conduite intérieure .:R | memaster pilote officiel de la HFR Badoit-Auchan F1 Team | zéro tracas, zéro blabla MMa.ster
Reply

Marsh Posté le 11-03-2010 à 15:24:53    

:jap:  merci je pense avoir compris à peu près ce que vous dites, sauf:
 

memaster a écrit :


faire un grub install en te chrootant dessus via un liveusb par exemple.
par contre pour Xsession, il ne faut pas oublier de mettre /tmp en 777 provisoirement.


 
pourquoi devrais-je installer grub ?
 
et c'est quoi cette histoire de Xsession et de droits pour /tmp ?
 


---------------
rm -rf internet/
Reply

Marsh Posté le 11-03-2010 à 16:33:21    

Grub contient plusieurs parties, tout ce qui est dans /boot (configuration, kernel et probablement d'autres fichiers dans /boot/grub) et ce qui est dans le MBR.
En copiant le système de fichiers le secteur de boot n'est pas touché, la solution à base de dd copie les données bit à bit, le grub-install recrée le mbr correctement. Tous comptes faits je conseille plutôt la proposition de memaster62, pas de risque d'écraser la table de partition comme ça.

Reply

Marsh Posté le 12-03-2010 à 16:09:28    

et donc concrètement ?
 
1) je formate le disque du deuxième PC et je crée le même nombre et type de partitions que sur le disque maître du 1er PC (avec Gparted live par exemple)
2) je copie tous les dossiers sauf /dev/sys/ et /prox
 
et ensuite ? j'ai pas compris le coup du grub install et du Xsession


---------------
rm -rf internet/
Reply

Marsh Posté le 12-03-2010 à 16:28:13    

Kalymereau a écrit :

et donc concrètement ?
 
1) je formate le disque du deuxième PC et je crée le même nombre et type de partitions que sur le disque maître du 1er PC (avec Gparted live par exemple)
2) je copie tous les dossiers sauf /dev/sys/ et /prox
 
et ensuite ? j'ai pas compris le coup du grub install et du Xsession


et bien tu verras qd tu vas redémarrer ton environnement graphique, ça va coincé.
je te donne directe la solution à ce pb.


---------------
ma conduite intérieure .:R | memaster pilote officiel de la HFR Badoit-Auchan F1 Team | zéro tracas, zéro blabla MMa.ster
Reply

Marsh Posté le 12-03-2010 à 16:28:13   

Reply

Marsh Posté le 12-03-2010 à 16:48:06    

memaster a écrit :


et bien tu verras qd tu vas redémarrer ton environnement graphique, ça va coincé.
je te donne directe la solution à ce pb.


 
oui mais je suis suffisamment nul pour pas comprendre [:tinostar]
 
A mon avis ça va pas booter du tout non ? C"est pour ça que tu parles du grub install, mais je tape ça où ? Dans une console de Gparted live la commande n'est pas connue je pense.


---------------
rm -rf internet/
Reply

Marsh Posté le 12-03-2010 à 17:27:37    

Comme on est deux à donner des conseils on s'embrouille un peu  :D  
 
Pour le coup des mêmes partitions c'est pas absolument nécessaire, si dans l'ordre tu crées les partitions, corriges le fstab puis tapes "grub-install /dev/sda" dans un terminal (root) ça devrait marcher. Gparted live n'a peut-être pas grub-install de disponible, mais d'autres liveCDs l'ont.
 
Pour le /tmp j'avoue que je ne vois pas le problème, sur Gentoo c'est déjà en 777 de toute façon.
Sur Gentoo d'ailleurs il faut bien copier le /dev (quand udev n'est pas démarré), sinon ça pose problème pour le boot !

Reply

Marsh Posté le 12-03-2010 à 17:56:57    

ah ok je comprends mieux
 
Bon faut que j'essaye, merci.


---------------
rm -rf internet/
Reply

Marsh Posté le 13-03-2010 à 09:27:20    

Kalymereau a écrit :


 
oui mais je suis suffisamment nul pour pas comprendre [:tinostar]
 
A mon avis ça va pas booter du tout non ? C"est pour ça que tu parles du grub install, mais je tape ça où ? Dans une console de Gparted live la commande n'est pas connue je pense.


 
le grub-install c'est pour restaurer le MBR de ton disque cible.
sinon ta distrib ne bootera pas.
 
le /tmp a 777 c'est au moment de l'ouverture
de ta session graphique.
car au moment de la copie/création initiale des répertoires
tu seras en droits root.


---------------
ma conduite intérieure .:R | memaster pilote officiel de la HFR Badoit-Auchan F1 Team | zéro tracas, zéro blabla MMa.ster
Reply

Marsh Posté le 13-03-2010 à 09:55:11    

memaster a écrit :


le /tmp a 777 c'est au moment de l'ouverture
de ta session graphique.
car au moment de la copie/création initiale des répertoires
tu seras en droits root.


 
Ah oui bien vu, pour copier j'avais oublié qu'il faut ajouter l'option "p" à tar, ou "a" à cp pour conserver les persmissions.

Reply

Marsh Posté le 13-03-2010 à 11:16:13    

Bonjour
 
Pour copier des distributions sur une autre partition ou un autre ordinateur j'utilise cp -a   à partir d'un livecd.
 
Pour booter sur ce nouvel environnement comme il n'y aura pa grub j'utilise un livecd grub (je m'en suis fait un en francais  http://megamaths.free.fr/cdgrub.iso c'est grub1)  par contre il faut taper soit même le texte
Une fois booté on réinstalle grub


Message édité par limax le 13-03-2010 à 11:18:31
Reply

Marsh Posté le 13-03-2010 à 11:58:04    

J'ai vérifié avec Gparted, sur le disque maître du PC à cloner, la partition principale /dev/sda1 en ext3, et deux petites partitions (cachées ?) /dev/sda3 et /dev/sda4 (7.8 Mo chacune) en système "unknown" (apparemment ce serait le boot loader et le EFI loader).
 
Donc je me demande si ce serait pas plus simple de copier bit à bit comme le proposait xytovl ? Du moment que je risque pas une fausse manip sur le 1er PC...
 
Sinon pour les solutions à base de cp comment je fais pour les deux partitions cachées ? Sachant que Gparted ne reconnaît pas leur système de fichiers.


---------------
rm -rf internet/
Reply

Marsh Posté le 13-03-2010 à 12:23:42    

Après avoir jeté un oeil sur la doc de dd
http://wiki.mandriva.com/fr/Copie_ [...] ts_avec_dd
je me dis que je vais essayer ça.
 
Ce qui m'emm.. c'est le transfert par ssh, est-ce que je peux l'éviter avec une image iso ? Du style, sur le PC1:
 

dd if=/dev/sda of=/cleusb/mondisque.iso


 
et ensuite, sur le PC2 (en Linux live):
 

dd if=/cleusb/mondisque.iso /dev/sda


 
C'est correct ?
 
EDIT: en fait la bonne syntaxe, avec compression, serait
http://guides-info.org/linux/admin/cloner.php
sur le PC1:

dd if=/dev/sda | gzip | dd of=/cleusb/mondisque.gz


puis sur le PC2:

gzip -dc /cleusb/mondisque.gz | dd of=/dev/sda


 
et pour copier le MBR, pareil mais en rajoutant count=1 bs=512 (mais faudra corriger la table de partitions) ou bs=446 (et faudra recréer la nouvelle table de partitions)


Message édité par Kalymereau le 13-03-2010 à 13:00:51

---------------
rm -rf internet/
Reply

Marsh Posté le 13-03-2010 à 13:15:54    

Je dirais que c'est correct, et dd if=/dev/sda... copie le MBR et la table de partitions dans la foulée, il n'y a rien à modifier ensuite.
 
Pour la partition marquée EFI (qui n'a rien d'EFI, c'est juste le type indiqué) il n'y a rien de particulier à écrire dedans, c'est le BIOS qui fait ça : si il trouve une partition de ce type, il essaie de lire ce qu'il y a dedans, si ça lui plaît il considère que c'est le résultat du boot précédent et reprend directement ça, sinon il boote normalement et écrit un état à recharger plus tard dans cette partition.
 
Avec dd, il faudra quand même modifier les partitions, gparted devrait le faire très facilement : soit créer une partition /home par exemple soit agrandir la / existante en ne faisant que déplacer les 2 inconnues.

Reply

Marsh Posté le 13-03-2010 à 13:50:12    

xytovl a écrit :

Je dirais que c'est correct, et dd if=/dev/sda... copie le MBR et la table de partitions dans la foulée, il n'y a rien à modifier ensuite.


Le lien plus haut semble dire qu'il faut le faire deux fois, une fois sans option et une fois avec bs et count:

Citation :


Sauver l'image exacte du premier DD et de son secteur de boot (MBR) avec :

dd if=/dev/hda of=/dev/hdb, puis
dd if=/dev/hda of=/dev/hdb bs=512 count=1

Ici hda = le premier DD du PC & hdb le 2nd DD.
Après quoi le DD 2 est la copie exacte (clone) du DD 1.


 :??:  
 

xytovl a écrit :


Pour la partition marquée EFI (qui n'a rien d'EFI, c'est juste le type indiqué) il n'y a rien de particulier à écrire dedans, c'est le BIOS qui fait ça : si il trouve une partition de ce type, il essaie de lire ce qu'il y a dedans, si ça lui plaît il considère que c'est le résultat du boot précédent et reprend directement ça, sinon il boote normalement et écrit un état à recharger plus tard dans cette partition.
 
Avec dd, il faudra quand même modifier les partitions, gparted devrait le faire très facilement : soit créer une partition /home par exemple soit agrandir la / existante en ne faisant que déplacer les 2 inconnues.


 
OK  :jap:  


---------------
rm -rf internet/
Reply

Marsh Posté le 13-03-2010 à 18:57:20    

Voyons voir ce que dit TFM... (man dd)
 
DESCRIPTION
       dd  copie  un  fichier  (par  défaut,  depuis l'entrée standard vers la sortie standard) en permettant de sélectionner la taille de bloc, et d'effectuer des conversions.
[...]
bs=nombre
              Lire et écrire le nombre indiqué d'octets en une fois.
[...]
count=nombre
              Copier  seulement le nombre indiqué de blocs (dont la taille est fournie par ibs), et non pas tout jusqu'à la fin du fichier.
 
En conclusion mettre bs= et count= lui dit de copier depuis le début pendant tant d'octets (bs * count). Ne riem mettre copie du début à la fin, le deuxième dd est donc totalement inutile !
 
Comme quoi il suffit souvent d'une petite page de man pour avoir la réponse :)

Reply

Marsh Posté le 21-03-2010 à 09:03:31    

Bon pour ceux qui ça intéresse, j'ai réussi la manip à base de dd, en utilisant un disque dur externe pour stocker l'archive.
 
Par contre je n'ai pas compris où se trouve le BIOS, parce que bien que j'aie cloné les deux petites partitions annexes sda3 et sda4 (dont une labellée BIOS), ça n'a pas cloné le BIOS (les versions du BIOS sont différentes sur les deux machines, et n'ont pas changé après le clonage). Mais bon ça c'est rien.
 
Un problème c'est que je n'ai pas réussi à mettre le dossier utilisateur de la nouvelle machine sur une partition séparée de celle du système. C'est dû au fait que le Xandros du EEE PC n'est pas standard et n'utilise pas /etc/fstab, à la place il fait une drôle de cuisine. Malgré pas mal d'infos qu'on trouve sur le wiki de eeeuser je n'ai pas réussi par exemple à mettre le système sur une partition /dev/sda1 et le dossier utilisateur sur une autre /dev/sda2. Du coup je n'ai gardé qu'une seule grosse partition. Je trouve pas ça très propre mais bon...


---------------
rm -rf internet/
Reply

Marsh Posté le 24-03-2010 à 21:33:40    

Pour info, le bios ne se copie pas. C'est un petit programme stocké sur ta carte mère.  
 

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed