Contenu | Rechercher | Menus

Annonce

La nouvelle clé USB Ubuntu-fr est en prévente
Rendez-vous sur la boutique En Vente Libre

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 10/11/2017, à 13:32

moko138

Quand testdisk renumérote dans l'ordre les partitions

testdisk sait renuméroter dans l'ordre les partitions, tant primaires que logiques.

Je le signale en raison du bug de windows étudié par malbo là : ./viewtopic.php?pid=21551626#p21551626 "Mise à jour gratuite de Windows 7 vers Windows 10 : ça pue", #97, et mentionné en ./viewtopic.php?id=2017388 "Mise à jour gratuite Windows 10 jusqu'au 31 décembre 2017".


testdisk m'a fait deux fois cette surprise, sur deux machines différentes. Mais malheureusement,
1) je ne retrouve pas les logs de testdisk ;
2) j'ai essayé plusieurs fois de reproduire l'événement, en vain.


Cas réussi n°1 :
     Passage de
partitions 1   2étendue [ 5 9 8 6 7 ]    4  3   à :
partitions 1   2étendue [ 5 6 7 8 9 ]    3  4
     Et en détail :

Avant (16/4/2015)   
partitions 1   2étendue [ 5 9 8 6 7 ]    4  3   1510309094.png

Voici les 3 logs (de gparted seulement) que j'ai conservés :

Log de gparted (23b/4/2015) :

GParted 0.11.0 --enable-libparted-dmraid

Libparted 2.3
Réduire /dev/sda5 de 7.42 Gio à 5.80 Gio  00:00:06    ( SUCCÈS )
     	
calibrer /dev/sda5  00:00:00    ( SUCCÈS )
     	
chemin : /dev/sda5
début : 25 173 918
fin : 40 724 774
taille : 15 550 857 (7.42 Gio)
vérifier le système de fichiers sur /dev/sda5 et corriger les problèmes (si possible)  00:00:00    ( SUCCÈS )
     	
ntfsresize -P -i -f -v /dev/sda5
     	
ntfsresize v2012.1.15AR.1 (libntfs-3g)
Device name : /dev/sda5
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 7962038784 bytes (7963 MB)
Current device size: 7962038784 bytes (7963 MB)
Checking for bad sectors ...
Checking filesystem consistency ...
Accounting clusters ...
Space in use : 1729 MB (21,7%)
Collecting resizing constraints ...
Estimating smallest shrunken size supported ...
File feature Last used at By inode
$MFT : 3664 MB 0
Multi-Record : 12 MB 665
$MFTMirr : 5244 MB 1
Ordinary : 5245 MB 10
You might resize at 3663990784 bytes or 3664 MB (freeing 4299 MB).
Please make a test run using both the -n and -s options before real resizing!
réduire le système de fichiers  00:00:03    ( SUCCÈS )
     	
lancer une simulation  00:00:01    ( SUCCÈS )
     	
ntfsresize -P --force --force /dev/sda5 -s 6226504703 --no-action
     	
ntfsresize v2012.1.15AR.1 (libntfs-3g)
Device name : /dev/sda5
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 7962038784 bytes (7963 MB)
Current device size: 7962038784 bytes (7963 MB)
New volume size : 6226498048 bytes (6227 MB)
Checking filesystem consistency ...
Accounting clusters ...
Space in use : 1729 MB (21,7%)
Collecting resizing constraints ...
Needed relocations : 0 (0 MB)
Schedule chkdsk for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
The read-only test run ended successfully.
redimensionnement réel    ( ERREUR )
     	
ntfsresize -P --force --force /dev/sda5 -s 6226504703
     	
ntfsresize v2012.1.15AR.1 (libntfs-3g)
Device name : /dev/sda5
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 7962038784 bytes (7963 MB)
Current device size: 7962038784 bytes (7963 MB)
New volume size : 6226498048 bytes (6227 MB)
Checking filesystem consistency ...
Accounting clusters ...
Space in use : 1729 MB (21,7%)
Collecting resizing constraints ...
Needed relocations : 0 (0 MB)
Schedule chkdsk for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
Syncing device ...
Successfully resized NTFS on device '/dev/sda5'.
You can go on to shrink the device for example with Linux fdisk.
IMPORTANT: When recreating the partition, make sure that you
1) create it at the same disk sector (use sector as the unit!)
2) create it with the same partition type (usually 7, HPFS/NTFS)
3) do not make it smaller than the new NTFS filesystem size
4) set the bootable flag for the partition if it existed before
Otherwise you won't be able to access NTFS or can't boot from the disk!
If you make a mistake and don't have a partition table backup then you
can recover the partition table by TestDisk or Parted's rescue mode.
réduire la partition de 7.42 Gio à 5.80 Gio  00:00:03    ( SUCCÈS )
     	
ancien début : 25 173 918
ancienne fin : 40 724 774
ancienne taille : 15 550 857 (7.42 Gio)
nouveau début : 25 173 918
nouvelle fin : 37 335 059
nouvelle taille : 12 161 142 (5.80 Gio)

========================================

Log de gparted (23c/4/2015) :

GParted 0.12.1 --enable-libparted-dmraid

Libparted 2.3
redimensionner/déplacer /dev/sda5 (la nouvelle et l'ancienne partition ont la même taille et la même position. L'opération se poursuit quand même)  00:00:01    ( ERREUR )
     	
calibrer /dev/sda5  00:00:00    ( SUCCÈS )
     	
chemin : /dev/sda5
début : 25 173 918
fin : 37 335 059
taille : 12 161 142 (5.80 Gio)
vérifier le système de fichiers sur /dev/sda5 et corriger les problèmes (si possible)  00:00:00    ( ERREUR )
     	
ntfsresize -P -i -f -v /dev/sda5
     	
ntfsresize v2012.1.15AR.5 (libntfs-3g)
Failed to read last sector (15550856): Argument invalide
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
ERROR(22): Opening '/dev/sda5' as NTFS failed: Argument invalide
The device '/dev/sda5' doesn't have a valid NTFS.
Maybe you selected the wrong partition? Or the whole disk instead of a
partition (e.g. /dev/hda, not /dev/hda1)? This error might also occur
if the disk was incorrectly repartitioned (see the ntfsresize FAQ).

========================================

Log de gparted (23d/4/2015) :

GParted 0.12.1 --enable-libparted-dmraid

Libparted 2.3
Agrandir /dev/sda5 de 5.80 Gio à 5.85 Gio  00:00:01    ( ERREUR )
     	
calibrer /dev/sda5  00:00:00    ( SUCCÈS )
     	
chemin : /dev/sda5
début : 25 173 918
fin : 37 335 059
taille : 12 161 142 (5.80 Gio)
vérifier le système de fichiers sur /dev/sda5 et corriger les problèmes (si possible)  00:00:00    ( ERREUR )
     	
ntfsresize -P -i -f -v /dev/sda5
     	
ntfsresize v2012.1.15AR.5 (libntfs-3g)
Failed to read last sector (15550856): Argument invalide
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
ERROR(22): Opening '/dev/sda5' as NTFS failed: Argument invalide
The device '/dev/sda5' doesn't have a valid NTFS.
Maybe you selected the wrong partition? Or the whole disk instead of a
partition (e.g. /dev/hda, not /dev/hda1)? This error might also occur
if the disk was incorrectly repartitioned (see the ntfsresize FAQ).

========================================

- -
Ayant oublié de vérifier et défragmenter sda5=D:\ avant de la réduire, elle n'était plus lisible.
J'ai donc lancé testdisk.
...Et j'ai obtenu en prime la renumérotation ordonnée :

Après (26/4/2015)

partitions 1   2étendue [ 5 6 7 8 9 ]   3  4   1510309020.png

= =

Connaissant cette possibilité, certains d'entre vous arriveront, je l'espère, à trouver le mode d'emploi.

Dernière modification par moko138 (Le 10/11/2017, à 18:03)


%NOINDEX%
Un utilitaire méconnu : ncdu

Hors ligne

#2 Le 10/11/2017, à 23:25

??

Re : Quand testdisk renumérote dans l'ordre les partitions

Bonsoir moko138
Je pense que tu as utilisé l'option réécriture de la table de partition.

Dernière modification par ?? (Le 10/11/2017, à 23:25)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide et en utilisant les outils de diagnostic J'ai perdu ma gomme. Désolé pour les fautes d'orthographes non corrigées.

Hors ligne

#3 Le 10/11/2017, à 23:38

moko138

Re : Quand testdisk renumérote dans l'ordre les partitions

?? a écrit :

Je pense que tu as utilisé l'option réécriture de la table de partition.

Bonsoir ??
Merci de la suggestion : je testerai.

Si ce n'est que cela, ça permettrait une précaution facile contre le comportement des mises à jour de windows :
on réduit une partition linux d'un chouia, avec gparted,
puis on utilise testdisk pour revenir à la taille antérieure.
Et hop, les partitions seraient dans l'ordre !  smile


%NOINDEX%
Un utilitaire méconnu : ncdu

Hors ligne

#4 Le 11/11/2017, à 01:12

MicP

Re : Quand testdisk renumérote dans l'ordre les partitions

Bonsoir

Sinon,
pour corriger l'ordre des partitions dans la table des partitions,
il y a fdisk de linux :

sudo fdisk /dev/sdX
x
f
r
w
q
root@debg53sw:~# fdisk /dev/sda

Bienvenue dans fdisk (util-linux 2.25.2).
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.


Commande (m pour l'aide) : x

Commande pour spécialistes (m pour l'aide) : m

Aide (commandes pour spécialistes) :

  DOS (secteur d'amorçage)
   b   déplacer le début des données dans une partition
   i   modifier l'identifiant de disque

  Géométrie
   c   modifier le nombre de cylindres
   h   modifier le nombre de têtes
   s   modifier le nombre de secteurs par piste

  Générique
   p   afficher la table de partitions
   v   vérifier la table de partitions
   d   afficher les données brutes du premier secteur du périphérique
   D   afficher les données brutes de l’étiquette de disque du périphérique
   f   corriger l'ordre des partitions
   m   afficher ce menu

  Sauvegarder et quitter
   q   quitter sans enregistrer les modifications
   r   revenir au menu principal


Commande pour spécialistes (m pour l'aide) : q

root@debg53sw:~# 

Dernière modification par MicP (Le 11/11/2017, à 01:17)

Hors ligne

#5 Le 11/11/2017, à 05:33

moko138

Re : Quand testdisk renumérote dans l'ordre les partitions

Merci MicP !
Tu tournes avec Debian, si je comprends bien ?
Je testerai aussi.


%NOINDEX%
Un utilitaire méconnu : ncdu

Hors ligne

#6 Le 11/11/2017, à 15:58

MicP

Re : Quand testdisk renumérote dans l'ordre les partitions

…Tu tournes avec Debian, si je comprends bien ? …

Oui, c'est bien debian que j'utilise,
mais en ce qui concerne la (ou les) table des partitions d'un disque dur et la commande fdisk le résultat sera le même sur debian et ubuntu.

Dernière modification par MicP (Le 12/11/2017, à 21:43)

Hors ligne

#7 Le 19/10/2018, à 13:45

moko138

Re : Quand testdisk renumérote dans l'ordre les partitions

Pour

MicP a écrit :
sudo fdisk /dev/sdX
x
f
r
w
q

1) Cela fonctionne pour les supports à table dos, pas pour les supports à table GPT.


2) Quel que soit le type de table,
La remarque de JLK en ./viewtopic.php?pid=21990900#p21990900 suggère fortement qu'il faut préalablement :

2.1) s'assurer que les partitions de type windows (c'est-à-dire à système de fichiers ntfs, fat ou exfat) ne sont pas verrouillées par windows ;

2.2) vérifier les partitions de type windows, depuis windows lui-même :
clic droit sur le volume > propriétés > vérifier.

Dernière modification par moko138 (Hier à 14:03)


%NOINDEX%
Un utilitaire méconnu : ncdu

Hors ligne

#9 Le 19/10/2018, à 15:21

moko138

Re : Quand testdisk renumérote dans l'ordre les partitions

JLK a écrit :

Je sens qu'il va falloir le signaler sur le wiki... hmm

               Oui ! Pour fdisk, en gros :

1) Signaler ce qui précède.

2) Diviser le §"Réparer l'ordre des numéros de partitions" en deux (dos puis gpt)

3) Ajouter que pour les supports à table GPT, on peut utiliser
(à confirmer après test réel) :

sudo gdisk /dev/<votre-support>
?
s	  # classer ("sort partitions")
w	  # écrire la table nouvellement classée et quitter ("write table to disk and exit")

           OU BIEN
3bis) Créer la page de Doc gdisk et y renvoyer.

4) Mettre une 2ème fois :
Enfin, pour informer le noyau du changement sur la table de partitions, faire un :

sudo partprobe

  - -

   [ Je n'ai pas encore testé

sudo sgdisk --sort /dev/<votre-support>

]


%NOINDEX%
Un utilitaire méconnu : ncdu

Hors ligne

#10 Le 13/05/2019, à 05:33

moko138

Re : Quand testdisk renumérote dans l'ordre les partitions

/!\  Ce message ne concerne que les disques à table de type msdos !


Sur un disque (usb) à table msdos,
je viens de remettre les numéros de partitions dans l'ordre :
de fait, c'est encore plus simple et rapide :

sudo fdisk /dev/sdx
x
f
w

C'est tout !
Après le "w" (et Entrée), j'ai eu

The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

immédiatement suivi du retour de l'invite de commande (moi@mon-pc).


Par contre, je recommande, pour se prémunir contre les fausses manipulations, de procéder comme ceci :

A) SAUVEGARDE DE L'ANCIEN PARTITIONNEMENT :
    pour sauvegarder le MBR : saisissez dans un terminal la commande suivante qui va créer un fichier nommé mbr.img dans votre home :

sudo dd if=/dev/sdx of=~/mbr_HDD-chose_$(date +%Y%m%d-%Hh%M).img bs=512 count=63

    pour sauvegarder la table des partitions complète (avec les partitions logiques) :

sudo sfdisk -d /dev/sdx > ~/table_partitions_complete_HDD-chose_$(date +%Y%m%d-%Hh%M).dmp

B) DÉMONTAGE de la ou des partitions du disque "HDD-chose"

sudo umount -v /dev/sdx8
/dev/sdg8 has been unmounted

C) RECTIFICATION proprement dite


D) VÉRIFICATION
que la ou les partitions dont le numéro a changé montent de nouveau sans problème.


E) SAUVEGARDE DU NOUVEAU PARTITIONNEMENT
(même procédure qu'en A ; elle produit deux fichiers datés à la minute près, ce qui évite les confusions).


F) DESTRUCTION DE LA SAUVEGARDE PÉRIMÉE.

= =

/!\  Les points-clefs :
- prendre son temps, agir calmement ;
- bien vérifier au dernier moment la désignation /dev/sdx, à adapter, par exemple avec :

sudo lsblk -o name,fstype,label,size,mountpoint -e 7,11

- préparer ses commandes définitives dans un fichier texte.


%NOINDEX%
Un utilitaire méconnu : ncdu

Hors ligne

#11 Le 13/05/2019, à 10:02

MicP

Re : Quand testdisk renumérote dans l'ordre les partitions

Bonjour


Dans son message #7

dans son message #7, moko138 a écrit :

…1) Cela fonctionne pour les supports à table dos, pas pour les supports à table GPT.…

La méthode que je proposais dans mon message #4
fonctionne maintenant aussi bien pour les tables des partitions de type gpt que msdos


root@debg53sw:~# fdisk -v
fdisk de util-linux 2.29.2
root@debg53sw:~# 
root@debg53sw:~# blkid /dev/sdb*
/dev/sdb: PTUUID="d3fbcc14-33cf-4834-a25a-4b25bf2e6b95" PTTYPE="gpt"
/dev/sdb1: UUID="6d7766d4-295f-4346-8917-7c5faa99c81f" TYPE="ext4" PARTLABEL="part1" PARTUUID="70048700-afa4-4b3b-a0bf-54eec04890db"
/dev/sdb2: UUID="e06468c5-0f34-4aad-a96a-10f845dca19d" TYPE="ext4" PARTLABEL="part2" PARTUUID="c105d98a-f806-4df8-9883-b43898d946ac"
/dev/sdb4: UUID="eb7a8442-f835-4631-bc54-c75925ca67cc" TYPE="ext4" PARTLABEL="part4" PARTUUID="2a72f699-8e59-4b81-937b-a23e33543c84"
/dev/sdb5: UUID="66e95da2-a138-4476-974b-dbfcf671cfa6" TYPE="ext4" PARTLABEL="part5" PARTUUID="7d5578c1-f3ff-4ffd-a7a4-27ab42f131f7"
/dev/sdb6: UUID="28334dbc-3131-4065-b16a-77418c0e41ed" TYPE="ext4" PARTLABEL="part6" PARTUUID="a6e9862c-2191-4a13-9c0e-52992e56983c"
/dev/sdb7: UUID="d81b6041-9ad5-4c14-a4c2-cf3d964c6ce0" TYPE="ext4" PARTLABEL="part7" PARTUUID="1de31ec1-8ae6-4cfa-a855-cd9476700d0e"
root@debg53sw:~# 
root@debg53sw:~# fdisk /dev/sdb

Bienvenue dans fdisk (util-linux 2.29.2).
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.


Commande (m pour l'aide) : x

Commande pour spécialistes (m pour l'aide) : f
Partitions triées.

Commande pour spécialistes (m pour l'aide) : r

Commande (m pour l'aide) : w

La table de partitions a été altérée.
Appel d'ioctl() pour relire la table de partitions.
Synchronisation des disques.

root@debg53sw:~# 
root@debg53sw:~# blkid /dev/sdb*
/dev/sdb: PTUUID="d3fbcc14-33cf-4834-a25a-4b25bf2e6b95" PTTYPE="gpt"
/dev/sdb1: UUID="6d7766d4-295f-4346-8917-7c5faa99c81f" TYPE="ext4" PARTLABEL="part1" PARTUUID="70048700-afa4-4b3b-a0bf-54eec04890db"
/dev/sdb2: UUID="e06468c5-0f34-4aad-a96a-10f845dca19d" TYPE="ext4" PARTLABEL="part2" PARTUUID="c105d98a-f806-4df8-9883-b43898d946ac"
/dev/sdb3: UUID="eb7a8442-f835-4631-bc54-c75925ca67cc" TYPE="ext4" PARTLABEL="part4" PARTUUID="2a72f699-8e59-4b81-937b-a23e33543c84"
/dev/sdb4: UUID="66e95da2-a138-4476-974b-dbfcf671cfa6" TYPE="ext4" PARTLABEL="part5" PARTUUID="7d5578c1-f3ff-4ffd-a7a4-27ab42f131f7"
/dev/sdb5: UUID="28334dbc-3131-4065-b16a-77418c0e41ed" TYPE="ext4" PARTLABEL="part6" PARTUUID="a6e9862c-2191-4a13-9c0e-52992e56983c"
/dev/sdb6: UUID="d81b6041-9ad5-4c14-a4c2-cf3d964c6ce0" TYPE="ext4" PARTLABEL="part7" PARTUUID="1de31ec1-8ae6-4cfa-a855-cd9476700d0e"
root@debg53sw:~#

Dernière modification par MicP (Le 13/05/2019, à 10:04)

Hors ligne