Відновлення жорстких дисків
Жорсткі диски (вінчестери), як електромеханічні пристрої, є одним із найненадійніших компонентів сучасного комп'ютера. Незважаючи на те, що в більшості випадків термін служби останніх співмірний, і навіть перевершує час їх експлуатації до моменту морального старіння і заміни новішими моделями, все ж таки окремі екземпляри виходять з ладу протягом перших місяців експлуатації.
Вихід жорсткого диска з ладу - найгірше, що може статися з вашим комп'ютером, тому що при цьому часто не втрачаються накопичені на ньому дані. Якщо резервна копія з якоїсь причини відсутня, то сумарні збитки від поломки помітно перевищують номінальну вартість сучасних вінчестерів.
Багато фірм, користуючись ситуацією, пропонують свої послуги з відновлення інформації з накопичувача, що вийшов з ладу. Очевидно, це обходиться недешево і доцільно лише тоді, коли на диску було щось справді цінне. В іншому випадку легше просто змиритися зі втратою.
Ремонт жорстких дисків потребує спеціального обладнання та практично неможливий у домашніх умовах. Так, наприклад, для розкриття контейнера потрібна особливо чиста від пилу кімната. Здавалося б, становище безнадійно й нема чого навіть думати про відновлення поламаного диска в домашніх умовах. Але, на щастя, не всі поломки є настільки серйозними, і в багатьох випадках можна обійтися для ремонту підручними (а іноді чисто програмними) засобами.
Одна з найчастіших відмов вінчестерів фірми WESTERN DIGITAL (а також деяких інших) виглядає наступним чином: жорсткий диск не пізнається BIOS, а головки при цьому чітко стукають. Швидше за все, чомусь не працює блок термокалібрування, і пристрій не може забезпечити потрібний зазор між головкоюта робочою поверхнею "млинець". Зазвичай це відбувається при відхиленні від нормального температурного режиму експлуатації, наприклад, в зимовий час, коли жорсткі диски в приміщеннях, що погано опалюються, "вистигають" за ніч (при температурі 18. 210С жорсткий диск часто може справно функціонувати і зі зіпсованим механізмом термокалібрування). Спробуйте дати попрацювати вінчестер протягом кількох годин, щоб він прогрівся, при цьому рано чи пізно вінчестер потрапляє в необхідний діапазон температур і працездатність (можливо, тимчасово) відновлюється. Зрозуміло, насамперед потрібно скопіювати всю інформацію, оскільки працездатність такого диска не гарантується. Те саме можна рекомендувати і щодо застарілих моделей без термокалібрування; часто вони виявляються залежними від температурного режиму, і зі зростанням зношування вінчестера ця залежність проявляється дедалі більше.
Другим за поширеністю відмовою є вихід з ладу модуля діагностики за повної справності інших компонентів. Хоч як це здасться парадоксальним, але повністю робочий вінчестер не проходить діагностику. При цьому в регістрі помилок (порт Ox1F1 для першого жорсткого диска) можуть бути значення, наведені в таблиці.
| Діагностичні помилки | ||
| Біт | Вміст | Джерело помилки |
| 7 | 0 | Помилка master диска |
| 1 | Помилка slave диска | |
| 2-0 | 011 | Помилка секторного буфера |
| 100 | Помилка контрогальної суми, не усуваючи надмірного кодування. | |
| 101 | Помилка мікроконтролера |
Різні BIOSи можуть по-різному реагувати на таку ситуацію, але всі варіанти зводяться до одного - жорсткий диск не визначаєтьсяі не "відчувається". Однак на рівні портів введення/виведення пристрій функціонує відмінно. Зауважимо, що існують такі материнські плати (особливо серед нових моделей), які виявивши помилку мікроконтролера вінчестера, просто відключають живлення жорсткого диска. Нескладно написати для зіпсованого в такий спосіб вінчестера драйвер, який забезпечить роботу з диском через високорівневий інтерфейс Int 0x13. Наприклад, наступна процедура забезпечує посекторне читання та запис через порти вводу/виводу для першого жорсткого диска в режимі CHS.
LBA mode для спрощення розуміння не підтримується. Необхідну технічну інформацію зазвичай можна знайти на сайті виробника жорсткого диска.
Легший, але не завжди здійсненний шлях - заборонити тестування жорстких дисків BIOS або, принаймні, ігнорувати результати такого. Як це здійснити, можна прочитати у посібнику на материнську плату (або звернутися за допомогою до служби технічної підтримки фірми-виробника, оскільки у посібниках користувача такі тонкощі нерідко опускають). Наприклад, спробуйте встановити "Halt on" у "Never" або перезаписати Flach BIOS, модифікувавши його так, щоб той не виконував подібну перевірку. Якщо Вам пощастить, жорсткий диск запрацює! Однак іноді все ж таки відбуваються і апаратні відмови. Наприклад, у вінчестерів фірм SAMSUNG та CONNER відзначені випадки відмови модуля трансляції мультисекторного читання/запису. Якщо це не буде виявлено внутрішнім тестом пристрою, такий жорсткий диск викличе зависання операційної системи на стадії її завантаження. Щоб запобігти цьому, достатньо додати в CONFIG.SYS ключ MULTI-TRACK=OFF і відключити аналогічні опції в BlOSe. При цьому, програвши в швидкості, все ж таки можна змусити жорсткий диск непогано працювати. Зрозуміло,що експлуатувати відновлений таким чином диск тривалий час нераціонально через втрату швидкодії. Найкраще придбати новий, на який і скопіювати всю інформацію. З іншого боку, такий жорсткий диск все ж таки залишається повністю робочим і успішно може служити, наприклад, як резервний.
На тому ж CONNERe епізодично виходить з ладу блок управління позиціонуванням головок, тому останні вже не можуть утриматися на доріжці і при зверненні до наступного сектора трохи "повзають". При цьому зчитування на виході дає хибну інформацію, а запис необоротно затирає сусідні сектори. Боротися з цим можна позиціонуванням головки перед кожною операцією запису/читання, обробляючи один прохід трохи більше сектора. Зрозуміло, що для цього необхідно знову сідати за написання власного драйвера. На щастя, він досить простий (можна використовувати апаратне переривання від жорсткого диска Int 0x76 IRQ14, вставивши в тіло оброблювача команду скидання контролера. В даному випадку мається на увазі, що контролер жорсткого диска, що використовується, проводить рекалібрування головки під час операції скидання. Деякі моделі цього не роблять. У цьому випадку доведеться вдатися до операції позиціонування головки (функція ОхС дискового сервісу 0x13) Перші моделі від других можна відрізнити часом, необхідним на скидання контролера. Сучасні моделі з підтримкою кешування цього часто не роблять або "відкладають" операції з головкою до першого до неї звернення.Зрозуміло, в цьому випадку кешування доведеться вимкнути.Більшість BIOS дозволяє це робити без праці, і немає потреби програмувати контролер самостійно. В іншомуУ разі виходу з ладу блок позиціонування (трансляції) підводить голівки зовсім не до того сектора, що вимагався. Наприклад, головки могли фізично зміститися з осі, "повзаючи" убік. Зрозуміло, що цей дефект можна скоригувати програмно, достатньо проаналізувати ситуацію та логіку спотворення трансляції. Багато моделей позиціонують голівку, використовуючи розмітку диска, що страхує від подібних поломок (на жаль, зараз від такого підходу більшість фірм відмовилися, виграючи у швидкості).
Посекторно скопіювати диск на вінчестер з іншою топологією складно, але можливо. Справа в тому, що багато сучасних контролерів жорстких дисків дозволяють користувачеві змінювати трансляцію довільним чином. Для цього необхідно придбати вінчестер, який підтримує LBA-режим (а який із сучасних жорстких дисків його не підтримує?). При цьому він може бути навіть більшого обсягу, ніж вихідний, але це ніяк не завадить копіюванню. Інше питання, що без перерозбиття скопійований таким чином диск не "відчує" додаткових доріжок і слід запустити Norton Disk Doctor, який вирішить цю проблему.
Модуляція під час запису така, що це біти, які стоять праворуч від збійного, не достовірні. Точніше, не всі, а лише в межах одного пакета. Зазвичай за раз записується від 3 до 9 біт (необхідно уточнити у конкретного виробника) і вміст інших пакетів, як правило, залишається достовірним. Найцікавіше, що найчастіше збійний пакет можна відновити методом перебору! При цьому можна навіть розрахувати, скільки варіантів має вийти. Враховуючи хороший ступінь "розсіювання" коригувальних кодів, можна сказати, що не дуже багато. І таким чином можна відновити начебто безнадійно зіпсовані сектори, а разом з ними і файли,розташовані "поверх" останніх.