Problèmes FDISK /CFDISK

Hello

Une question : je “m’entraine” à utiliser les commandes propres au partitionnement (c’est un point que je veux maitriser sur le bout des doigts, à terme). Notemment fdisk. Ce que je fais à l’aide d’une machine virtuelle sous virtualbox (pas mal, de base, pour se laisser pousser la barbe). Mais j’ai besoin d’en savoir un peu plus.


Premier problème, donc :

Actuellement, si je parviens sans problème à créer des partitions principales et à les redimensionner, il n’en va pas de même quand je m’attaque aux partitions étendues + logiques.

A chaque coup, ça merdouille. Ce que ce soit en modifiant une partition principal pour la recréer en étendue et en ajoutant une logique dedans, ou en créant directement une partition étendue + une logique.

En testant, j’ai pu voir que créer la partition étendue ne pose pas de problème. Par contre, dès que je créé une étendue logique, les soucis apparaissent.

Typiquement je me retrouve alors avec ce type de message :

root@debian-1:/home/christian# e2fsck /dev/sdb1
e2fsck 1.41.12 (17-May-2010)
e2fsck: Attempt to read block from filesystem resulted in short read lors de la tentative d’ouverture de /dev/sdb1
Peut-être cette partition est-elle de taille zéro ?

root@debian-1:/home/christian# fsck /dev/sdb
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
fsck.ext2: Superbloc invalide, tentons d’utiliser les blocs de sauvetage…
fsck.ext2: Bad magic number in super-block lors de la tentative d’ouverture de /dev/sdb

Le superbloc n’a pu être lu ou ne contient pas un système de fichiers
ext2 correct. Si le périphérique est valide et qu’il contient réellement
un système de fichiers ext2 (et non pas de type swap, ufs ou autre),
alors le superbloc est corrompu, et vous pourriez tenter d’exécuter
e2fsck avec un autre superbloc :
e2fsck -b 8193 <périphérique>

J’ai essayé, notamment, de retrouver un backup :

mke2fs -n /dev/sdb
(…)
Superblocs de secours stockés sur les blocs :
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Puis en testant :
e2fsck -b 1605632 /dev/sdb

mais ça ne fontionne jamais. Je n’obtiens que ce type de résultat :
e2fsck: Argument invalide lors de la tentative d’ouverture de /dev/sdb

Actuellement :

Disk /dev/sdb: 255 heads, 63 sectors, 1044 cylinders

Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID
1 00 1 1 0 254 63 1023 63 16771797 05
2 00 0 0 0 0 0 0 0 0 00
3 00 0 0 0 0 0 0 0 0 00
4 00 0 0 0 0 0 0 0 0 00
5 00 2 1 0 254 63 261 63 4208904 83

L’autre problème : j’ai cfdisk qui plante.

FATAL ERROR: Bad primary partition 1: Partition ends in the final partial cylinder

Du coup, j’ai vérifié ce qui est configuré sur ma principale du disque 1 :

Disk /dev/sda: 255 heads, 63 sectors, 1044 cylinders

Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID
1 80 32 33 0 147 41 42 2048 681984 83
Partition 1 does not end on cylinder boundary.
2 00 180 9 42 254 63 1023 686078 16089090 05
3 00 0 0 0 0 0 0 0 0 00
4 00 0 0 0 0 0 0 0 0 00
5 00 180 11 42 235 21 406 2 5851136 83
6 00 12 54 407 166 29 585 809 2869248 83
7 00 198 62 585 172 40 644 2048 946176 82
8 00 205 10 644 134 35 675 2048 493568 83
9 00 167 5 675 254 63 1023 2048 5920768 83

1023 cylindres sur 1044. Ca parait bonnard… sauf que peut-être que non, en fait. Si j’analyse correctement la situation, il faudrait que je sois seté à 1044 ? Là, tel quel, j’ai le sentiment que je vais devoir clasher la partition sda1 pour changer le cylindre de fin. Et ça veut dire aussi - je suppose - que je vais devoir ouvrir Grub pour reseter le boot sur le premier secteur de sda1 aussi, du coup. Ca vous parait cohérent ?

Et par hasard, sauriez-vous pourquoi je me retrouve avec ce résultat ?

Si je demande ça, c’est parce que je me suis laissé entendre que fdisk est pas mal mais qu’il pouvait bugguer, dès fois. Et vu les galères que j’ai avec sdb, je me dis qu’il serait de bon aloi que je fasse le test avec cfdisk.

Merci d’avance!

tu as utilisé fdisk pour créer une partition mais ensuite as-tu créé un système de fichiers ? il semble que non.
De même tu ne peux pas lancer un fsck sur /dev/sdb qui est la base même, le point de départ des partitions, ne contenant donc pas de système de fichiers.
Parted est un bon outil de partitionnement et il permet lui de créer partitions et systèmes de fichiers, contrairement à fdisk, qui est plus basique et moins perfectionné pour gérer finement les partitions, par exemple en alignant les secteurs suivant le cas.
Concernant cfdisk, il ne peut lire la table, probablement mal configurée.
Voir ce que peut lire parted
Voir aussi comment tu accèdes aux systèmes de fichiers dans ta virtualbox pour lancer les commandes.

Salut,

Je ne saurais trop t’encourager à utiliser fdisk plutôt que les autres (c’est mon option) mais il ne permet pas de redimensionner (jamais)

Rappel : 4 partitions principales dont une étendue (elle est quand même principale) qui contient les partitions logiques.
On ne doit jamais faire fsck sur une partition montée et elle doit bien entendue être formatée.
Ne pas oublier après l’avoir définie en place et taille de modifier son type qui par défaut n’est pas 83.

Pourquoi utiliser fdisk : Au moins l’on ne confond pas le partitionnement avec le formatage comme tout les débutants le font :slightly_smiling:

[quote=“ggoodluck47”]Salut,

Je ne saurais trop t’encourager à utiliser fdisk plutôt que les autres (c’est mon option) mais il ne permet pas de redimensionner (jamais)

Rappel : 4 partitions principales dont une étendue (elle est quand même principale) qui contient les partitions logiques.
On ne doit jamais faire fsck sur une partition montée et elle doit bien entendue être formatée.
Ne pas oublier après l’avoir définie en place et taille de modifier son type qui par défaut n’est pas 83.

Pourquoi utiliser fdisk : Au moins l’on ne confond pas le partitionnement avec le formatage comme tout les débutants le font :slightly_smiling:[/quote]

BAsiquement, c’est déjà ce que je fais (utiliser fdisk). Bien sûr, c’est utile de connaitre d’autrs outils. Et bien sûr, c’est bien aussi d’en connaitre les limitaitons.

En l’occurrence, je bosse partitions démontées. J’ai déjà vu un pro des DB vouloir faire un fsck sans avoir démonté sa partition… J’ai vu le résultat : MDR. Tu parles d’un merdier …

Bref, par contre quand tu dis qu’on ne peut pas modifier la taille, je ne te suis pas vraiment. Le principe est de faire un fdisk /dev/sdb, faire un delete, ce qui va supprimer la partition de la table des partition (mais sans killer les données présentes sur le disque), recréer la partition avec la taille qui t’intéresse (pour ça, il ne faut pas la formater). Après quoi, tu resize la taille du FS, à l’aide de la comande resize2fs, par exemple (ou tu rezise d’abord ton FS, si tu vas dans le sens d’une diminution de la partition, sinon apamarche, ça c’est sûr). Ca fonctionne très bien (en tout cas dans le cas d’une partition principale). Je l’ai déjà fait dans les deux sens sans aucune galère.

Sinon, effectivement, le grand débutant que je suis n’avait pas formaté son FS… je viens de faire un mke2fs. LOL. Effectivement si je lance un check du FS (fsck évidemment) sur une partition non formatée, je ne vais pas aller bien loin. Merci pour la remarque. Un dumpe2fs me renvoie des informations sur la partition, à présent.

Je vais réessayer de resizer comme j’ai fait avec les partitions principale, mais en me positionnant sur /dev/sdb5, cette fois (PS. Oui, je sais déjà comment fonctionnent les partitions. 4 partitions principales ou 3 + 1 étendue + les partitions logiques dans l’étendue, de 5 à +). Comme je ne fais que des tests, je n’ai pas fait de montage.

je vous dirai ce qu’il en est.

Je verrai un peu plus tard comment faire pour corriger le souci sur /dev/sda1. Je crois qu’il faudra que je boot sur un rescue CD ou autre sur le même disque pour pouvoir agir.

:slightly_smiling:

Sinon sfdisk ? Ca a l’air puissant, aussi, mais pas très ergonomique, non ?

Ok déjà, bonne chose, étant donné votre réponse précédente, je viens de piger la raison d’un message que j’avais jusqu’ici :

root@debian-1:/home/christian# e2fsck /dev/sdb1
e2fsck 1.41.12 (17-May-2010)
e2fsck: Attempt to read block from filesystem resulted in short read lors de la tentative d’ouverture de /dev/sdb1
Peut-être cette partition est-elle de taille zéro ?
root@debian-1:/home/christian#

Du coup, j’ai fait un mount -t ext2 /dev/sdb5 /part5. J’ai écris dans le FS un fichier “toto” avec un peu de merde dedans. j’ai démonté le tout et relancé la commande : et là, j’ai un résultat propre.

je n’avais rien dedant, tout simplement … :confused:

Pour killer la partition /dev/sdb5 : on lance fdisk /dev/sdb (finalement, il faut bien se positionner sur la racine).
D’abord, résultat avant action :

Device Boot Start End Blocks Id System
/dev/sdb1 1 1044 8385898+ 5 Extended
/dev/sdb5 1 262 2104452 83 Linux

Puis, on lance son fdisk puis on delete la logique qui nous interesse, puis on “écrit” :

Command (m for help): d
Partition number (1-5): 5

Command (m for help): w

Le résultat :
Device Boot Start End Blocks Id System
/dev/sdb1 1 1044 8385898+ 5 Extended

On recréé une partition logique (bien sur, la partition étendue existe déjà…), en indiquant la nouvelle taille :

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (1-1044, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +5G

Command (m for help): w

Le résultat :
Device Boot Start End Blocks Id System
/dev/sdb1 1 1044 8385898+ 5 Extended
/dev/sdb5 1 654 5253192 83 Linux

On lance un e2fsck -f (obligatoire… De toute façon, le système refuse de faire un resize2fs, sans cela) :

root@debian-1:/# e2fsck -f /dev/sdb5
e2fsck 1.41.12 (17-May-2010)
(…)
/dev/sdb5Â : 12/131648 fichiers (0.0% non contigus), 9049/526113 blocs
root@debian-1:/#

On resize la taille du FS (sans indication de taille, le resize “retaille” directement le FS selon la taille de la partition… Ce qui n’est pas obligatoire si on ne le souhaite pas, donc) :

root@debian-1:/# resize2fs /dev/sdb5
resize2fs 1.41.12 (17-May-2010)
En train de retailler le système de fichiers sur /dev/sdb5 à 1313298 (4k) blocs.
Le système de fichiers /dev/sdb5 a maintenant une taille de 1313298 blocs.

On lance un mount -a et on vérifie le résultat :
root@debian-1:/# cd /part5
root@debian-1:/part5# ls
lost+found toto

Mon fichier est bien là. Ma partition est bien montée :wink:.

Pour preuve, je lance un df -h :
/dev/sdb5 5,0G 4,1M 4,7G 1% /part5

Eh hop! :wink:

Et bien sûr, il faut restarter pour que tout ça soit proprement pris en compte.

Re,

Ceci n’est pas ce qu’entende les gens par rédimensionner où sans détruire les données on allonge ou raccourcit la partition, charge au logiciel de déplacer les données en conséquence :slightly_smiling:

Re,

[quote]
Et bien sûr, il faut restarter pour que tout ça soit proprement pris en compte.[/quote]

Non, il y a une commande propre à Linux qui permet de prendre en compte ce type de changement qui ne concerne pas les partitions dos/windows. J’ai oublié son nom :blush:

[quote=“ggoodluck47”]Re,

[quote]
Et bien sûr, il faut restarter pour que tout ça soit proprement pris en compte.[/quote]

Non, il y a une commande propre à Linux qui permet de prendre en compte ce type de changement qui ne concerne pas les partitions dos/windows. J’ai oublié son nom :blush:[/quote]
partprobe par exemple (de parted) mais inutile si seulement le fs a été modifié.

[quote=“ggoodluck47”]Re,

Ceci n’est pas ce qu’entende les gens par rédimensionner où sans détruire les données on allonge ou raccourcit la partition, charge au logiciel de déplacer les données en conséquence :slightly_smiling:[/quote]

Je n’ai pas compris ta réponse. Dsl. Qu’est ce que tu veux dire ?

Sinon, oui, y a partprobe, en effet. Je ne l’ai pas essayé, pour l’instant.

Dans le premier cas tu demolis pour reconstruire, dans le second tu modifies sans rien casser. (du moins tu espères)

[quote=“ggoodluck47”][quote]
Ceci n’est pas ce qu’entende les gens par rédimensionner où sans détruire les données on allonge ou raccourcit la partition, charge au logiciel de déplacer les données en conséquence :slightly_smiling:

[/quote]

Dans le premier cas tu demolis pour reconstruire, dans le second tu modifies sans rien casser. (du moins tu espères)[/quote]

Je ne démolie pas : je détruis l’entrée dans la table de partition pour la recréer avec une taille différente, ce qui revient à recréer la table avec des valeurs différentes, simplement. Et quand tu dis que je modifie… eh bien, j’accroie la taille du FS pour qu’elle corresponde à la taille de la partition. C’est une méthode assez éprouvée, si j’en crois tout ce que j’ai pu lire sur le sujet. Note que je ne cherche pas spécifiquement à avoir raison : simplement je ne vois pas le souci. De plus, un resize2fs est fait justement pour ça. Le tout est de bien maitriser le sujet… même si j’admets volontier que d’autres outils plus évolués sont plus adaptés aux actions en question. Mais comme je disais, l’idée est d’apprendre à manipuler la table, les partitions et les FS. Dès lors que je fais ça chez moi et que j’améliore mes connaissances, ça me parait relativement sain (et d’ailleurs, j’ai pu aprendre pas mal de petites choses utiles, du coup). En revanche, en prod, je ne le ferai pas à l’arrache, ça c’est sûr et certain.

Enfin, quoique dans ma boite, ils sont abonnés à la méthode “la rache”, si tu vois ce que je veux dire …

En tout cas, sincèrement, merci pour tes conseils. Ils sont les bienvenus.