Déplacer des partitions

Bonjour.

Je veux déplacer des partitions après avoir effacer w$ et ubuntu.
Actuellement, j’ai:
Une partition non allouée de 33.95 Gio
Puis une partition étendue (sda4) avec dedans: Une premiere partition non allouée de 18,85 Gio, puis /debian de 9,08 Gio (sda7), puis la swap de 2,80 Gio (sda6), ensuite /home 47,10 Gio (sda5) puis un petit bout non alloué de 2,49 Gio.

J’aimerai déplacer la partition debian en début de disque et l’agrandir d’une disaine de Gio, y faire suivre la swap et le home qui s’agrandirait avec ce qu’il reste.

Avec Gparted en live (boot-repair-disk), j’ai l’impression de ne pouvoir déplacer ma partion /debian qu’en début de la partion étendue. Est-ce que je peux supprimer la partion étendue sans bousiller ce qu’il ya dedans? Et sinon comment faire? :slightly_smiling:

Squeeze
Linux debian-laptop 2.6.32-5-686 #1 SMP Mon Feb 25 01:04:36 UTC 2013 i686 GNU/Linux

$ df -h

Sys. de fichiers Taille Uti. Disp. Uti% Monté sur /dev/sda7 9,0G 6,2G 2,4G 73% / tmpfs 1,5G 0 1,5G 0% /lib/init/rw udev 1,5G 216K 1,5G 1% /dev tmpfs 1,5G 784K 1,5G 1% /dev/shm /dev/sda5 47G 33G 12G 75% /home

fdisk -l

[code]Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa439abd8

Device Boot Start End Blocks Id System
/dev/sda4 4433 14593 81617889+ 5 Extended
/dev/sda5 8445 14593 49391842+ 83 Linux
/dev/sda6 8079 8444 2939832 82 Linux swap / Solaris
/dev/sda7 6894 8078 9518481 83 Linux

Partition table entries are not in disk order

Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xaa18166b

Device Boot Start End Blocks Id System
/dev/sdb1 1 19457 156288321 5 Extended
/dev/sdb5 * 1 19457 156288289+ b W95 FAT32[/code]

Ça ne doit pas être possible, il va falloir copier cette partition “à la main” avant de la supprimer.

  • avec dd
  • avec clonezilla
  • autre solution…

Si je comprends bien ton explication, tu peux agrandir ta '/'debain avec la partition non allouée de 18.85 Gio.
pour le reste, modifier primaire et étendue, c’est toujours “à risque”.

Toujours si je comprends bien le schéma, de la partition primaire libre, tu peux créer une partition partielle et la déclarer en secondaire, en espérant qu’elle passe en début d’étendue", ce qui te donne encore plus de possibilités concernant la '/'debian.

Arg!

Merci, Thuban et ricardo pour cette réponse rapide.

@thuban: C’est à cause de la partition étendue?

[quote]- avec dd

  • avec clonezilla
  • autre solution…[/quote]Je ne connais pas. Je vais regarder ça.

@ricardo: Ben ce que je voulais, c’est justement sortir de l’étendue, dont je n’ai plus besoin, Debian étant le seul système que je veux garder. Et récupérer tout l’espace libre disponible.

Le 2ieme message je comprends pas très bien. (Faut que j’aille vite, à chaque fois que je veux envoyer une réponse, un autre message arrive) :smiley:

Pour que ce soit plus clair et qu’on puisse te guider, il faudrait que tu fasses un tableau avec
label de chaque partition dans la 1ère colonne (sda1,sda2, etc )
son état dans la seconde (primaire, étendue, logique)
sa capacité dans la 3ème (N Gio)
sa destination dans la 4ème (libre,’/’,swap, /home, etc.)
En pensant que tout soit dans le même système de fichier (ext3, ext4, FAT,etc.)

Tel Gparted. Où ( ) est une partition et [ ] une partiotion étendue. Il n’y a plus de partition principale.

(non alloué 33.95 Gio) [ (non allouée 18.85 Gio) (/dev/sda7 ext3 /debian 9.08 Gio) (/dev/sda6 linux-swap 2.80 Gio) (sda5 ext3 /home 47.10) ] (non alloué 2.49 Mio).

C’est pas mal comme ça?

Salut,

AMHA il serait beaucoup plus simple de sauvegarder tes données et d’installer (sous LVM2) Debian 7.0 :slightly_smiling:

Je te propose le schéma suivant :
1/ Dans le ‘libre’ de la primaire, créer deux partitions :
une pour la swap et une pour la '/'
de la dimension voulue (toujours prévoir large)

2/ en montant les partitions en question sur un ‘live’ :
copier la ‘/’ sur la primaire
copier (ou seulement déclarer) la swap sur la primaire aussi

3/ supprimer les partitions ‘/’ et ‘swap’ de l’étendue

Tu devrais te retrouver avec :
primaire : ‘/’ et swap
étendue : /home

Une sauvegarde de la ‘/’ originelle souhaitée , bien entendu.

Salut,

Je rajouterais, en complément de ricardo que si tu veux ton home sur une primaire aussi, tu peux le copier avec Clonezilla, par exemple, sur un DD externe. Puis tu supprimes de ton DD tout excepté / et la swap. Tu crées une nouvelle partition primaire suffisamment grande et tu y recopies ton home.

Ne pas oublier de sauvegarder avant toute chose.

@ggoodluck47: AMHA ? Réinstaller? Et tous mes programes?

@ricardo: Ok je vais voir ça. ça me parrait pas mal. ==> hors sujet: (Joli établi) “Laissez-nous (rendez) nos platane, si on les a mis, c’est pour, que l’on y rentre dedans” Nounours.

@Green : Bonjour et merci, je vais regarder ça aussi.

Re,

Combien faut-il de temps pour réinstaller un programme ?
A la rigueur une sauvegarde de /etc pour retrouver les paramètres qui ne sont pas dans ton home !

Bien sûr je ne parle que de programmes libres et contenus dans les dépôts :wink:

@ggoodluck47:

Oui et ceux installés par ppa ou paquets deb…
…Et puis je découvre clonezilla.
@MicP : le deuxieme disque est un disque de données uniquement que je ne touche pas.

Bon j’ai créé une partion primaire au début, utilisé Clonezilla pour copié la partition /debian… Et j’ai redémarré dessus apparemment. :041

J’arrête là pour aujourd’hui. Si je clone la swap, il l’utilisera directement ou il faudra que je lui indique la nouvelle?

Merci a tous et je reviens faire le reste j’espère demain.

Pour la swap, il faut que tu la déclare dans /etc/fstab à sa nouvelle position.

Je ne sais pas avec (g)parted, mais c’est faisable avec sfdisk en ligne de commande. Attention, c’est un outil puissant mais dangereux, toute erreur peut conduire à la perte de données. Le principe : créer une nouvelle table de partition avec deux partitions principales qui ont exactement les mêmes positions et tailles que les partitions logiques à conserver. Ensuite on peut éventuellement employer des outils plus conviviaux comme (g)parted pour déplacer et redimensionner les partitions, en créer de nouvelles…

Mais une bête copie brute avec dd dans de nouvelles partitions est plus simple et plus sûr, et pas forcément plus long compte tenu du temps passé à définir ce qu’il faut faire avec sfdisk.

Si le swap est identifié dans fstab par son UUID et non par son nom de partition, alors s’il a été cloné il n’y aurait rien de plus à faire. S’il a été recréé avec un nouvel UUID, alors il faudra modifier l’UUID dans fstab.

Si tu supprime la partition étendue, tu supprime le point d’entrée des partitions qu’elle contient. (voir mbr ebr)

Salut,

Si tu supprime la partition étendue, tu supprime le point d’entrée des partitions qu’elle contient. (voir mbr ebr)[/quote]

Tu devrais lire la recette de Pascal :slightly_smiling:

Techniquement, MicP n’a pas tort. Ma “recette” ne fait pas que supprimer la partition étendue, elle recrée aussi des partitions principales (points d’entrée dans le MBR) ayant exactement les mêmes positions (au secteur près, c’est important) que les partitions logiques qui ont inévitablement été supprimées en même temps que la partition étendue.

Salut,

Tu signales d’ailleurs que ta méthode n’est pas sans risque, comme tout ce qui touche aux partitions. C’est pourquoi je préconisait une sauvegarde et de passer le tout sous LVM où nous n’avons plus ces soucis là.
Et depuis le temps qu’il cherche tout serait opérationnel.

Après un “boot” depuis une “Debian Live”(iso < 700Mo), “Parted Magic” (iso <350Mo), “gparted-live” (iso < 150Mo):

1°/ Libérer de l’espace disque:
Supprimer la partition (si elle existe) non allouée de 33.95 Gio.
Supprimer la partition (si elle existe) non allouée de 18.85 Gio.
=> A ce stade, aucune partition de type primaire ("/dev/sda1" “/dev/sda2” “/dev/sda3”) ne devrait exister sur ce disque.

2°/ Déplacement de la partition racine “debian” par copie/suppression:
Copier la partition “/dev/sda7” (/ debian 9.08 Gio ) au début du disque.
Supprimer “/dev/sda7” (9.08 Gio Racine “debian” original avant copie).
=> La nouvelle partition cible de la copie sera nommée “/dev/sda1” lors de sa création.

3°/ Donner plus d’espace disque à cette partition racine “debian”:
Agrandir cette Nouvelle partition de 10 Gio en plus.
=> La partition primaire “/dev/sda1” occupera donc un espace disque d’environ 20 Gio en début de disque.

4°/ Recréer une nouvelle partition de type “swap”:
=> Recréer la partition de “swap” sera bien plus rapide que de la copier.
Créer une partition de type “swap” de 2.49 Gio juste après “/dev/sda1”.
Récupérer le N° UUID de la partition de swap “/dev/sda6” de 2.80 Gio.
Supprimer la partition de swap “/dev/sda6” de 2.80 Gio.
Changer l’UUID de cette nouvelle partition de type “swap” par celui dont on aura pris note.
=> Cette nouvelle partition sera nommée “/dev/sda2” lors de sa création.

5°/ Libérer de l’espace disque :
Réduire au minimum l’espace occupé par la partition étendue sur le disque (par la droite et par la gauche).
=> Après réduction, l’espace occupé par la partition étendue sur le disque devrait être d’environ 47.2 Gio, physiquement situé en fin de disque.

6°/ Déplacement de la partition “/home” par copie/suppression:
Copier la partition “/dev/sda5” (47.10 Gio “/home”) juste après la partition de de type “swap”.
=> la nouvelle partition (de type “primaire”) sera nommée “/dev/sda3” lors de sa création par copie.
Supprimer la partition “/dev/sda5” (47.10 Gio “/home” original avant copie).

7°/ Libérer de l’espace disque :
La partition étendue ("/dev/sda4") ne contenant désormais plus aucune partitions,
elle peut donc être supprimée ou agrandie pour occuper tout l’espace libre disponible sur le disque, prête à héberger les nouvelles partitions logiques qui seront crées.

8°/ Donner plus d’espace disque à la partition “/home”:
L’agrandissement de la partition “/home” peut utiliser tout l’espace disque restant.

9°/ En option (au cas où…) Remettre la table des partitions dans l’ordre:

sudo fdisk /dev/sdapuis utiliser les commandes suivantes:
x fonctions avancées (pour experts seulement)
f corriger l’ordre des partitions
w écrire la table sur le disque et quitter

Je “plussoie” à fond la solution proposée par goodluck47 : LVM est très facile à apprendre (et très bien documenté), et tellement plus souple à l’usage.,

========================================================
Pourquoi est-ce que je préfère utiliser ce “clickodrome” pour ce genre d’opération :
Gparted vérifie l’état d’un système de fichier avant et après chaque opération, il a l’amabilité de nous prévenir en cas d’incohérence, erreur de saisie, avant écrasement d’une partition etc…
Les opérations de déplacement/copies peuvent paraître très lentes, mais “gparted” nous fait le plaisir de calculer automatiquement la taille des blocs optimale pour que cette copie puisse se faire le plus rapidement possible.
Sans compter le temps qu’il aurait fallu passer à faire les calculs, puis les vérifier, et les re-vérifier pour être certain de ne pas avoir fait une erreur lecture, d’interprétation, d’écriture, de calcul, de saisie, etc…
L’erreur est humaine, et je suis quelqu’un de vraiment très très humain, (enfin je crois…), mais je suis surtout un énorme fainéant de naissance (un don de la nature peut-être ou alors une adaptation…).