wrong fs type, bad option, bad superblock on /dev/sda

Cet article ne sera compréhensible que par des bidouilleurs linux, si ce n’est pas votre cas, aspirine !

Comme indiqué dans le titre, vous avez voulu manipuler le partitionnement d’un disque dur, sans succès. Pire, votre système de démarre plus.

Le message servant de titre est en fait le message d’erreur lorsque vous tentez de rétablir la situation, allons dans l’ordre, ce sera plus simple, en vous racontant mon expérience de sueur froide.

Idée de départ : Réduire la taille d’un partition (ext3 ou ext4) pour dégager de la place pour une autre partition. Parmi les solutions trouvées : parted, comme par exemple sur cette page.

Parted semble très puissant, mais visiblement assez chatouilleux.

Avec le disque sda non monté, par exemple en mode rescue, après une installation de l’utilitaire (# apt-get install parted) j’ai fait ceci :

parted /dev/sda
(parted) resizepart 3
END ? [512GB] ? 256GB

etc.

À partir de ce moment quoi que je fasse (fsck.ext4 -f -y /dev/sda3 , fsck.ext4 -p -b superblockxxx -B 4096 /dev/sda3 ou autre) aboutit au même message technique : va te faire voir (ou en langage courant, bad superbloc). Super-bloqué.

Solution : Le même utilitaire, avec quelques manipulations : ici et . sur le forum ubuntu, puisque j’ai une installation Ubuntu 18.04 LTS. Le but n’est plus d’ajouter une partition mais de récupérer les données importantes, celles de la sauvegarde que je n’ai pas faite avant, forcément.

  • Lister les partitions en détail :

# parted /dev/sda unit s print

Model: ATA Micron_1100_MTFD (scsi)
Disk /dev/sda: 500118192s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 2048s 1048575s 1046528s primary ext4 boot
2 1048576s 3196927s 2148352s primary linux-swap(v1)
3 3196928s 266113023s 262916096s primary ext4
4 266113024s 500117503s 234004480s primary ext4

  • effacer le superbloc :

# parted /dev/sda rm 3

  • recréer le superbloc, avec les mêmes valeurs que ci-dessus :

# parted /dev/sda3 mkpart primary ext4 3196928s 266113023s

Il ne reste plus qu’à récupérer les fichiers importants

Transfert des fichiers

Monter la partition (en lecture seule, cela suffira)

# mount -o  /dev/sda3 /mnt
# ls /mnt

Autre montage possible, en secteur, en précisant l’adresse du superbloc : mount -o sb=819200 /dev/sda3 /mnt

  • A partir d’un autre serveur, récupérer via scp les fichiers du répertoire xxx (récursif), ici j’utilise l’adresse IP du serveur réparé, se reporter à la doc. de scp

# cd /ici/copie
# scp -P 22 -r moi@5.13.12.124:/mnt/xxx ./

Remise en état du serveur

À partir de zéro, c’est plus sûr.

Réinitialiser le disque en partitionnant comme souhaité, puis réinstaller Ubuntu 18.04 LTS à partir de la console principale (le serveur est chez Online.net, dans leur interface de gestion) et enfin restaurer les données.