Problème partition /home après ré-install

Bonjour à tous,

J’ai dû ré-install debian 12 qui ne fonctionnait plus sur mon PC (pb de « kernel panic - not syncing : attempted to kill inint »). J’avais une partition /home séparée que j’ai laissée inerte lors de l’étape de formatage des partitions de l’install debian, j’ai simplement reformatté la racine et le swap dans les espaces qui étaient auparavant les leurs, du moins c’est ce que je pensais… (j’ai pas mal cherché comment procéder dans ce cas spécifique avec /home séparé, j’ai eu bcp de mal à trouver qqch de clair, j’ai donc fini par me lancer comme je pensais, mais je suis malheureusement bien loin d’être un utilisateur expert…). La nouvelle distro fcontionne toutefois, c’est déjà ça.

Cependant j’ai dû rater qqch puisque j’obtiens après un fdisk -l :

/dev/sda1    *            2048   58593279   58591232  27,9G 83 Linux
/dev/sda2             58595326 1953523711 1894928386 903,6G  5 Étendue
/dev/sda5             58595328   60594175    1998848   976M 82 partition d'échange Linux / Solaris
/dev/sda6             60596224 1953523711 1892927488 902,6G 83 Linux

La partition où a été installé linux est bien sûr /dev/sda1 et mon ancien /home est dans /dev/sda6 qui se trouve dans la partition étendue /dev/sda2 avec le swap (aucune idée pourquoi ça s’est passé ainsi)…

J’ai le message « La partition 2 ne commence pas sur une frontière de cylindre physique. »
Et impossible de monter la partition, par exemple un « mount /dev/sda6 /mnt » qui me renvoit un « superblock erroné ». J’ai aussi tenté les solutions proposées par fsck /dev/sda6 mais sans succés…

Y-a-t il un espoir pour cette partition ? Merci d’avance pour votre aide.

Bonjour,

Comment as-tu réalisé ton partitionnement?
Quand tu a démarré et ouvert ta session, que te donne le résultat dela commande mount et lsblk -f

Salut, merci pour ton message.

Pour ce qui est du partitionnement il a été fait lors de l’étape de l’install. Les 4 partitions existaient déjà de l’install précédante : un / un swap et un /home (plus une autre dont je ne me souviens plus à quoi elle correspondait). Pendant l’install j’ai spécifié de réutiliser / et swap et laisser /home sans y toucher.

Voilà le résultat de mount:

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=8087860k,nr_inodes=2021965,mode=755,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1626804k,mode=755,inode64)
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12221)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
ramfs on /run/credentials/systemd-sysusers.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
ramfs on /run/credentials/systemd-sysctl.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
ramfs on /run/credentials/systemd-tmpfiles-setup-dev.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
ramfs on /run/credentials/systemd-tmpfiles-setup.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1626800k,nr_inodes=406700,mode=700,uid=1000,gid=1000,inode64)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
/dev/sdb1 on /media/test/MUSIQUE type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

Et celui de lsblk -f:

NAME   FSTYPE FSVER LABEL   UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                             
├─sda1 ext4   1.0           07894e7a-61fa-4e98-a007-6cd5c45db7c2   19,1G    25% /
├─sda2                                                                          
├─sda5 swap   1             dd51f35c-9312-4db5-9cb3-1c346e5b7054                [SWAP]
└─sda6

quand tu fait ton mount précise le fs avec et créé un point de montage spécifique:

mkdir /mnt/sd6
mount -t ext4 /dev/sda6 /mnt/sd6

et pour vérifier que ca marche fait le en root (sudo ou su -)

Bien sûr, voici :

root@zorglub:/home/test# mount -t ext4 /dev/sda6 /mnt/test/
mount: /mnt/test: mauvais type de système de fichiers, option erronée, superbloc erroné sur /dev/sda6, page de code ou programme auxiliaire manquant, ou autre erreur.
       dmesg(1) peut avoir plus d'informations après un échec de l'appel système du montage.

Essayez de monter une partition non formatée n’a pas de sens.
Même formatée, les erreurs de file-system doivent impérativement être corrigées avant tout remontage.

Le verdict le plus probable est le suivant:
l’installateur a bien compris /home sur /dev/sda6, mais il faut préciser l’option Keep (=garder) pour ne pas formater cette partition lors de l’installation.
Comme elle ne semble plus formatée, il s’est passé quelque-chose de non précisé.
fsck ne sait pas vérifier une partition non formatée, ce qui est cohérent avec l’observation.

Si verdict confirmé… reste les outils de récupération de données, si nécessaire.

mince, merci @Verner , j’ai répondu en faisant autre chose en même temps et j’ai zappé cette info effectivement (c’est ballot en plus car c’est pour cette raison que j’avais demandé le résusltat de la commande :slight_smile: ).

Ok merci pour vos réponses.
En conclusion je peux donc dire au revoir à mes données sur /dev/sda6 ? (sauf à partir sur des outils de récup de données : c’est bien l’unique solution ?)

1 J'aime

oui, tu peux essayer avec testdisk
C’est du mode texte, donc en console, mais pas forcement simple à utiliser :confused:

Il y a quelque-chose de pas clair dans l’historique:

1 -

J’ai dû ré-installer debian 12 qui ne fonctionnait plus sur mon PC (pb de « kernel panic - not syncing : attempted to kill inint »).

Bizarre. Il aurait fallu approfondir le pourquoi avant réinstallation.

2 - La partition étendue sda2 se termine sur le même secteur que sda6 : 1953523711

→ ça me surprend.

Si sda3 et sda4 ont disparu, ce disque a un historique de formatage « propre » ou pas, on ne sait pas.

Sans comprendre pourquoi une partition précédemment formatée ne l’est plus du tout, ce qui est très étrange, je ne vois rien d’autre que la récupération.

Avec de la chance, testdisk (en session live) pourra peut-être retrouver la position exacte précédente de home sur sda6, avec son formatage.
Sinon, c’est plus compliqué si tu tiens à tes données, mais ce sera un autre sujet.

Salut,
Le WE est passé par là mais j’ai pu tester « testdisk ». Il semble qu’il voit bien tout ce qui est dans mon ancienne partition home :
image

Et lorsque je liste la partition sélectionnée (avec « P »), j’ai bien accès à toute la structure et mes anciens fichiers. J’ai pu aussi copier certains fichiers sur un autre DD pour vérifier que je pouvais effectivement les récupérer.

Cependant, vu la taille des donnés (~800Go je crois) je préfererais me passer de tout copier. Est-il possible de réparer le pb directement ou vaut-il mieux assurer en copiant le tout, reformatant (?), et tout retransférer ?

Merci.

En ce qui concerne uniquement la partition home, les fichiers étant bien retrouvés, autoriser testdisk à recréer la table de partition est envisageable, avec un mais…
Il y a trop de points nébuleux non clarifiés.
Il y a donc un risque (secondaire) que tu perdes la possibilité de booter, et difficile de prédire si la partition système est impactée ou non par ce que trouve tesdisk.

Au pire, tu retenteras une réinstallation en faisant bien attention de présiser durant l’installation que:
1 - tu ne veux pas formater la partition /home
2 - revérifier avant acceptation de la proposition de l’installateur que la partition est conservée, sans formatage.
C’est ça le point crucial.
Si tu formates /home, ça va être beaucoup, beaucoup plus compliqué.

Ok super merci @Verner ! je viens de réécrire la table avec testdisk, et j’arrive à monter (après redémarrage) la partition qui est maintenant dans /dev/sda3 :

NAME   FSTYPE FSVER LABEL   UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                             
├─sda1 ext4   1.0           07894e7a-61fa-4e98-a007-6cd5c45db7c2   13,6G    45% /
├─sda2 swap   1             dd51f35c-9312-4db5-9cb3-1c346e5b7054                [SWAP]
└─sda3 ext4   1.0           b369efc1-8147-40ba-96e8-3762f1318f33     10G    94% /mnt/test

Ca me semble pas trop mal…
Maintenant, je voudrais la redéfinir en tant que HOME. J’imagine que je dois rajouter une ligne dans mon /etc/fstab avec un truc du genre :

UUID=b369efc... /home ext4 defaults 0 2

Puis démonter /mnt/test et reboot ?

Cependant quid du répertoire /home de mon intall courante (qui est sur la partiiton sda1 avec un autre nom de user que celui de l’ancienne partition que je viens de recouvrir ) ? Les home ne peuvent pas cohabiter ainsi j’imagine : 2 points de montage avec le même chemin…

Je supprime auparavant /home de la première partition (sda1) ? Ensuite il faudra aussi que je rajouter un user du nom de celui qui était dans l’ancienne.

Humm… Les données sont récupérées, c’est le plus important.

Tu n’as plus de partition étendue. Tu ne peux plus rajouter de partitions.
Ça aurait été mieux d’avoir soit:
4 partitions primaires si ça te suffit (dont 1 pour le swap)
ou 1/2/3 partitions primaires, et 1 étendue pour y mettre autant de partitions si nécessaires plus tard.
Si tu souhaites revoir la table de partitions, ça va être très compliqué et à risque, et je crains que tu ne saches le faire. Donc… ne pas faire, du moins pour le moment.

J’aurais intuitivement pensé que ton home serait plutôt sda3, bizarre.
Je ne peux donc pas te répondre précisément pour quoi faire sans plus d’assurance.

Je peux te recommander deux choses importantes:

  • une fois que tu es sûr (=100%) de laquelle est ton /home, crée un label pour que ce soit explicite:

# e2label </dev/sdax> home
e2fsprogs doit être installé.

Plus clair aussi pour ton fstab, dont la ligne home devient par exemple:
LABEL=home /home ext4 defaults 0 1
Et tu rebootes.

  • identifie immédiatement ce qui est important sur ton home, et sauvegarde !!!
    Si tu perds 10 Go de fichiers video, c’est pas grave.
    Si tu perds des mots de passe, ou données personnelles, c’est grave, car si tu refais une erreur, tu reliras mon conseil avec des regrets et tremolos dans la voix.

Après sauvegarde seulement, tu pourras recreuser tout ça.

J’aurais intuitivement pensé que ton home serait plutôt sda3, bizarre.

Alors oui effectivement lors de la nouvelle install, il n’y a pas eu de /home séparé. J’ai vraissemblablement fauté qqpart. En réalité je me retrouve avec un linux installé (/home inclus non séparé) sur la première partition de ~30Go, alors que mon DD interne fait ~ 1To. Et oui, dommage pour l’absence de partition étendue, mais ne pourrai-je pas en rajouter encore une tout de même ? Toutefois, j’en n’ai jamais eu l’utilité.

Si je veux que mon nouveau home soit la nouvelle partition sda3 que testdisk m’a récupérée, je mets bien /dev/sda3 en 1er argument de e2label ?

Concernant la sauvegarde : j’avais finalement récupéré (avec testdisk) l’intégralité de la partition sur un DD externe avant de ré-écrire la table…

Sans comprendre l’évolution de ta table de partition, ni comprendre ton sda1 précédent, je formulerai: ta partition home est celle où sont tes données.
Si c’est bien sda3:
e2label /dev/sda3 home

Avoir un disque d’1 To avec 3 malheureuses partitions, c’est un manque énorme de flexibilité pour plein de raisons.
Je pense qu’une table de partitions en gpt plutôt que mbr serait plus judicieux, si tu repars à zéro.
Tu auras besoin de temps pour réfléchir à tout ça,… plus tard.

Ok, merci pour ton aide en tout cas ! Ainsi que tes conseils supplémentaires.
Je garde la modif pour demain…

Après finalement sda3 plutôt que sda1, je rajoute juste qu’il faut une sacrée boule de crystal pour suivre tes manips. Tu me mets un doute sur ce qui est supposé être ‹ home ›. Si tes données sont sauvegardées, fais comme tu sens, comme tu peux, c’est plus trop grave…
Prépares toi juste à de potentielles surprises.


Comme ça risque d’être difficile de revenir sur tes sacs de noeuds 1 semaine plus tard, je rajoute ce que j’avais en tête il y quelques jours:

C’est normal ! Debian ne peut pas savoir que tu as changé la table de partition entre deux boots, si le fstab n’est pas remis à jour.
Ton sda1 que tu prétendais être ton ‹ home › n’était pas la partition home dans laquelle étaient tes données personnelles, mais un répertoire /home de la racine système que Debian utilise par défaut.
Si tu ne configures pas de home durant l’installation, tu peux très bien utiliser le répertoire /home par défaut pour la configuration de ta session, et sur une autre partition, appelée ‹ mydata › par exemple tes données personnelles, que tu monteras indépendamment.
En résumé, il y a home et home.
Bonne chance.