[Linux-31] (Dix HDD] Host Protected Area
Joyce MARKOLL
joyce.markoll at gmx.fr
Dim 22 Fév 23:04:48 CET 2015
Bonjour,
Je remet les posts dans l'ordre d'arrivée (le premier en haut).
>Le 21 février 2015 12:54, Joyce MARKOLL <joyce.markoll at gmx.fr> a écrit :
On Sat, 21 Feb 2015 13:25:44 +0100
Christophe VANHOUTTE <tx1138 at gmail.com> wrote:
> > Bonjour,
> >
> > On m'a fait envoyer (offert) un lot de disques durs supposés fonctionnels,
> > diverses
> > marques, s-ata 160 GB. Objectif, les utiliser dans des machines de réforme
> > pour présenter
> > et faire essayer des distributions GNU/Linux.
> >
> > Lors du déballage et de la premier connexion à un cable s-ata on voit
> > qu'ils sont vides,
> > gsmartcontrol présente des disques ayant servi, avec un nombre de cycles
> > plus ou moins
> > grand selon les disques (j'en ai sorti trois pour l'instant sur 10), pas
> > d'erreur lors de
> > tests. Idem pour un disque dur avec WHDD, http://whdd.org : pas d'erreur
> > de lecture. Mais
> > il y a une zone HPA dessus !
> >
> > J'ai aussi fait des tests avec le freeware MHDD (lu pas mal de pages de
> > doc et de FAQ
> > pour en savoir assez pour pouvoir invoquer les outils fournis adéquats),
> > et tandis qu'il
> > n'y a pas d'erreur détectée, il y a un HPA qui pourrait empêcher toute
> > utilisation de ces
> > HDD.
> >
> > J'ai testé des commandes hdparm, et une commande MHDD en dos, je n'ai pas
> > réussi à
> > supprimer le HPA.
> >
> > # hdparm -N /dev/sdb
> >
> > retourne I/O error
> >
> > # hdparm -N p<nombre de secteurs> /dev/sdb
> >
> > retourne une erreur. ("fdisk -l /dev/sdb" fournit le nombre de secteurs)
> >
> > L'outil de MHDD retourne aussi une erreur.
> >
> > Vu dans WHDD (logiciel Opensource clonant partiellement MHDD/freeware):
> > http://linuxvillage.org/wp-content/uploads/images/HPA-Enabled.png
> >
> > Un autre disque dur, par comparaison (lui ne fait pas partie du lot, c'est
> > un hdd de 500
> > Go dont j'ai sauvé les données avec WHDD, et il a lui aussi un HPA, mais
> > semble-t-il,
> > nettement plus petit):
> > http://linuxvillage.org/wp-content/uploads/images/whdd1.png
> >
> > J'ai l'impression que en fait, le HPA des HDD de 160 Go prend tout le
> > disque dur hormis
> > 512 kb, ce qui est assez tordu si je ne me trompe pas sur l'interprétation
> > de ce que je
> > lis.
> >
> > Je pense apporter un ou deux de ces HDD à Ramonville tout à l'heure :
> > quelqu'un en
> > connaît-il assez pour essayer de trouver une méthode qui fonctionne pour
> > supprimer ces
> > HPA ?
> Bonjour,
>
> C'est peut-être une partition où il y avait une restauration de l'OS ?
>
> Mais c'est à voir.
>
> J'aurai un adaptateur SATA / USB pour voir cela
Alors il apparaît qu'il y a un HPA sur certains disques durs mais pas sur tous, et que
sur certains il y a une information dans le MBR.
Lors de la rencontre de hier à Ramonville, Pascal m'a aidée à y voir plus clair dans les
retours de commandes et à en ajouter de fort utiles pour traiter ces disques durs.
Par contre je n'ai pas retenu la commande employée pour lire si le MBR contient quelque
chose. Une recherche sur le net m'en a trouvé une autre, (je crois que c'est une autre)
qui sort tout en plus bavard me semble.
J'ai connecté un autre disque dur, et utilisé les commandes suivantes:
Disque dur Seagate 160 Go:
***********************************
[root at ubuntu:~]# fdisk -l /dev/sda
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 têtes, 63 secteurs/piste, 19457 cylindres, total 312581808 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x00000000
Périphérique Amorçage Début Fin Blocs Id. Système
/dev/sda1 * 0 0 0 0 Vide
[root at ubuntu:~]#
***********************************
Lire les informations sur le disque:
(il n'a pas trouvé de HPA)
***********************************
[root at ubuntu:~]# hdparm -I /dev/sda
/dev/sda:
ATA device, with non-removable media
Model Number: ST3160812AS
Serial Number: 5LSAEB4G
Firmware Revision: 3.AHL
Standards:
Supported: 7 6 5 4
Likely used: 8
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 268435455
LBA48 user addressable sectors: 312581808
Logical Sector size: 512 bytes
Physical Sector size: 512 bytes
device size with M = 1024*1024: 152627 MBytes
device size with M = 1000*1000: 160041 MBytes (160 GB)
cache/buffer size = 8192 KBytes
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Recommended acoustic management value: 208, current value: 0
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* SMART feature set
* Power Management feature set
* Write cache
* Look-ahead
* WRITE_BUFFER command
* READ_BUFFER command
* DOWNLOAD_MICROCODE
* 48-bit Address feature set
Device Configuration Overlay feature set
* Mandatory FLUSH_CACHE
* FLUSH_CACHE_EXT
* SMART error logging
* SMART self-test
* General Purpose Logging feature set
* Gen1 signaling speed (1.5Gb/s)
* Gen2 signaling speed (3.0Gb/s)
* Native Command Queueing (NCQ)
* Phy event counters
Device-initiated interface power management
* Software settings preservation
* SMART Command Transport (SCT) feature set
* SCT Error Recovery Control (AC3)
Checksum: correct
[root at ubuntu:~]#
***********************************
Donc l'option -N envoie un message I/O error:
(j'ai retenu au moins un peu… )
***********************************
[root at ubuntu:~]# hdparm -N /dev/sda
/dev/sda:
READ_NATIVE_MAX_ADDRESS_EXT failed: Input/output error
[root at ubuntu:~]#
***********************************
Cherchant à lire si des données sont présentes
dans le MBR j'ai tiré une option du man
(Oulà ! C'est quoi ce retour ?)
***********************************
[root at ubuntu:~]# hdparm --read-sector 1 /dev/sda
/dev/sda:
reading sector 1: succeeded
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
dada dada dada dada dada dada dada dada
[root at ubuntu:~]#
***********************************
J'ai donc STFW et lu la commande
suivante sur le wiki ubuntu-fr.org:
***********************************
[root at ubuntu:~]# dd if=/dev/sda bs=512 count=1 | hexdump -C
00000000 eb 01 90 ea 08 7c 00 00 fc b8 00 10 8e c0 b8 7f |.....|..........|
1+0 enregistrements lus
1+0 enregistrements écrits
512 octets (512 B) copiés00000010 02 31 db b9 03 00 30 f6 cd 13 0f 82 f2 00 b8 00
|.1....0.........| , 0,013333 s, 38,4 kB/s
00000020 10 8e d8 b8 00 20 8e c0 31 f6 66 31 ff 31 d2 bd |..... ..1.f1.1..|
00000030 35 7c e9 dd 00 88 c3 c0 e3 04 bd 40 7c e9 d2 00 |5|.........@|...|
00000040 08 d8 30 e4 89 c1 a8 80 75 1e bd 50 7c e9 c2 00 |..0.....u..P|...|
00000050 41 26 88 05 66 47 85 ff 75 0a 8c c7 81 c7 00 10 |A&..fG..u.......|
00000060 8e c7 31 ff e2 eb eb 1f 80 e1 7f 41 bd 72 7c e9 |..1........A.r|.|
00000070 a0 00 26 88 05 66 47 85 ff 75 0a 8c c7 81 c7 00 |..&..fG..u......|
00000080 10 8e c7 31 ff e2 e8 66 81 ff 00 b0 04 00 72 9f |...1...f......r.|
00000090 b8 12 00 cd 10 31 db be 29 7d ba c8 03 88 d8 3c |.....1..)}.....<|
000000a0 06 74 06 3c 08 72 04 04 22 04 0e ee b9 03 00 42 |.t.<.r.."......B|
000000b0 2e ac ee e2 fb 43 81 fb 10 00 75 de b8 00 a0 8e |.....C....u.....|
000000c0 c0 ba 01 00 b8 00 20 8e d8 66 31 f6 31 ff 89 d0 |...... ..f1.1...|
000000d0 88 c4 b0 02 87 ea ba c4 03 ef 87 ea 31 db d1 e3 |............1...|
000000e0 8a 04 66 46 85 f6 75 0a 8c de 81 c6 00 10 8e de |..fF..u.........|
000000f0 31 f6 84 d0 74 01 43 f7 c6 07 00 75 e1 89 d8 aa |1...t.C....u....|
00000100 66 81 fe 00 b0 04 00 72 d3 d1 e2 f6 c2 10 74 b4 |f......r......t.|
00000110 eb fe f6 c2 01 74 08 30 d2 88 f0 24 0f ff e5 ac |.....t.0...$....|
00000120 88 c6 b2 01 c0 e8 04 ff e5 3f 3f 3f 3d 30 32 3a |.........???=02:|
00000130 20 25 38 10 18 35 00 0b 30 30 30 20 20 20 10 10 | %8..5..000 ..|
00000140 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 |................|
000001c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|
00000200
[root at ubuntu:~]#
***********************************
Ensuite, la fameuse commande pour
effacer le contenu du MBR:
***********************************
[root at ubuntu:~]# dd if=/dev/zero of=/dev/sda bs=512 count=1
1+0 enregistrements lus
1+0 enregistrements écrits
512 octets (512 B) copiés, 0,0227239 s, 22,5 kB/s
***********************************
De nouveau la commande pour lire
si le MBR possède un contenu
(c'est bien plus court, j'en déduis qu'il
y avait "quelque chose" qui n'y est plus):
***********************************
[root at ubuntu:~]# dd if=/dev/sda bs=512 count=1 | hexdump -C
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
1+0 enregistrements lus
1+0 enregistrements écrits
512 octets (512 B) copiés, 0,00726898 s, 70,4 kB/s
*
00000200
[root at ubuntu:~]#
***********************************
Quelqu'un a-t-il quelque chose à ajouter ?
Cordialement,
Joyce
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: non disponible
Type: application/pgp-signature
Taille: 819 octets
Desc: non disponible
URL: <http://culte.org/pipermail/linux-31/attachments/20150222/00a1d5a8/attachment.sig>
Plus d'informations sur la liste de diffusion Linux-31