Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 big_smile

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) lol
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 ! lol
ça marche aussi avec d'autres partitions: /home par ex cool

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 ! smile
par contre ça serait plutot dans la methode pour geek ! big_smile
ah la ligne de commande ... wink

cela dit, tu monterais en read only pour le cp -a ?
ou plutot pour redemarrer et verifier ? smile

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 ! smile
sur toutes mes tentatives avec systeme courant et partitions montees ce sont soldees par un echec , manquait des choses hmm
mais y avait pas le -fra, faudra que j'essaye ça une autre fois ! lol
cela dit l'as tu deja fait ou c'est theorique ? big_smile
pour le device.map je ne vois pas quel changement ?

(hd0)    /dev/hda
(hd1)    /dev/hdb

rien a bougé ! yikes

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.




Lootux a écrit :

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 big_smile

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) lol
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 ! lol
ça marche aussi avec d'autres partitions: /home par ex cool

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