[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