Pages : 1
#1 Le 21/10/2005, à 21:06
- Lootux
Deplacer une partition racine
si vous avez une partition racine a deplacer d'un disque a un autre ou d'une partition a une autre : en voici une methode
methode simple
se procurer un livecd genre "pclinuxos", un livecd bien pratique pour l'administration
une fois connecte en root lancer le 'pclinuxos control center' puis choisir "points de montage"
monter la partition source puis la partition cible en graphique c'est easy (clic + mount)
lancer une console root
faire un
cp -a [source] [cible]
si on imagine la source /mnt/hdb6 et la cible /mnt/hda2, ce qui donne
cp -a /mnt/hdb6 /mnt/hda2
quand c'est fini (ça peut etre long !) aller sur /mnt/hda2/boot/grub et ouvrir d'un clic droit dans un editeur genre "kedit" le fichier menu.lst
le modifier comme suit :
chercher la section :
## ## Start Default Options ##
## default kernel options## default kernel options for automagic boot options
## If you want special options for specifiv kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
# kopt=root=/dev/hda5 ro
ici modifier la ligne
# kopt=root=/dev/hda5 ro
en remplaçant par l'emplacement de votre cible
ici :
# kopt=root=/dev/hda2 ro
ainsi que
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,4)
ici modifier la ligne
# groot=(hd0,4)
a remplacer par
# groot=(hd0,1)
(hd0,1 correspond a hda2)
ce qui evitera lors d'une mise a jour automatique du genre
update-grub
de revenir a l'ancienne position et d'avoir du mal a redemarrer, maintenant modifier le menu chercher les sections concernées comme :
title Ubuntu, kernel 2.6.12-9-386
root (hd0,4)
kernel /boot/vmlinuz-2.6.12-9-386 root=/dev/hda5 ro quiet splash
initrd /boot/initrd.img-2.6.12-9-386
savedefault
boot
pui remplacer par les bonnes partitions
title Ubuntu, kernel 2.6.12-9-386
root (hd0,1)
kernel /boot/vmlinuz-2.6.12-9-386 root=/dev/hda2 ro quiet splash
initrd /boot/initrd.img-2.6.12-9-386
savedefault
boot
puis enregistrer le fichier .
maintenant le fstab qui contient les emplacements et options des partitions a monter au demarrage
ce fichier se trouve dans /etc ouvrir d'un clic droit dans un editeur genre "kedit" le fichier fstab
modifier la ligne
/dev/hda5 / ext3 defaults,errors=remount-ro 0 1
avec
/dev/hda2 / ext3 defaults,errors=remount-ro 0 1
enregistrer et il n'y a plus qu'a redemarrer, bon d'accord, fastidieux mais efficcace !
ça marche aussi avec d'autres partitions: /home par ex
Hors ligne
#2 Le 21/10/2005, à 21:33
- cep
Re : Deplacer une partition racine
Ok, mais il est préférable, au minimum, de monter en lecture seulement la partition cible.
Donc, si elle est déjà montée :
mount -n -o remount,ro /dev/hdxn
pour éviter un accès aux fichiers et une modification pendant la copie
Hors ligne
#3 Le 22/10/2005, à 04:39
- Lootux
Re : Deplacer une partition racine
tout a fait d'accord !
par contre ça serait plutot dans la methode pour geek !
ah la ligne de commande ...
cela dit, tu monterais en read only pour le cp -a ?
ou plutot pour redemarrer et verifier ?
Hors ligne
#4 Le 22/10/2005, à 07:25
- cep
Re : Deplacer une partition racine
Pour la copie.
Pour redemarrer, peu importe.
Par contre, puisque tu es dans grub, tu pourrais ajouter une ligne pour modifier device.map s'il y a changement de disque, puisque les map ne seraient plus bonnes.
Hors ligne
#5 Le 25/10/2005, à 14:03
- SlrWebDesign
Re : Deplacer une partition racine
Cela ce fait aussi très bien sous le systéme courant.
sudo cp /bin /boot /dev /etc /inird /lib /opt /root /sbin /sys /tmp /usr /var [Cible] -fra
Il faut ensuite recréer les home media mnt , et modifier le nouveau fichier /etc/fstab.Et réinstaller Grub par la meme méthode.
Ceci évite d'utiliser un live-cd.
Dernière modification par SlrWebDesign (Le 25/10/2005, à 14:08)
Hors ligne
#6 Le 25/10/2005, à 17:58
- Lootux
Re : Deplacer une partition racine
c'est le -fra qui fait toute la difference !
sur toutes mes tentatives avec systeme courant et partitions montees ce sont soldees par un echec , manquait des choses
mais y avait pas le -fra, faudra que j'essaye ça une autre fois !
cela dit l'as tu deja fait ou c'est theorique ?
pour le device.map je ne vois pas quel changement ?
(hd0) /dev/hda
(hd1) /dev/hdb
rien a bougé !
Hors ligne
#7 Le 25/10/2005, à 18:09
- cep
Re : Deplacer une partition racine
Pour device.map rien n'a changé dans ton cas puisque les disques éaient présents à l'installation.
Par contre, si l'on ajoute un disque, et si le transferre des partitions /boot et /racine se font sur ce nouveau disque, il est préférable de renseigner aussi device.map
Pour la copie de partitions, tu as bien raison de conseiller l'utilisation d'un live cd.
(Copie de /tmp et compagnie entre autre, mais pas seulement.)
S'il s'agit de copier uniquement la /home on peut la remonter en lecture seulement, ou autre procédé.
Cordialement,
cep
p.s l'option -fra ne change rien à la chose (man cp)
Dernière modification par cep (Le 25/10/2005, à 18:10)
Hors ligne
#8 Le 25/10/2005, à 21:55
- Lootux
Re : Deplacer une partition racine
pour un nouveau disque ok !:D
dans le "-fra" y a "-f" le "force" mais dans le cas ou les fichiers sont ouverts pendant la copie les fichiers ouverts ne sont pas copies, exact ?;)
Hors ligne
#9 Le 25/10/2005, à 22:26
- cep
Re : Deplacer une partition racine
cp -fra ?
je ne vois pas trop ce que vient faire ici cette option -f (Effacer les fichiers cibles existants.)
Déplacer une partition vers une cible, en principe la cible est vide. Donc pourquoi ajouter -f ?
L'option importante est -a (--archive) qui correspond à dRp.
Extrain de man cp :
-d = Copier les liens symboliques en tant que tels plutôt que de copier les fichiers vers lesquels ils pointent. Préserver également les liens matériels entre les fichiers sources durant la copie.
-R = Copier récursivement les répertoires, et gérer correctement les copies des fichiers
spéciaux ou des FIFOs.
-p = Conserver le propriétaire, le groupe, les permissions d'accès et les horodatages du fichier original.
Le problème des fichiers ouverts et accédés pendant leur copie, c'est la modification des données pendant la copie. Sans rentrer dans le détail du journal.
Hors ligne
#10 Le 26/10/2005, à 08:56
- SlrWebDesign
Re : Deplacer une partition racine
Oui, j'ai déja testé, je sauvegarde mon systéme régulièrement de la même manière (d'ou le f) . Ca marche.
Hors ligne
#11 Le 30/10/2005, à 06:33
- Lootux
Re : Deplacer une partition racine
dans quel contexte es tu ?
logue en graphique ?
ou plutot apres un init3 ?
Hors ligne
#12 Le 13/07/2008, à 17:38
- roger64
Re : Deplacer une partition racine
Bonjour,
Je voulais savoir si la méthode décrite ci-dessous en 2005 pour copier une partition racine sur un autre emplacement du disque est toujours bonne. je comprends qu'il faudra rajouter les uuid dans les entrées de grub et dans le /etc/fstab.
si vous avez une partition racine a deplacer d'un disque a un autre ou d'une partition a une autre : en voici une methode
methode simple
se procurer un livecd genre "pclinuxos", un livecd bien pratique pour l'administration
une fois connecte en root lancer le 'pclinuxos control center' puis choisir "points de montage"
monter la partition source puis la partition cible en graphique c'est easy (clic + mount)
lancer une console rootfaire un
cp -a [source] [cible]
si on imagine la source /mnt/hdb6 et la cible /mnt/hda2, ce qui donne
cp -a /mnt/hdb6 /mnt/hda2
quand c'est fini (ça peut etre long !) aller sur /mnt/hda2/boot/grub et ouvrir d'un clic droit dans un editeur genre "kedit" le fichier menu.lst
le modifier comme suit :
chercher la section :## ## Start Default Options ##
## default kernel options## default kernel options for automagic boot options
## If you want special options for specifiv kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
# kopt=root=/dev/hda5 roici modifier la ligne
# kopt=root=/dev/hda5 ro
en remplaçant par l'emplacement de votre cible
ici :# kopt=root=/dev/hda2 ro
ainsi que
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,4)ici modifier la ligne
# groot=(hd0,4)
a remplacer par
# groot=(hd0,1)
(hd0,1 correspond a hda2)
ce qui evitera lors d'une mise a jour automatique du genreupdate-grub
de revenir a l'ancienne position et d'avoir du mal a redemarrer, maintenant modifier le menu chercher les sections concernées comme :
title Ubuntu, kernel 2.6.12-9-386
root (hd0,4)
kernel /boot/vmlinuz-2.6.12-9-386 root=/dev/hda5 ro quiet splash
initrd /boot/initrd.img-2.6.12-9-386
savedefault
bootpui remplacer par les bonnes partitions
title Ubuntu, kernel 2.6.12-9-386
root (hd0,1)
kernel /boot/vmlinuz-2.6.12-9-386 root=/dev/hda2 ro quiet splash
initrd /boot/initrd.img-2.6.12-9-386
savedefault
bootpuis enregistrer le fichier .
maintenant le fstab qui contient les emplacements et options des partitions a monter au demarrage
ce fichier se trouve dans /etc ouvrir d'un clic droit dans un editeur genre "kedit" le fichier fstab
modifier la ligne/dev/hda5 / ext3 defaults,errors=remount-ro 0 1
avec
/dev/hda2 / ext3 defaults,errors=remount-ro 0 1
enregistrer et il n'y a plus qu'a redemarrer, bon d'accord, fastidieux mais efficcace !
ça marche aussi avec d'autres partitions: /home par ex
Dernière modification par roger64 (Le 13/07/2008, à 17:39)
Hors ligne
#13 Le 14/09/2008, à 23:20
- ppLINUXIEN
Re : Deplacer une partition racine
merci pour toutes ces explications, chez moi cela ne fonctionne pas correctement. La séquence de boot arrive toujours vers la partition d'origine, qui tourne bien heureusement car je ne l'ai pas modifiée.
voici ce que j'ai fait:
- utilisation du live cd de gparted pour copier ma partition hda8 (sda8 pour ubuntu) vers la partition hda1 (sda1 pour ubuntu). Au passage je ne comprends pas pourquoi Ubuntu nomme les partitions sdax au lieu de hdax.
La partition ainsi copiée est une partition où Ubuntu est installé. En copiant ainsi cette partition dans une partition plus grande et en tête de disque, que je vais ensuite étendre en supprimant des partitions intermédiaires, je gagnerai de la place pour les données des utilisateurs.
résultat : 20 mn pour déplacer environ 15 Go avec Gparted qui au passage est assez bleuffant. Mais étrangement au finale il semble que le volume de données copié soit supérieur au volume d'origine. En effet après un reformattage sans redimensionnement de la partition d'arrivée, des données étaient toujours présentes. C'est la seule méthode qui fonctionne car en essayant la méthode du copier la partionhda8 sur la partition hda1 avec la commande cp, mon vieux pc me renvoie un problème d'entrée sortie.
ensuite :
- modif du drapeau pour que ça boot sur hda1.
- correction du menu.lst pour qu'il corresponde à hda1, mais je ne suis pas certain que cela marche car l'UUID est maintenant utilisé et c'est plutot imbit...pour un new
- correction du fstab dans etc pour que la racine se monte bien ainsi que la swap.
et malgré tout ces efforts, (qui se remarquent car je vois bien que le menu de grub qui s'affiche est bien celui de ma partoche hda1 car je l'ai purgé des entrée inutiles), ubuntu se lance, et après un mount, je constate que c'est sda8 qui est monté en racine au lieu de sda1 ....:(:(:/
J'ai seulement quelques interrogation au sujet des # dans le menu.lst
ne faut-il pas l'enlever carrément quand on effectue une correction ?
et l'UUID est-il possible de le remplacer par /dev/hda1 ?
bref si quelqu'un ou quelqu'une sait pourquoi il y a un pb je suis preneur de toute explication.
merci d'avance