From 3eb0877621e69cc82b02735965b8b9241d3d150b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9drix?= Date: Fri, 15 May 2026 22:54:53 +0200 Subject: [PATCH] =?UTF-8?q?draft:=20R=C3=A9parer=20un=20disque=20dur=20HS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../draft_overlay.json | 4 +- .../draft_overlay.md | 258 ------------------ 2 files changed, 2 insertions(+), 260 deletions(-) diff --git a/910e2c3d-93f1-4af5-816c-4bc489cb0abe/draft_overlay.json b/910e2c3d-93f1-4af5-816c-4bc489cb0abe/draft_overlay.json index 27e1fa7..18957c7 100644 --- a/910e2c3d-93f1-4af5-816c-4bc489cb0abe/draft_overlay.json +++ b/910e2c3d-93f1-4af5-816c-4bc489cb0abe/draft_overlay.json @@ -1,5 +1,5 @@ { - "title": "Réparer un disque dur bloqué en BSY State (Seagate 7200.11 / Maxtor DiamondMax 22)", - "_updated_at": "2026-05-15 20:54:41", + "title": "Réparer un disque dur HS", + "_updated_at": "2026-05-15 20:54:53", "slug": "fixing-seagate-7000-11-hard-drive" } diff --git a/910e2c3d-93f1-4af5-816c-4bc489cb0abe/draft_overlay.md b/910e2c3d-93f1-4af5-816c-4bc489cb0abe/draft_overlay.md index 46f8b4f..e69de29 100644 --- a/910e2c3d-93f1-4af5-816c-4bc489cb0abe/draft_overlay.md +++ b/910e2c3d-93f1-4af5-816c-4bc489cb0abe/draft_overlay.md @@ -1,258 +0,0 @@ -# Réparer un disque dur bloqué en BSY State (Seagate 7200.11 / Maxtor DiamondMax 22) - -![Réparation d'un disque dur](hard-drive-repair.jpg) - -## À 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 - -![Configuration PuTTY](putty_serial.png) - -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) : -- Bulletin Seagate sur le bug : -- SeaTools : -- Surveillance SMART sous Linux : -- Article Wikipedia sur SMART : - ---- - -*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.* \ No newline at end of file