#1 Le 01/12/2018, à 22:43
- Nuliel
"reconstituer" une partition
Bonsoir,
Je me pose une tite question: imaginons une clé usb dont un secteur important est défectueux (le MBR, le début d'une partition, ...). Une méthode possible est: copier la clé usb, réparer l'image avec testdisk par exemple et paf, on accède aux données.
Ma question est: est il possible de faire en sorte que les secteurs défectueux soient "remappés" dans un fichier standard ou une partition autre? En d'autres termes qu'on dise: le secteur 1 de la clé usb, il faut aller le chercher à tel endroit dans telle partition
J'ai regardé du côté de lvm, je sais pas si ça correspond à ce que je cherche.
Toute idée est bienvenue
(la raison de la demande: la curiosité (parce que faire une copie exacte est sûrement une meilleure idée que celle ci) )
EDIT: ma question est sûrement un peu stupide en fait: si un secteur est illisible, il faut réécrire des zéros dessus afin de demander au disque dur de réallouer un nouveau secteur (à moins qu'il n'y ait plus de secteurs dispos en stock).
Mais j'accepte quand même les idées sur ma demande saugrenue
Dernière modification par Nuliel (Le 01/12/2018, à 23:39)
Hors ligne
#2 Le 02/12/2018, à 12:12
- moko138
Re : "reconstituer" une partition
Je ne vois pas comment réadresser un secteur-clef sur le support initial dès lors que cela n'a pas été prévu à la conception (GPT et NTFS intègrent une zone miroir, extn intègre des superblocs de secours et une liste de badblocks).
/!\ Ne pas confondre blocs et secteurs, ni badblocks et données smart !
Quel que soit le support, on peut, préventivement, sauvegarder sur d'autres supports (toile etc.) le MBR, la table de partitions et, en cas de partitions logiques, la table des partitions complète (avec les partitions logiques).
Cf. méthodes en https://doc.ubuntu-fr.org/tutoriel/comm … der_le_mbr
En cas de problème, cloner le support dégradé sur un support autre et sain, puis y réinjecter la sauvegarde.
Attention
- à bien dater ses sauvegardes
- à bien faire une nouvelle sauvegarde dès qu'on modifie le partitionnement
de façon à ne pas injecter de table périmée !
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#3 Le 02/12/2018, à 12:37
- Nuliel
Re : "reconstituer" une partition
Merci à vous deux.
/!\ Ne pas confondre blocs et secteurs, ni badblocks et données smart !
Je confonds effectivement blocs et secteurs, pourrais tu expliquer la différence?
badblocks liste les blocs défectueux, y a t'il un rapport avec les pending sectors du rapport smart?
Hors ligne
#4 Le 02/12/2018, à 23:17
- moko138
Re : "reconstituer" une partition
Le secteur fait le plus souvent sur ce forum
soit 0,5 kio
soit 4 kio
Le bloc, sur ce forum, fait souvent 1 kio (*) ou 4 kio.
Le bloc est en principe l'unité de stockage minimale : crée un fichier .txt, mets-y un seul caractère et enregistre-le : il occupera un bloc entier. Ce qui explique les 2 tailles différentes données par ncdu pour un répertoire :
Total disk usage: 106,9MiB Apparent size: 109,4MiB
Il n'y a jamais plus d'un fichier par bloc.
En pratique, ext4 et ntfs ont mis en place des bricolages pour minimiser l'espace occupé par les fichiers les plus petits.
On trouvera plus d'une taille de bloc ("blocksize") par défaut, en consultant le fichier /etc/mke2fs.conf.
Pour autant que je sache, la taille de secteur est imposée par le fabricant et ne change pas au formatage. C'était le point de vue de tiramiseb.
Pour autant que je sache, la taille de bloc d'une partition peut être changée au formatage. Cf.
man mke2fs
-b taille_bloc
Indiquer la taille des blocs en octets. Les tailles de blocs valables sont
1024, 2048 et 4096 octets par bloc. S'il est omis, taille_bloc est déterminé en
fonction de la taille du système de fichiers et de son utilisation prévue (voir
l'option -T). Si taille_bloc est précédé d'un signe négatif (« - »), mke2fs
utilisera des heuristiques pour déterminer la taille appropriée, en imposant
que la taille soit au moins de taille_bloc octets. C'est utile pour certains
périphériques physiques qui nécessitent que la taille de bloc soit un multiple
de 2 ko.
Récemment, j'ai tenté d'imposer une taille de bloc. Ça a marché mais je me suis attiré cette réponse :
Avertissement : la taille de bloc 1024 spécifiée est plus petite que la taille de secteur physique 4096
Comme ce n'était pas ma partition, je n'ai pas voulu poursuivre et j'ai fait reformater avant mise en service.
Toutefois je suis loin d'avoir exploré toutes les options de mke2fs, parted, fdisk, sfdisk, cfdisk, gdisk...
C'est ici que les lumières de jamesbad000, de Nasman ou de rmy seraient bien utiles !
/!\ Contrairement à une idée reçue, le bloc n'est pas le cluster. Cf.
man mke2fs
-C taille-cluster
Indiquer la taille du cluster en octets pour les systèmes de fichiers utilisant
la fonctionnalité bigalloc. Les valeurs correctes pour la taille du cluster
sont comprises entre 2048 octets et 256 Mo par cluster. Cela ne peut être indi‐
qué que si la fonctionnalité bigalloc est activée. Consultez la page de manuel
de ext4 (5) pour plus de détails sur bigalloc). La taille du cluster par
défaut, si bigalloc est activé, est égale à 16 fois celle du bloc.
Et je ne suis même pas sûr que Linux et Windows aient une même définition de cluster.
___
(*) Attention, fdisk -l emploie 2 unités différentes !
Comparer ces tailles :
moko@pc:~$ sudo lsblk -o name,fstype,size | grep -E "NAME|sdb"
NAME FSTYPE SIZE
sdb 149,1G
├─sdb1 vfat 54,9M
├─sdb2 ntfs 12G
├─sdb3 1K
├─sdb4 ext4 119,5G
(...)
moko@pc:~$
avec
moko@pc:~$ sudo fdisk -l
(...)
Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
# ATTENTION : SECTEUR SECTEUR BLOCS /!\
Device Boot Start End Blocks Id System
/dev/sdb1 63 112454 56196 de Dell Utility # 54,9M
/dev/sdb2 * 112455 25286309 12586927+ 7 HPFS/NTFS/exFAT # 15G
/dev/sdb3 25294846 62068735 18386945 f W95 Ext'd (LBA) # 18G
/dev/sdb4 62076928 312581807 125252440 83 Linux # 119,5G
(...)
moko@pc:~$
Où l'on voit :
1) que les colonnes "Start" et "End" emploient - sans le dire - le secteur comme unité, alors que fdisk -l affiche la taille en blocs ;
2) qu'ici les secteurs font 512 octets mais les blocs 1024 octets.
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#5 Le 02/12/2018, à 23:19
- moko138
Re : "reconstituer" une partition
badblocks liste les blocs défectueux, y a t'il un rapport avec les pending sectors du rapport smart?
Oui et non :
Oui parce que, dans les deux cas, l'information concerne des zones dégradées du disque.
Non parce qu'un bloc n'est pas un secteur.
Non parce que la liste des badblocks ne concerne qu'une partition donnée, et une partition linux seulement.
Non parce que cette liste est inscrite dans cette même partition. Et effacée au premier reformatage. Si elle n'est pas devenue illisible avant.
Alors que les données smart sont stockées hors de la zone de données, sur une puce du circuit imprimé. Et que les données smart concernent tous les secteurs du disque, y compris ceux qui ne sont pas sur une partition linux et ceux qui sont hors partitions : tous les secteurs du disque, du premier au dernier.
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#6 Le 03/12/2018, à 13:52
- moko138
Re : "reconstituer" une partition
peut tu expliquer, ou tu vois des secteurs de 4 kio ?
https://www.manjaro.fr/forum/viewtopic.php?t=10611 (11/2018) :
Disque /dev/sda : 3,7 TiB, 4000787025920 octets, 976754645 secteurs
Modèle de disque : Backup+ Desk
Unités : secteur de 1 × 4096 = 4096 octets
Taille de secteur (logique / physique) : 4096 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : gpt
- -
https://www.alionet.org/archive/index.php/t-32948.html (01/2017) :
Disque /dev/sda : 2,7 TiB, 3000592982016 octets, 732566646 secteurs
Unités : secteur de 1 × 4096 = 4096 octets
Taille de secteur (logique / physique) : 4096 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 268431360 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x00003185
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sda1 256 732566527 732566272 2,7T 83 Linux
- -
Et ici-même ./viewtopic.php?id=2031216 (de 2018, sur 1 To) :
Disque /dev/sdc : 931 GiB, 999667949568 octets, 244059558 secteurs
Unités : secteur de 1 × 4096 = 4096 octets
Taille de secteur (logique / physique) : 4096 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : dos
et ./viewtopic.php?id=1955621 (de 12/2015) :
Disk /dev/sde: 4000.8 GB, 4000787025920 bytes
255 têtes, 63 secteurs/piste, 60800 cylindres, total 976754645 secteurs
Unités = secteurs de 1 * 4096 = 4096 octets
Taille de secteur (logique / physique) : 4096 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
et ./viewtopic.php?pid=18780711#p18780711 (dès 12/2014, sur 120 Go) :
Disk /dev/sdb: 120.0 GB, 120034123776 bytes
255 têtes, 63 secteurs/piste, 1824 cylindres, total 29305206 secteurs
Unités = secteurs de 1 * 4096 = 4096 octets
Taille de secteur (logique / physique) : 4096 octets / 4096 octets
.
Et avec la démocratisation des disques de grande capacité, je crois que nous en verrons de plus en plus.
- -
si tu lis sur le forum
Taille de secteur (logique / physique) : 512 octets / 4096 octets
cela indique que physiquement sur le disque le secteur fais effectivement 4096 octets, mais pour le système hote linux, il ne fera que toujours 512 octets, les 4096 octets physique sont gérés par l'électronique du disque dur et complément transparent vis à vis du système.
c'est vrai que même wikipedia peut induire en erreur quelque fois mais là je suis formel:
https://en.wikipedia.org/wiki/Advanced_Format
Puisque tu t'intéresses à l'"Advanced Format" (512/4096), tu auras noté le lien que donnait tiramiseb en #10 :
"(surtout la première réponse, écrite par Rod Smith)"
réponse que j'avais reportée et traduite dans ./viewtopic.php?pid=18848181#p18848181, "[Résolu] Partition bios-grub non vue et démarrage impossible", messages #42 à 44.
Cette réponse de Rod Smith montre que non, les 4096 octets physiques ne sont pas toujours "complètement transparent vis à vis du système". Et qu'il vaut mieux en être informé.
Ça fait donc trois ans que j'ai traduit son texte.
Et qui est Rod Smith ? le rédacteur de man gdisk.
- -
cluster est en effet typique aux système de fichiers Windows
Ce n'est pas le point de vue du rédacteur de man mke2fs (cf. plus haut).
- -
affirme lui aussi que des blocs sont des clusters.
Alors comment expliques-tu (déjà cité) :
man mke2fs
Les valeurs correctes pour la taille du cluster sont comprises entre 2048 octets et 256 Mo (...)
La taille du cluster par défaut, si bigalloc est activé, est égale à 16 fois celle du bloc.
?
- -
mais c'est pas grave bonne journée.
Merci ! À toi aussi !
Dernière modification par moko138 (Le 03/12/2018, à 14:01)
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#7 Le 03/12/2018, à 14:44
- maxire
Re : "reconstituer" une partition
Salut,
Vous vous éloignez largement du fil de discussion.
Secteur disque = unité physique de lecture élémentaire, ce que le logiciel du disque va lire/écrite en une opération d'entée/sortie
Bloc = unité logique de lecture d'un système de fichiers, ce que le logiciel de gestion de fichiers va lire/écrire en un ordre de lecture/écriture générant lui-même plusieurs ordres de lecture/écriture physiques, c'est en général un multiple de secteurs mais pas toujours.
À noter que le bloc n'est pas utilisé uniquement par les gestionnaires de fichiers, une commande comme dd utilise la notion de bloc.
Plus d'information ici https://fr.wikipedia.org/wiki/Secteur_de_disque
Cluster, cela ne veut pas dire autre chose que agrégat ou regroupement en français et aura une signification différente en fonction des éditeurs de logiciels, la notion de cluster en ntfs/windows étant sans doute différente de celle de cluster VSAM (Virtual storage access method) gestionnaire de fichiers d'IBM Z/OS.
Donc inutile de s'étriper à cause de la notion de cluster.
Dernière modification par maxire (Le 03/12/2018, à 14:45)
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#8 Le 03/12/2018, à 16:20
- moko138
Re : "reconstituer" une partition
Merci, maxire, de ces précisions !
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne