* умирающий IDE HDD (как ему помочь?)

IDE, SATA, SCSI, внешние USB-HDD, SSD, USB-Flash накопители

Модератор: Модераторы разделов

Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

* умирающий IDE HDD

Сообщение Doka »

есть хард, который на программном уровне опознаётся системой:

Код: Выделить всё

[doka@centos httpd]$ ls -l /dev/sdc*
brw-r----- 1 root disk 8, 32 2008-01-01 16:17 /dev/sdc
brw-r----- 1 root disk 8, 33 2008-01-01 16:17 /dev/sdc1
brw-r----- 1 root disk 8, 34 2008-01-01 16:17 /dev/sdc2
brw-r----- 1 root disk 8, 35 2008-01-01 16:17 /dev/sdc3
brw-r----- 1 root disk 8, 36 2008-01-01 16:17 /dev/sdc4
brw-r----- 1 root disk 8, 37 2008-01-01 16:17 /dev/sdc5


но подмонтировать его не получается:

Код: Выделить всё

[root@centos ~]# mount -t vfat /dev/sdc4 /hdd/x2
mount: /dev/sdc4: can't read superblock

Код: Выделить всё

[root@centos ~]# mount -t vfat /dev/sdc5 /hdd/x3
mount: special device /dev/sdc5 does not exist

Код: Выделить всё

 [root@centos ~]# mount -t vfat /dev/sdc1 /hdd/x1
mount: wrong fs type, bad option, bad superblock on /dev/sdc1,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
[root@centos ~]# dmesg | tail
FAT: bogus number of reserved sectors
VFS: Can't find a valid FAT filesystem on dev sdc1.



под виндой диск вообще никак не видится и она зависает при его подключении hot-plug либо вообще не грузится (если он установлен в системе штатно в добавок к основным)
внутри диска иногда возникает тихий стук (непериодический), но ведь линукс смог определить разбиения на партиции!!! ( ls -l /dev/sdc* )
значит механика тоже пока еще работает, более того худо-бедно работает и :

Код: Выделить всё

[root@centos ~]# hdparm -Tt /dev/sda /dev/sdc
/dev/sda:
 Timing cached reads:   320 MB in  2.00 seconds = 159.84 MB/sec
 Timing buffered disk reads:  170 MB in  3.01 seconds =  56.40 MB/sec

/dev/sdc:
 Timing cached reads:   348 MB in  1.95 seconds = 178.41 MB/sec
 Timing buffered disk reads:   22 MB in  3.00 seconds =   7.33 MB/sec


сам диск - барракуда 200Гб:

Код: Выделить всё

[doka@centos by-id]$ ls -l
lrwxrwxrwx 1 root root  9 2008-01-01 16:17 usb-ST320082_6A___________-0:0 -> ../../sdc
lrwxrwxrwx 1 root root 10 2008-01-01 16:17 usb-ST320082_6A___________-0:0-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 2008-01-01 16:17 usb-ST320082_6A___________-0:0-part2 -> ../../sdc2
lrwxrwxrwx 1 root root 10 2008-01-01 16:17 usb-ST320082_6A___________-0:0-part3 -> ../../sdc3
lrwxrwxrwx 1 root root 10 2008-01-01 16:17 usb-ST320082_6A___________-0:0-part4 -> ../../sdc4
lrwxrwxrwx 1 root root 10 2008-01-01 16:17 usb-ST320082_6A___________-0:0-part5 -> ../../sdc5

притом по by-label тоже присутствует одна правильно распознанная метка одного из логических дисков

файловые системы партиций - fat32 & ntfs

задача: вытащить инфу с пока еще полуживого харда

вопрос:
1) как это можно сделать
2) как можно диагностировать масштабы бедствия - что повреждено, что можно заменить
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3696
ОС: Mandriva => Gentoo (~amd64)

Re: * умирающий IDE HDD

Сообщение devilr »

Тихий стук - это ошибка позиционирования (т.е. блок головок, не найдя нужного сектора, бьется об ограничитель). На старых жестких дисках был звон, на новых, возможно, изменили конструкцию и звук стал тише.
В принципе, можно штатно его подцепить, затем в BIOS уменьшить его параметры, т.е. отключить все его UDMA - чтоб он загрузился в PIO-mode. Потом попробовать программы для вытаскивания данных - очень даже может быть, что медленно, но верно, удастся вытащить данные. Винт для вытащенных данных должен быть подключен сразу - не исключено, что это подключение может быть последним для битого винта.
А вообще - какова стоимость извлекаемых данных? Мож проще отдать его в сертифицированный СЦ? В моем городе такое извлечение данных стоит 1200-1500 рублей. Ваши данные дороже?

Но этот винт хоронить придется однозначно, имхо.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: * умирающий IDE HDD

Сообщение Doka »

вобщем, дела такие:

после непонятно чего - толи долгого сканирования толи прогрева (причина отказа - перегрев при интенсивной работе (оставил уехав на работу в китайском мобилреке без вентиляции, запустив переписывание файлов) удаётся примонтировать фат32-разделы... видна структура папок, даже копирование можно запустить... но сбивается быстро - трещит головками, говорит несколько раз что файлы (несколько подряд идущих) не может прочитать а потом пропадает примонтированная структура папок - через некоторое время (3-5минут) пропадает и сам диск из /dev/sd*

можно подробнее про ошибки позиционирования - из-за чего это происходит и какие есть аппаратные (/программные?) методы исправить это?

насчёт Repair-Centers - много шарлатанов (как и везде сейчас).. Надо знать проверенный, что быть уверенным кому доверяешь свои годами сёрфигна и непосильной работой нажитые гигабайты))
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3696
ОС: Mandriva => Gentoo (~amd64)

Re: * умирающий IDE HDD

Сообщение devilr »

Ошибка позиционирования лечению практически не подлежит. Ибо это, чаще всего, из-за изменения магнитных свойств пластин ввиду (в вашем случае) банального перегрева. Хотя, я не исключаю факта того же перегрева электроники (что может быть даже более вероятно ибо греется очень хорошо). В случае глюков электроники можно найти ТОЧНО ТАКОЙ же жесткий диск и аккуратно переставить плату контроллера с исправного на ваш.
Если с отверткой дружите - даже гарантию не повредите.
Однако, если это сами пластины - тут уж даже СЦ (нормальный) вряд ли что-то сделает. Т.е. данные будут вытащены, но, наверняка, вы ими пользоваться не сможете из-за мусора внутри этих самых файлов.

Я, в таких случаях делал так:
1) использовался компьютер с БП, на котором напряжение 12В было порядка 11.8В (так как, перегревать и без того полумертвый жесткий диск не стОит). Это не было переделкой БП - просто из кучи в магазине с помощью мультиметра и саможельной "нагрузки" в виде калиброванных резисторов находился и покупался нужный БП.
2) подбиралось положение жесткого диска. Т.е. его укладывали по-разному, исходя из более устойчивого чтения. На одном из таких дисков я его вообще держал в руках - подобрать нужный наклон не удавалось путем подкладывания книжек и всяческих предметов, а в руках прочитали все... только руки устали ;)
Лучше использовать то, что знаешь. Программы, восстанавливающие данные, делают одни и те же операции хоть из под Linux, хоть из под Windows. Для начала лучше бы "заремапить" BAD-блоки, ибо, если BAD-блоки есть, то данные, на которые они попали, уже потеряны. А вот дальнейшему копированию они помешают. А затем уже приступить именно к восстановлению данных. До окончательного восстановления данных на восстанавливаемый жесткий диск лучше ничего не писать и, уж тем более, не писать на него сами восстанавливаемые данные.
Кстати, если восстанавливать из Windows - я видел много винтов, которые "вешали" систему до того, как с винтом начинали что-то делать. Делалось просто - убивался (или копировался) MBR, после чего Windows не пыталась сделать ничего с таким винтом. После чего делалось восстановление данных с RAW-разделов (соответствующие программы восстановления умеют читать с таких разделов)
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
jagger
Сообщения: 9

Re: * умирающий IDE HDD

Сообщение jagger »

Пока винт еще окончательно не сдох и дает добраться до данных, возможно еще поможет статья Восстановление данных под linux? А так ИМХО лучше отдать спецам, если на винте действительно ценные данные...
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: * умирающий IDE HDD

Сообщение Doka »

друзья, спасибо большое за дельные советы =)


в результате манипуляций удалось вытащить образ диска - имею сейчас iso-файл размером 200Гб
теперь два основных вопроса:

I.
образ снимался коммандной строкой:

Код: Выделить всё

dd_rescue -v -y 1G -l wd200.log -o wd200.bb /dev/sdc wd200.iso

ошибки были - притом, не локально в одном месте а в нескольких местах, поэтому образ снимался в один проход.
в конце процесса имею следующее:

Код: Выделить всё

[doka@centos hdd]$ tail wd200.log
dd_rescue: (warning): /dev/sdc (187019603.5k): Input/output error!
Bad block: 374039207
dd_rescue: (info): ipos: 195360960.0k, opos: 195360960.0k, xferd: 195360960.0k
                   errs:    600, errxfer:       300.0k, succxfer: 195360660.0k
             +curr.rate:     1620kB/s, avg.rate:     2474kB/s, avg.load:  0.5%
dd_rescue: (info): /dev/sdc (195360984.0k): EOF

Summary for /dev/sdc -> wd200.iso:
dd_rescue: (info): ipos: 195360984.0k, opos: 195360984.0k, xferd: 195360984.0k
                   errs:    600, errxfer:       300.0k, succxfer: 195360684.0k
             +curr.rate:    11544kB/s, avg.rate:     2474kB/s, avg.load:  0.5%


1) как проинтерпретировать "errxfer: 300.0k," ??
всего 300Кбайт ошибок на образ?? насколько это может соответствовать действительности?

2) у меня есть файл

Код:

[doka@centos hdd]$ cat wd200.bb 6830336 6830337 6830338 6830339 6830340 6830341 6830342 6830343 6830344 6830345 6830346 6830347 6830348 6830349 6830350 6830351 6830352 6830353 6830354 6830355 6830356 6830357 6830358 6830359 6830360 6830361 6830362 6830363 6830364 6830365 6830366 6830367 6830368 6830369 6830370 6830371 6830372 6830373 6830374 6830375 6830376 6830377 6830378 6830379 6830380 6830381 6830382 6830383 6830384 6830385 6830386 6830387 6830388 6830389 6830390 6830391 6830392 6830393 6830394 6830395 6830396 6830397 6830398 6830399 6830400 6830401 6830402 6830403 6830404 6830405 6830406 6830407 6830408 6830409 6830410 6830411 6830412 6830413 6830414 6830415 6830416 6830417 6830418 6830419 6830420 6830421 6830422 6830423 6830424 6830425 6830426 6830427 6830428 6830429 6830430 6830431 6830432 6830433 6830434 6830435 6830436 6830437 6830438 6830439 6830440 6830441 6830442 6830443 6830444 6830445 6830446 6830447 6830448 6830449 6830450 6830451 6830452 6830453 6830454 6830455 6830456 6830457 6830458 6830459 6830460 6830461 6830462 6830463 6830464 6830465 6830466 6830467 6830468 6830469 6830470 6830471 6830472 6830473 6830474 6830475 6830476 6830477 6830478 6830479 6830480 6830481 6830482 6830483 6830484 6830485 6830486 6830487 6830488 6830489 6830490 6830491 6830492 6830493 6830494 6830495 6830496 6830497 6830498 6830499 6830500 6830501 6830502 6830503 6830504 6830505 6830506 6830507 6830508 6830509 6830510 6830511 6830512 6830513 6830514 6830515 6830516 6830517 6830518 6830519 6830520 6830521 6830522 6830523 6830524 6830525 6830526 6830527 6830528 6830529 6830530 6830531 6830532 6830533 6830534 6830535 6830536 6830537 6830538 6830539 6830540 6830541 6830542 6830543 6830544 6830545 6830546 6830547 6830548 6830549 6830550 6830551 6830552 6830553 6830554 6830555 6830556 6830557 6830558 6830559 6830560 6830561 6830562 6830563 6830564 6830565 6830566 6830567 6830568 6830569 6830570 6830571 6830572 6830573 6830574 6830575 6872016 6872017 6872018 6872019 6872020 6872021 6872022 6872023 31718704 31718705 31718706 31718707 31718708 31718709 31718710 31718711 34270192 34270193 34270194 34270195 34270196 34270197 34270198 34270199 104170328 104170329 104170330 104170331 104170332 104170333 104170334 104170335 140770104 140770105 140770106 140770107 140770108 140770109 140770110 140770111 149549080 149549081 149549082 149549083 149549084 149549085 149549086 149549087 168956848 168956849 168956850 168956851 168956852 168956853 168956854 168956855 187413240 187413241 187413242 187413243 187413244 187413245 187413246 187413247 200892272 200892273 200892274 200892275 200892276 200892277 200892278 200892279 202798864 202798865 202798866 202798867 202798868 202798869 202798870 202798871 204663128 204663129 204663130 204663131 204663132 204663133 204663134 204663135 209107064 209107065 209107066 209107067 209107068 209107069 209107070 209107071 209346896 209346897 209346898 209346899 209346900 209346901 209346902 209346903 209357936 209357937 209357938 209357939 209357940 209357941 209357942 209357943 216331288 216331289 216331290 216331291 216331292 216331293 216331294 216331295 235881600 235881601 235881602 235881603 235881604 235881605 235881606 235881607 235903056 235903057 235903058 235903059 235903060 235903061 235903062 235903063 239422008 239422009 239422010 239422011 239422012 239422013 239422014 239422015 253606992 253606993 253606994 253606995 253606996 253606997 253606998 253606999 271437776 271437777 271437778 271437779 271437780 271437781 271437782 271437783 272226248 272226249 272226250 272226251 272226252 272226253 272226254 272226255 327503976 327503977 327503978 327503979 327503980 327503981 327503982 327503983 347020224 347020225 347020226 347020227 347020228 347020229 347020230 347020231 351537880 351537881 351537882 351537883 351537884 351537885 351537886 351537887 351539584 351539585 351539586 351539587 351539588 351539589 351539590 351539591 351703480 351703481 351703482 351703483 351703484 351703485 351703486 351703487 351713384 351713385 351713386 351713387 351713388 351713389 351713390 351713391 351973232 351973233 351973234 351973235 351973236 351973237 351973238 351973239 352151480 352151481 352151482 352151483 352151484 352151485 352151486 352151487 352389056 352389057 352389058 352389059 352389060 352389061 352389062 352389063 352389080 352389081 352389082 352389083 352389084 352389085 352389086 352389087 352406744 352406745 352406746 352406747 352406748 352406749 352406750 352406751 353264568 353264569 353264570 353264571 353264572 353264573 353264574 353264575 353264576 353264577 353264578 353264579 353264580 353264581 353264582 353264583 353279056 353279057 353279058 353279059 353279060 353279061 353279062 353279063 353279088 353279089 353279090 353279091 353279092 353279093 353279094 353279095 354424152 354424153 354424154 354424155 354424156 354424157 354424158 354424159 355540048 355540049 355540050 355540051 355540052 355540053 355540054 355540055 355976840 355976841 355976842 355976843 355976844 355976845 355976846 355976847 357104336 357104337 357104338 357104339 357104340 357104341 357104342 357104343 365319744 365319745 365319746 365319747 365319748 365319749 365319750 365319751 367057128 367057129 367057130 367057131 367057132 367057133 367057134 367057135 367651712 367651713 367651714 367651715 367651716 367651717 367651718 367651719 374019424 374019425 374019426 374019427 374019428 374019429 374019430 374019431 374039200 374039201 374039202 374039203 374039204 374039205 374039206 374039207

с номерами сбойных секторов. Пока диск жив есть желание пройтись по этим секторам еще раз, попытавшись "с диском на руках вычитать их повторно" (по совету devilr пробовал подбирать положение - действительно помогает, нo просидеть около компа 20 часов пока создавался образ, лавируя положением харда, - нереально)
2.а) как/чем считать секторы, перечисленные в файле?
2.б) как (в случае удачи) сделать merge с уже снятым образом диска ?


II.
поскольку писал не на другой диск а в файл, то возникает вопро как всё это подмонтировать, чтобы начать действовать дальше? как подмонтировать чтобы файл-образ виделся как виртуальное устройство с таблицей разделов? (с CD/DVD конечно проще - там есть loop-интерфейс, через который всё наура монтируется)
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3696
ОС: Mandriva => Gentoo (~amd64)

Re: * умирающий IDE HDD

Сообщение devilr »

600 ошибок по 512 байт = 307200 байт. Так что, 300 килобайт - вполне нормально.

Ну, лавировал я винтом поменьше - тогда было либо 10, либо 20 гигабайт 

Насчет нечитаемых секторов - вообще, контроллер диска, если к нему обращаются с запросом считать битый сектор, делает несколько попыток чтения данных, а только потом выкидывает ошибку. То же самое делает и ОС (любая) - так что, если сектор битый, то это все. В свое время была программа для восстановления битых дискет - там было предположение, что в 512 байтах сектора может быть испорчен всего 1 бит. Но, тот алгоритм не работает, если испорчено больше 1 бита (не путайте бит с байтом)

Можно, в принципе, написать программу, которая будет подставлять в образ нужный сектор. Просто позиционируйте указатель на нужный адрес и пишите. Так как образ большой, то и читать надо будет по кускам, выровненным по 512 байт. Чтобы ничего не испортить можно писать в новый файл - если есть свободное место, конечно.

А подмонтировать - ну и монтируйте. Так же как и iso-образ DVD. Только файловую систему корректно задайте в параметрах.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: * умирающий IDE HDD

Сообщение Portnov »

На debaday недавно было про gddrescue: http://beshenov.ru/debaday/200712.html

ЗЫ. А на сабж так и подмывает ответить: - похоронить согласно христианским обычаям.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: * умирающий IDE HDD

Сообщение Doka »

непонятно какую файловую систему для образа hdd выбирать (там ведь таблица разделов):

Код: Выделить всё

[root@centos ~]# mount -o loop /var/hdd/wd200.iso /hdd/x1
mount: you must specify the filesystem type


значит какую-то из этих, но какую:

Код: Выделить всё

       -t vfstype
              The argument following the -t is used to indicate the file system type.  The file system types
              which are currently supported include: adfs,  affs,  autofs,  cifs,  coda,  coherent,  cramfs,
              debugfs,  devpts,  efs,  ext,  ext2,  ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs,
              nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs,  umsdos,  usbfs,
              vfat, xenix, xfs, xiafs.  Note that coherent, sysv and xenix are equivalent and that xenix and
              coherent will be removed at some point in the future — use sysv instead. Since kernel  version


такое не прокатило:

Код: Выделить всё

[root@centos ~]# mount -t autofs -o loop /var/hdd/wd200.iso /hdd/x1
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

[root@centos ~]# dmesg | tail
[drm] Setting GART location based on new memory map
[drm] writeback test succeeded in 1 usecs
loop: module loaded
hfs: unable to find HFS+ superblock
autofs: called with bogus options
Never stop thinking..................................................................
Спасибо сказали: