Impossible de démarrer Squeeze

Bonjour,
Je n’arrive plus à démarrer Squeeze. J’ai droit à un “fsck”, give paswword for maintenance ( or type control-d to continue…Je soupçonne mon disque dur de poser des problèmes car quelques cylindres sont endommagés à la suite d’un arrêt brutal de l’ordinateur.
Je voudrais repartir sur de bonnes bases. J’ai lu qu’un formatage de bas niveau permettait de reconstruire les clusters du disque dur.Je peux formater sous un Windows 7. Ensuite je souhaite installer Wheezy à partir d’une image Iso.
Actuellement je découvre les possibilités de wheezy sous Oracle VirtualBox.
Je vous remercie de votre aide.

Un formatage bas niveau requiert généralement un logiciel fourni par le fabriquant.
De quelle marque est ton disque ?

Si le disque a effectivement des secteurs physiques défectueux, alors il ne faut surtout pas exécuter fsck dont le rôle est de détecter et corriger les erreurs logiques d’un système de fichiers, et non les erreurs physiques d’un disque. Le remède pourrait être pire que le mal.
Donc en premier utiliser smartctl du paquet smartmontools et badblocks en lecture seule pour vérifier si ton disque a bien des secteurs défectueux. Ces outils sont disponible sur un CD live Debian rescue.

Ça n’existe plus. Le formatage de bas niveau d’un disque ne peut être fait qu’en usine lors de la fabrication. Même la plupart des logiciels fournis par les fabricants ne le font pas, en tout cas tous ceux que j’ai essayés. Le mieux qui puisse s’en approcher, c’est un réécriture avec des zéros ou autre motif de tous les secteurs. Simple à réaliser avec dd ou avec (l’encore indispensable) badblocks. Mais cela ne corrige pas forcément toutes les erreurs.

Note : un disque n’a pas de “clusters”, c’est une notion du système de fichiers FAT/NTFS pour désigner un groupe de secteurs. Avec les systèmes de fichiers Linux on parle plutôt de “blocs”.

En revanche, si le disque est intact et ne contient que des erreurs logiques de systèmes de fichiers, alors exécuter fsck pour les corriger.

Je précise que la vérification a été faite avec Test Disk et le diagnostique a été “Read error ai 51357/1/1(Cba=825050268)”. Test Disk est -il fiable? Malgré le problème cela a bien fonctionné pendant un mois.
J’ai essayé d’installer Debian Wheezy à partir d’une image Iso gravée dans le lecteur mais cela ne fonctionne pas. F12 ré-enclanche Debian Squeeze et l’écran apparaît, puis arrivent ensuite les messages d’erreurs.
"
Je serais prêt à installer Wheezy sur mon disque dur aux quelques secteurs abimés" car je m’en sers pour mes travaux pratiques.

Donc ma question annexe est comment installer Wheezy alors que Squeeze est déjà installée mais pas accessible?

Je suis retraité, je n’ai personne dans mon entourage pour m’aider mais le Forum m’est d’un grand secours!
Merci à tous :006

Testdisk est plus un programme de récupération de données que de réparation. A mon avis ce n’est pas l’outil adapté ici. En revanche s’il signale une erreur de lecture, c’est que le disque a des erreurs physiques, sauf s’il fait moins de 422 Go ; dans ce cas c’est que testdisk a essayé de lire au-delà de la fin du disque, peut-être à cause d’une erreur logique qui lui a fait croire qu’il y avait des données à cet endroit.

Mais encore ?

C’est très risqué d’utiliser un disque avec des secteurs défectueux non identifiés. S’ils sont peu nombreux et n’augmentent pas, il y a deux possibilités :

  • essayer de forcer le contrôleur intégré du disque à les réparer ou les réallouer dans des secteurs de réserve en les lisant et en les écrivant, par exemple avec badblocks (long et fastidieux) ;
  • lors de la création des systèmes de fichiers avec mkfs ou du swap avec mkswap, utiliser l’option -c pour détecter et marquer les blocs défectueux comme inutilisables.

Ce disque fait 1To.Donc il y a les 2 méthodes que tu évoques. Je vais tenter la moins fastidieuse parce que le problème d’arrêt brutal est arrivé alors qu’il était neuf !

J’aimerais connaître la méthode pour installer Wheezy sur un disque suppose défectueux . Je précise que Squeeze a été installée sur le disque entier. Bon, même n’y connaissant rien je me dis que logiquement le fait que Wheezy ne soit plus accessible complique beaucoup les choses !
Il n’y a peut- être pas d’autres solutions, hormis passer par la case empêcher les secteurs défectueux de nuire. :017

Le disque est neuf ? S’il est encore sous garantie, il ne faut pas hésiter : sauvegarde des données importantes et retour au SAV.

État presque neuf, c’est a dire ayant peu servi (j’ai 2 disques dur actuellement installés dans ma tour (un sous Windows 7 et l’autre sous ubuntu Debian , Wheezy étant installé dans VirtualBox) mais il n’est plus sous garantie.
Le disque defectueux est affecté à Debian. Les 3 disques sont reconnus par la carte mère et je choisis au démarrage de l’ordinateur: un écran s’affiche. C’est la méthode de grand débutant que j’ai choisie. Cela m’évite du stress car je suis toujours certain d’avoir sous la main un OS qui fonctionne.
Et puis le Lamda que je suis résiste ainsi à la tentation d’aller acheter un MacBook.

Mon objectif : être capable de gérer une Debian qui m’apporterait autant de fonctionnalités qu’un Mac os. Et puis c’est meilleur pour l’intellect. Mais c’est chronophage et mes 20 ans sont loins !
Alors je me demande aussi si , vu les années qui me restent à vivre, cela en vaut la peine !

On peut commencer par essayer de faire un état du disque malade depuis le système Ubuntu opérationnel. Ça va prendre quelques heures. Installe le paquet smartmontools si nécessaire et exécute les commandes suivantes en root où sdX est le disque à analyser :

smartctl -A /dev/sdX badblocks -sve 20 -o badblocks_sdX.txt /dev/sdX
La première commande permettra d’avoir une idée du nombre de secteurs actuellement connus comme défectueux par le disque. La seconde commande recherche les secteurs défectueux et enregistre leur position dans un fichier. Je mets une limite (arbitraire) à 20 car s’il y a beaucoup de secteurs défectueux qui se suivent alors la recherche peut devenir très longue, et il y a lieu d’adapter la stratégie pour gagner du temps. Si les secteurs défectueux sont dus à un arrêt sauvage, ils ne devraient pas être très nombreux ni dispersés.

GSmartControl est ouvert:
Drive information:
/dev/sdb, 1.00 TB, WDC WD10EALX-009BA0
donc la première commande à exécuter sera:smartctl -A /dev/?

J’ai effectué le test proposé dans la fenêtre de SMART:
Complete selective self-test log:

SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Pour faire le test demandé par pascal, la commande est

tu peux aussi utiliser les utilitaires de western digital
Data Lifeguard Diagnostics for DOS
wdc.custhelp.com/app/answers/det … e-or-solid

j’ai ouvert le terminal en root, ce qui donne:
ROOT 5.34/00 (branches/v5-34-00-patches@44555, Apr 18 2013, 04:51:00 on linux)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] smartctl -A /dev/sdb
Error: Symbol smartctl is not defined in current scope (tmpfile):1:
Error: Symbol A is not defined in current scope (tmpfile):1:
Error: Symbol dev is not defined in current scope (tmpfile):1:
Error: operator ‘/’ divided by zero (tmpfile):1:
Error: Symbol sdb is not defined in current scope (tmpfile):1:
Error: operator ‘/’ divided by zero (tmpfile):1:
(const int)0
*** Interpreter error recovered ***
root [1]
Je n’ai pas du taper la bonne commande !

Bon cette fois-ci on y est:
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 197 197 051 Pre-fail Always - 2397
3 Spin_Up_Time 0x0027 177 167 021 Pre-fail Always - 4150
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 965
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 099 099 000 Old_age Always - 916
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 963
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 303
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 661
194 Temperature_Celsius 0x0022 115 109 000 Old_age Always - 32
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 1
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 1
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline

Fin de la phase d’évaluation en limitant à 20 :

badblocks -sve 20 -o badblocks_sdX.txt /dev/sdb

Vérification des blocs 0 à 976762583
Vérification des blocs défectueux (test en mode lecture seule) : 0.00% effectuTrop de blocs défectueux, test abandonnéerreurs)
complété
Passe complétée, 20 blocs défectueux repérés. (20/0/0 erreurs)
Hum! Heureusement je n’ai pas de données à récupérer!

Etonnamment, les attributs SMART ne sont pas très inquiétants.

5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0 196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
Aucun secteur détecté comme défectueux par le passé n’a été réalloué. Au moins, le stock de secteurs de réserve est intact.

197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 1 198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 1
Un seul secteur est actuellement marqué comme illisible, ce qui me paraît peu. D’autant plus que badblocks s’est arrêté après 20 erreurs. Donc soit il y a au moins 20 secteurs défectueux, soit le disque a tendance à partir en vrille après avoir tenté de lire le premier secteur défectueux. Que contient le fichier badblocks_sdX.txt (il aurait fallu remplacer X par b) dans lequel badblocks a écrit la liste des blocs en erreur ?

" secteur détecté comme défectueux par le passé n’a été réalloué. Au moins, le stock de secteurs de réserve est intact."
C’est encourageant! Je vais relire l’evaluation de Smart en fonction de ce que tu me dis.

L’interprétation des données SMART par les différents logiciels est rarement pertinente, en dehors du conseil de précaution “remplacez le disque maintenant !” au moindre problème.
SMART est une chose, le résultat de badblocks en est un autre. Or ce dernier est plus pessimiste. On peut avoir la liste des blocs détectés comme défectueux dans le fichier badblocks_sdX.txt ?

"smartctl -A /dev/sdX
badblocks -sve 20 -o badblocks_sdX.txt /dev/sdX

La première commande permettra d’avoir une idée du nombre de secteurs actuellement connus comme défectueux par le disque. La seconde commande recherche les secteurs défectueux et enregistre leur position dans un fichier."

J’ai bien envie de recommencer l’évaluation de Smart en remplaçant X par b.
Soit en root: sudo -i
puis, la deuxième commande::~# badblocks -sve 20 -o badblocks_sdb.txt /dev/sdb

Ensuite je te transmets le résultat.Je suppose qu’il n’est pas nécessaire de reprendre à partir de la première ligne “smartctl -A /dev/sdb”.

“On peut avoir la liste des blocs détectés comme défectueux dans le fichier badblocks_sdX.txt ?”

Où trouver le fichier “badblocks_sdb.txt”? Est-ce à partir du DEvice Information -/dev/sdb Model:…?