draft: Réparer un disque dur bloqué en BSY State (Seagate 7200.11 / Maxtor DiamondMax 22)
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"title": "Réparer un disque dur bloqué en BSY State (Seagate 7200.11 / Maxtor DiamondMax 22)",
|
||||
"slug": "fixing-seagate-7000-11-hard-drive",
|
||||
"_updated_at": "2026-05-15 21:00:32"
|
||||
}
|
||||
@@ -0,0 +1,258 @@
|
||||
# Réparer un disque dur bloqué en BSY State (Seagate 7200.11 / Maxtor DiamondMax 22)
|
||||
|
||||

|
||||
|
||||
## À qui s'adresse ce tutoriel
|
||||
|
||||
Cette procédure ne répare **qu'un seul type de panne** : le bug dit **BSY State** qui affecte une famille bien précise de disques durs fabriqués par Seagate entre fin 2008 et 2009. Si votre disque ne correspond pas, **n'appliquez pas cette procédure** : vous risquez d'aggraver une panne d'une autre nature (PCB grillé, panne mécanique des têtes, contrôleur HS).
|
||||
|
||||
Modèles concernés :
|
||||
|
||||
- **Seagate Barracuda 7200.11** avec firmwares SD15, SD17, SD18, SD19, AD14, AD15
|
||||
- **Seagate Barracuda ES.2** (firmwares SN03, SN05, SN06)
|
||||
- **Maxtor DiamondMax 22** (firmwares MX15, MX1A) — qui sont en réalité fabriqués par Seagate après le rachat de Maxtor
|
||||
- Modèle de l'auteur : Maxtor STM3500320AS
|
||||
|
||||
Symptômes typiques du BSY State :
|
||||
|
||||
- Le disque n'est **pas détecté par le BIOS**
|
||||
- Pas non plus détecté via un adaptateur USB/SATA
|
||||
- **Aucun bruit suspect** : le moteur tourne, les têtes cliquettent normalement au démarrage
|
||||
- Les outils Seagate (SeaTools Windows ou DOS) ne voient rien
|
||||
- Basculer le BIOS de AHCI vers IDE ne change rien
|
||||
|
||||
Le signe diagnostique formel n'est visible qu'une fois la console série branchée : à la mise sous tension, le firmware affiche un message du type `LED:000000CC FAddr:0025BF67`. C'est la signature du BSY State.
|
||||
|
||||
## Ce qu'est réellement le bug BSY
|
||||
|
||||
Contrairement à ce qu'on lit parfois, le bug ne touche **ni les partitions de votre OS, ni les "premiers secteurs" du disque**. Il s'agit d'un dépassement (overflow) dans le **journal d'événements SMART** stocké dans la **System Area** du disque — une zone réservée, située sur les plateaux mais en dehors de l'espace adressable par l'utilisateur (zone dite "négative"). Le firmware n'arrive plus à lire ce journal corrompu au démarrage, reste bloqué dans une boucle d'initialisation, et le disque ne se présente jamais au BIOS.
|
||||
|
||||
La réparation consiste à se connecter au **port de diagnostic UART** présent sur le PCB, à effacer le journal SMART, puis à reconstruire une partition firmware saine. Les données utilisateur sur les plateaux ne sont pas touchées **si l'isolation des têtes est correctement réalisée** (voir plus bas).
|
||||
|
||||
> ⚠️ **Garantie** : l'accès au port de diagnostic implique de retirer le PCB du disque. Cela annule toute garantie constructeur encore en cours.
|
||||
|
||||
## Matériel nécessaire
|
||||
|
||||
- **Adaptateur USB ↔ série TTL 3,3 V** — voir l'avertissement critique ci-dessous
|
||||
- 3 câbles de connexion fins (type fils Dupont femelle/femelle)
|
||||
- Alimentation SATA externe (celle d'un boîtier USB/SATA fait l'affaire)
|
||||
- Tournevis **Torx T5** et T6
|
||||
- Une feuille de papier épais (type bristol) ou un fin film plastique, découpé pour isoler les contacts des têtes
|
||||
- Gaine thermorétractable ou ruban isolant (pour fiabiliser les connexions)
|
||||
- Bracelet antistatique fortement recommandé
|
||||
|
||||
### AVERTISSEMENT CRITIQUE : niveaux de tension
|
||||
|
||||
** ⚠️ Le port série du disque fonctionne en TTL 3,3 V.** Brancher directement un convertisseur USB/TTL 5 V (comme un Arduino Uno standard) sur la broche RX du disque risque d'**endommager définitivement le contrôleur**.
|
||||
|
||||
Deux options sûres :
|
||||
|
||||
1. **Utiliser un adaptateur USB/TTL conçu pour le 3,3 V** : FT232RL, CP2102, CH340G configurés en 3,3 V, ou un convertisseur explicitement étiqueté 3.3V TTL. C'est la solution la plus simple et la plus sûre.
|
||||
|
||||
2. **Utiliser un Arduino mais avec un diviseur de tension sur la ligne TX → RX du disque** : par exemple deux résistances 1 kΩ et 1,8 kΩ pour ramener 5 V à environ 3,2 V. La ligne TX du disque vers RX de l'Arduino peut rester directe (un signal 3,3 V est correctement interprété comme niveau haut par une entrée 5 V).
|
||||
|
||||
L'article original utilisait un Arduino Uno en direct, sans adaptation. Cela a fonctionné pour l'auteur mais reste un pari sur la robustesse du contrôleur du disque. Ne reproduisez pas tel quel.
|
||||
|
||||
## Préparation du convertisseur
|
||||
|
||||
### Avec un adaptateur USB/TTL dédié
|
||||
|
||||
Branchez simplement, et passez au câblage du disque.
|
||||
|
||||
### Avec un Arduino Uno (avec diviseur de tension)
|
||||
|
||||
L'astuce consiste à utiliser l'Arduino uniquement comme convertisseur USB↔série, en court-circuitant le microcontrôleur ATmega328P : reliez la broche **RESET** à **GND**. Le firmware de la puce ATmega16U2 (qui gère l'USB) expose alors directement le port série sur les broches 0 (RX) et 1 (TX).
|
||||
|
||||
Aucun pilote spécifique n'est requis sous Linux ni Windows : la puce 16U2 se présente comme un port COM USB standard.
|
||||
|
||||
## Câblage
|
||||
|
||||
Côté **disque dur**, le bornier série est sur le PCB, généralement à côté de l'interface SATA. PCB vu **du dessus** (côté composants visibles) :
|
||||
|
||||
| Broche | Fonction |
|
||||
|--------|----------|
|
||||
| 1 | non utilisée |
|
||||
| 2 | GND (masse) |
|
||||
| 3 | RX (entrée du disque) |
|
||||
| 4 | non utilisée |
|
||||
| 5 | TX (sortie du disque) |
|
||||
| 6 | non utilisée |
|
||||
|
||||
Le bornier est étroit : prévoyez des connecteurs adaptés et isolez chaque contact à la gaine thermorétractable pour éviter tout court-circuit avec les pistes voisines.
|
||||
|
||||
Connexions :
|
||||
|
||||
- **GND** du disque (broche 2) ↔ **GND** de l'adaptateur
|
||||
- **TX** du disque (broche 5) ↔ **RX** de l'adaptateur
|
||||
- **RX** du disque (broche 3) ↔ **TX** de l'adaptateur (**via diviseur de tension si Arduino 5 V**)
|
||||
|
||||
## Vérification de la connexion série
|
||||
|
||||
Sous Linux, vérifiez l'apparition du port :
|
||||
|
||||
```bash
|
||||
ls -l /dev/serial/by-id/
|
||||
```
|
||||
|
||||
Vous devez voir une entrée du type `usb-Arduino_Srl_Arduino_Uno_...` ou `usb-FTDI_FT232R_USB_UART_...` pointant vers `/dev/ttyACM0` ou `/dev/ttyUSB0`.
|
||||
|
||||
Configurez **PuTTY** (Windows ou Linux) avec les paramètres suivants :
|
||||
|
||||
- Port : `/dev/ttyACM0` (ou équivalent)
|
||||
- Vitesse : **38400 bauds**
|
||||
- 8 bits de données, 1 bit de stop, pas de parité, pas de contrôle de flux
|
||||
|
||||

|
||||
|
||||
Ouvrez la session, **puis** alimentez le disque dur. Au bout de quelques secondes, le firmware émet :
|
||||
|
||||
```
|
||||
LED:000000CC FAddr:0025BF67
|
||||
```
|
||||
|
||||
C'est confirmé : le disque est bien en BSY State. Coupez l'alimentation du disque avant de continuer.
|
||||
|
||||
## Réparation
|
||||
|
||||
La procédure se déroule en trois phases :
|
||||
|
||||
1. **Isoler les têtes de lecture du PCB**, pour empêcher toute écriture parasite pendant la manipulation.
|
||||
2. **Effacer le journal SMART corrompu** dans la System Area.
|
||||
3. **Reformater la partition firmware** et redémarrer le disque.
|
||||
|
||||
### Phase 1 — Isolation des têtes
|
||||
|
||||
**Pourquoi cette étape ?** Pendant l'effacement du journal, le firmware pourrait tenter d'écrire sur les plateaux. Si les têtes sont électriquement déconnectées du PCB, aucune écriture ne peut atteindre la surface : vos données utilisateur restent intactes. C'est la garantie du caractère non destructif de la procédure.
|
||||
|
||||
1. Disque **hors tension**, adaptateur série **débranché** de l'ordinateur.
|
||||
2. Avec un Torx T6, retirez les vis du PCB.
|
||||
3. Soulevez délicatement le PCB pour exposer le **connecteur des têtes** (un peigne de contacts métalliques sur l'envers du PCB, en regard d'un connecteur sur le corps du disque).
|
||||
4. Découpez un morceau de papier épais ou de film plastique fin, suffisamment large pour couvrir **uniquement les contacts des têtes** (pas ceux du moteur — qui sont généralement séparés et plus gros).
|
||||
5. Replacez le PCB en intercalant la feuille entre les contacts des têtes et leurs plots côté disque.
|
||||
6. Revissez **uniquement les vis qui ne pincent pas la feuille** (souvent les deux de droite) pour maintenir le PCB en position.
|
||||
|
||||
Le papier doit pouvoir être retiré ensuite **sans démonter à nouveau** le disque.
|
||||
|
||||
### Phase 2 — Effacement du journal SMART
|
||||
|
||||
7. Rebranchez l'adaptateur série à l'ordinateur, ouvrez la session PuTTY, puis alimentez le PCB.
|
||||
8. Au bout de quelques secondes, appuyez sur **Ctrl+Z**. Réponse :
|
||||
```
|
||||
F3 T>
|
||||
```
|
||||
9. Passez au niveau 2 du shell de diagnostic :
|
||||
```
|
||||
/2
|
||||
```
|
||||
Le moteur s'arrête, réponse :
|
||||
```
|
||||
F3 2>
|
||||
```
|
||||
10. **Attendez au moins 20 secondes** que les plateaux soient complètement arrêtés (10 s en théorie, 20 par prudence).
|
||||
11. Informez le firmware de l'arrêt du moteur :
|
||||
```
|
||||
Z
|
||||
```
|
||||
Comme les têtes sont isolées, le firmware répond immédiatement :
|
||||
```
|
||||
Spin Down Complete
|
||||
Elapsed Time 0.147 msecs
|
||||
F3 2>
|
||||
```
|
||||
|
||||
**Retrait de la feuille isolante** — étape délicate :
|
||||
|
||||
12. **Sans couper l'alimentation**, retirez minutieusement la feuille isolante.
|
||||
13. Remettez les vis manquantes, en vérifiant qu'aucune ne fait court-circuit avec une piste du PCB.
|
||||
|
||||
14. Redémarrez le moteur :
|
||||
```
|
||||
U
|
||||
```
|
||||
Réponse :
|
||||
```
|
||||
Spin Up Complete
|
||||
Elapsed Time 7.093 secs
|
||||
F3 2>
|
||||
```
|
||||
|
||||
15. Passez au niveau 1 :
|
||||
```
|
||||
/1
|
||||
```
|
||||
Réponse :
|
||||
```
|
||||
F3 1>
|
||||
```
|
||||
|
||||
16. Effacez la partition contenant le journal SMART :
|
||||
```
|
||||
N1
|
||||
```
|
||||
Le retour est silencieux : le prompt `F3 1>` revient simplement.
|
||||
|
||||
17. **Coupez l'alimentation SATA du disque** et attendez une vingtaine de secondes avant de la rétablir. Cette étape force le firmware à recharger ses structures internes.
|
||||
|
||||
### Phase 3 — Reconstruction de la partition firmware
|
||||
|
||||
18. Adaptateur série toujours connecté, appuyez à nouveau sur **Ctrl+Z**. Réponse :
|
||||
```
|
||||
F3 T>
|
||||
```
|
||||
|
||||
19. Lancez le reformatage de la partition utilisateur du firmware :
|
||||
```
|
||||
m0,2,2,0,0,0,0,22
|
||||
```
|
||||
Décomposition de la commande : `m` = format, `0` = partition cible (User Partition de la System Area), suivi de paramètres de zone et de retry. **Ne modifiez pas ces valeurs.**
|
||||
|
||||
Réponse, après quelques secondes à plusieurs minutes selon la capacité du disque :
|
||||
```
|
||||
Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewrite Retries = 00C8
|
||||
User Partition Format 10% complete, Zone 00, Pass 00, LBA 00004339, ErrCode 00000080, Elapsed Time 0 mins 05 secs
|
||||
User Partition Format Successful - Elapsed Time 0 mins 05 secs
|
||||
```
|
||||
|
||||
20. **Attendez impérativement le message `Format Successful`** avant de couper l'alimentation. Une interruption à ce stade peut briquer définitivement le disque.
|
||||
|
||||
21. Coupez l'alimentation, débranchez l'adaptateur série, remontez le disque dans son emplacement habituel et redémarrez l'ordinateur. Le BIOS doit maintenant le détecter normalement.
|
||||
|
||||
## Après la réparation
|
||||
|
||||
Le disque fonctionne à nouveau, mais **le contrôleur a montré une faiblesse de conception**. Il faut considérer ce disque comme un support de transition, pas comme un stockage fiable :
|
||||
|
||||
1. **Démarrez immédiatement une sauvegarde complète** des données vers un autre support.
|
||||
2. Mettez à jour le firmware vers la dernière version Seagate disponible pour votre modèle si elle existe (SD1A pour les 7200.11, par exemple, corrige le bug à la source).
|
||||
3. Surveillez le disque avec `smartmontools` (`smartctl -a /dev/sdX`).
|
||||
4. À terme, remplacez ce disque — l'auteur recommande de ne pas le réutiliser pour des données importantes.
|
||||
|
||||
## Sécurité électrostatique et bonnes pratiques
|
||||
|
||||
- Travaillez sur une surface non conductrice, à l'écart de moquette ou tapis.
|
||||
- Portez un bracelet antistatique relié à la masse, ou touchez régulièrement une partie métallique reliée à la terre.
|
||||
- Manipulez le PCB par les bords, jamais par les composants ou les pistes.
|
||||
- N'ouvrez **jamais** la partie scellée du disque (les plateaux) : la procédure ne demande que le retrait du PCB extérieur.
|
||||
|
||||
## Diagnostic différentiel : est-ce vraiment un BSY State ?
|
||||
|
||||
Avant de vous lancer, écartez les autres causes possibles d'un disque non détecté :
|
||||
|
||||
| Symptôme | Cause probable | Cette procédure aide ? |
|
||||
|----------|----------------|------------------------|
|
||||
| Aucun bruit, le moteur ne démarre pas | PCB ou moteur HS | Non |
|
||||
| Cliquetis répétés ("click of death") | Têtes HS, panne mécanique | Non — risque d'aggraver |
|
||||
| Démarre, est détecté par le BIOS, mais non lisible | Corruption logique ou secteurs défectueux | Non — utilisez TestDisk/ddrescue |
|
||||
| Démarre, **non détecté** par le BIOS, message `LED:000000CC` sur la console série | **BSY State** | **Oui** |
|
||||
| Démarre, détecté avec une capacité de 0 Go (LBA0 bug) | Variante du même bug | Oui, procédure légèrement différente |
|
||||
|
||||
## Liens utiles
|
||||
|
||||
- Fil de référence sur HDDGuru (Gradius2, 2009) : <https://forum.hddguru.com/viewtopic.php?t=15813>
|
||||
- Bulletin Seagate sur le bug : <https://www.seagate.com/support/kb/firmware-recommendations-for-select-barracuda-72-007225-en-us/>
|
||||
- SeaTools : <https://www.seagate.com/support/downloads/seatools/>
|
||||
- Surveillance SMART sous Linux : <https://www.guillaume-leduc.fr/surveillez-la-sante-de-vos-disques-sous-linux-avec-smartmontools.html>
|
||||
- Article Wikipedia sur SMART : <https://fr.wikipedia.org/wiki/Self-Monitoring,_Analysis_and_Reporting_Technology>
|
||||
|
||||
---
|
||||
|
||||
*Retour d'expérience personnel sur un Maxtor STM3500320AS récupéré avec succès. Cette procédure est documentée publiquement depuis 2009 ; les informations techniques sur la System Area des Seagate proviennent de la communauté HDDGuru.*
|
||||
Reference in New Issue
Block a user