Зовнішній жорсткий диск недоступний. "Пошкоджена та нечитабельна структура диска"


11

У мене зовнішній жорсткий диск із 1 ТБ AgentGoFlex Seagate.

Останнім часом це спричиняло деякі проблеми, як-от кілька папок, у яких дані не показували жодних файлів. Кілька папок не відкривалися тощо.

Тому я спробував запустити chkdskна Windows 8, але це не вдалося завершити. Тому я приєднав жорсткий диск. Тепер, коли я приєдную жорсткий диск до системи, він не розпізнається. У Linux він взагалі не розпізнається.

Якщо я намагаюся отримати доступ до диска з командного рядка, він каже: "Структура диска пошкоджена та нечитабельна".

Навіть chkdskне вдається з помилкою: "Файлова система NTFS. Неможливо визначити версію томів та стан. Chkdsk перервано."

При спробі запуску «утиліти перевірки» з F: → клацніть правою кнопкою миші → Властивості → Інструменти → Перевірити, вона видає помилку нижче.

Скріншот помилок: перевірку диска не вдалося виконати, оскільки Windows не може отримати доступ до диску

Форматування диска - це не варіант, оскільки у мене є дуже важливі дані.

Підкажіть, будь ласка, що можна зробити, щоб дозволити доступ до жорсткого диска.


1
Якщо ви не можете надіслати свій диск професійній компанії з відновлення даних, наступним найкращим рішенням буде спробувати зробити зображення ваших дисків у його поточному стані (до того, як диск повністю вийде з ладу). Тоді ви можете зберегти файл зображення як "безпечну копію", спробувати відновити диск або дублюваний файл зображення. Я впевнений, що Linux хоча б на якомусь рівні розпізнає ваш диск, тому спробуйте отримати кілька безкоштовних інструментів візуалізації диска і спочатку записати зображення на інший диск!
Waxhead

1
Боюся, що Рамхаунд може бути правильним, ваш привід може бути мертвим. Дані можуть бути відновлені, але робити це вдома може призвести до втрати ще більшої кількості файлів - деякі фахівці можуть вам допомогти. І пам’ятайте, людей існує лише два види: ті, хто робить резервні копії, і ті, хто буде.
gronostaj

Відповіді:


10

Перш за все, не робіть нічого більше на диску (принаймні ніколи не пишіть на ньому). Диск, який не розпізнається (на відміну від "розпізнавання та виявлення порожнім або з нечитабельними даними"), схоже, вказує або на повністю розмитий диск, що chkdskне робити, або щось не так з таблицею розділів або геометрією диска або спосіб роботи з корпусом USB. Також можливий апаратний збій.

Це може статися, коли USB-корпуси намагаються домовитись між диском та комп'ютером, до якого вони підключені. Отже, перше, що потрібно зробити, - сфотографувати диск на (очевидно, більшому) диску на максимально близькому до фізичного рівня, використовуючи ddпід Linux. Тоді ви можете скористатися копією зображення до вмісту серця, не ризикуючи пошкодити реальний диск.

Оновлення: розпізнавання пристрою в Linux

На нашому «зовнішньому диску» у нас не менше трьох сутностей. Обладнання USB-корпусу, виставлене як блоковий пристрій. Фізичний диск всередині корпусу. Фізичний пристрій, тобто послідовність секторів LBA від першого до останнього. І нарешті нульовий або більше розділів даних, розміщення файлових систем. Щоб бути "розпізнаним" і відображеним на робочому столі, всі ланки ланцюгів повинні працювати. Але для зображення фізичного пристрою вам потрібні лише перші два. Якщо ви підключите пристрій і запустите командний рядок dmesg(як root), вам слід побачити щось подібне:

[4984939.028491] usb 8-6: new high speed USB device using ehci_hcd and address 3
[4984939.166658] usb 8-6: configuration #1 chosen from 1 choice
[4984939.170660] scsi7 : SCSI emulation for USB Mass Storage devices
[4984939.172003] usb-storage: device found at 3
[4984939.172005] usb-storage: waiting for device to settle before scanning

... яка впізнається в корпусі, а потім ідентифікує себе та його вміст:

[4984939.170660] usb 8-6: New USB device found, idVendor=1058, idProduct=1021
[4984939.170660] usb 8-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[4984939.170660] usb 8-6: Product: Ext HDD 1021
[4984939.170660] usb 8-6: Manufacturer: Western Digital
[4984939.170660] usb 8-6: SerialNumber: 574D43305431303831303734
[4984944.400970] usb-storage: device scan complete

Далі ви побачите драйвер інформуючи його геометрію, природи, і неявно його вузол пристрою, тут sdd(для SCSI дисків чотири, так як sda, sdbі sdcвже були прийняті):

[4984944.404739] scsi 7:0:0:0: Direct-Access     WD      Ext HDD 1021    2021 PQ: 0 ANSI: 4
[4984944.404739] sd 7:0:0:0: [sdd] 1953519616 512-byte hardware sectors (1000202 MB)
[4984944.407367] sd 7:0:0:0: [sdd] Write Protect is off
[4984944.407369] sd 7:0:0:0: [sdd] Mode Sense: 17 00 10 08
[4984944.407371] sd 7:0:0:0: [sdd] Assuming drive cache: write through
[4984944.408741] sd 7:0:0:0: [sdd] 1953519616 512-byte hardware sectors (1000202 MB)

Тоді ядро ​​визнає, що є розділ (якщо ви цього не бачите, розділ не існує або недійсний):

[4984944.411497]  sdd: sdd1

Тепер у Linux є все необхідне та повідомляє про успішне вкладення:

[4984944.416739] sd 7:0:0:0: [sdd] Attached SCSI disk
[4984944.416739] sd 7:0:0:0: Attached scsi generic sg4 type 0

І ось починається пошук розділу даних, тобто, гаразд, у нас є sdd1, але що там? , і відповідь:

[4984997.498613] NTFS driver 2.1.29 [Flags: R/W MODULE].
[4984997.554613] NTFS volume version 3.1.
[4984997.568859] NTFS-fs error (device sdd1): load_system_files(): $LogFile is not clean.  Mounting read-only.  Mount in Windows.
[4985390.027808] NTFS-fs error (device sdd1): ntfs_remount(): Volume has errors and is read-only.  Cannot remount read-write.
[4985442.423299] NTFS volume version 3.1.
[4985442.425032] NTFS-fs error (device sdd1): load_system_files(): $LogFile is not clean.  Mounting read-only.  Mount in Windows.

Це вище було «хорошою» горою. Але тільки знаючи , що пристрій sdd, або , sdcабо sdb, дозволяє мені зробити бінарну копію (за умови , у мене є достатньо вільного місця на /mnt/backupdisk): вхідний файл /dev/sdd, вихідний файл DiskImage.raw, розмір блоку 1 MB :

# dd if=/dev/sdd of=/mnt/backupdisk/DiskImage.raw bs=1M

Зверніть увагу, що вхідний файл є, /dev/sdd а не /dev/sdd1 (або будь-яке інше число). Тепер, якщо я цього хотів, я міг би виявити зміщення розділу даних усередині DiskImage.rawі змонтувати його за допомогою циклічного пристрою. Тут ви знайдете брудні деталі.

Перша спроба відновлення

Друге, що потрібно зробити, - це поставити фізичний диск в інший корпус, забезпечивши таким чином корпус гарним і отримавши шанс нового інтерфейсу правильно інтерпретувати диск. Якщо диск знову з’явиться, можливо, попередній корпус зламаний. На всякий випадок створіть резервну копію всього вмісту нового накопичувача, перевірте резервну копію, обнуліть диск за допомогою утиліти перезапису диска, щоб вона була повністю німою (у вас не може бути два пристрої з різними думками у ланцюжку пристроїв), відформатуйте її вихідно з Windows та відновити дані. Це вдалий знімок, але я бачив, як це сталося; і спроба не надто дорога, хороші корпуси збираються приблизно за 19,99 доларів США.

Якщо початковий корпус був поганим, ви не зможете переформатувати диск, або диск не буде доступний. Ви можете спробувати новий корпус, і якщо він працює, або замініть старий корпус, або продовжуйте використовувати новий (але це варто, якщо новий корпус є набагато кращим, ніж 19,99 дол. США, Ель-Чепао).

Професійне відновлення

Професійні служби відновлення - ті, які ви можете знайти в Google. Не надто чесним способом вирішити це було б пересилання через фізичний диск, і - у випадку, якщо ви отримали "Так, немає апаратного пошкодження, і ми зможемо відновити всі ваші дані всього за $ $$$, $ $$! " відповідь - добре ви б тоді знали, що дані все-таки можна отримати. Таким чином, ви можете спробувати зробити це самостійно безкоштовно за резервну копію зображень, яку ви взяли, і заплатити лише за діагностику та диск S&H. Якщо ви цього не зробили, варіант кашляння запитуваного тіста все одно буде. Якщо є пошкодження обладнання, професійний сервіс - це ваш єдиний варіант. Існує кілька прийомів вуду, які (тимчасово) пожвавлять "мертвий" диск, часто досить довгий, щоб принаймні відновити найважливіші дані,жоден, який гарантовано працює кожен раз (нагріваючи диск, охолоджуючи його, «закручуючи» - я навіть бачив, що пропонував спритно прискорити його до твердої поверхні). Усі вони нанесуть більше шкоди, тобто ви повинні бути впевнені, що використовуєте один трюк, який спрацює в перший раз, або ви назавжди вбили диск. Я щойно додав це, щоб пояснити, чому ви побачите історії успіху щодо відроджених дисків: є такі історії. Але якщо ви хочете бути (в основному) впевнені, що це станеться з вами , добре - найміть професіонала.

Якщо ви впевнені, що з обладнанням все в порядку - крутяться диски, немає гримуть, не виникають сторонні звуки чи гудіння, не відбувається повторне калібрування кліків-чіпких - то "все", що трапилося, - це chkdskзіпсувало деякі дані.

Зробіть собі відновлення

"Домашнє" відновлення зазвичай піде так (в основному те саме, що робитимуть хлопці після скидання апаратного пошкодження), працюючи над копією зображення диска:

  • перевірте, чи перший сектор зображення диска є дійсною таблицею розділів. Якщо ні, скануйте зображення диска, шукаючи дійсну таблицю розділів або розпізнаваний сектор завантаження NTFS або FAT32, залежно від того, який FS був у пристрої (для блоку на 1 ТБ NTFS видається єдиною логічною можливістю). У будь-якому випадку вам слід знайти щось протягом кількох мегабайт.

  • якщо таблиця розділів знайдена, перевірте, чи є в розділі даних там, де в таблиці розділів сказано, що вона повинна бути. Якщо це не так, це дуже хороша новина: напевно, таблиця розділів - це все, що не так. Виправити це досить просто (це зробить кілька редакторів розділів Linux), і на диску може бути 100% відновлення. Щоб бути надійним, спробуйте встановити розділ даних в Linux за допомогою циклічного пристрою в режимі лише для читання, щоб побачити, чи читається він. Якщо це так, розгортання розділів підтверджено, і диск може бути проголошений на шляху до впевненого та повного відновлення. Якщо це не так, можливо, розділ правильний, і (частина) розділ даних був переписаний. Це погано; дивіться нижче під "Погіршення речі".

  • якщо він знайдений і дійсний, перевірте його на геометрії диска, а якщо вони не збігаються, це теж насправді добре , оскільки ви, можливо, знайшли першопричину проблеми. Ви можете примусити фізичну геометрію до ядра (і отримати її при завантаженні Linux ). Подивіться, чи нова геометрія призводить до того, що диск розпізнається в Linux. Якщо це так, створіть резервну копію даних, переконайтесь, що резервна копія правильна, і обнуліть диск dd(достатньо декількох мегабайт нулів на відповідному sdпристрої). Вимкніть комп’ютер (не перезавантажуйте; гаразд, це параноїк, але це коштує мало і може щось досягти), потім завантажте Windows та відформатуйте тепер нечіткий диск у тому, що він вважає найкращим форматом. Це забезпечує відсутність конфліктів з Windows. Відновлення даних на диску. Насолоджуйтесь.

  • якщо трюк з геометрії не працює, або розділ неможливо знайти, або коли він виявиться порожнім, все погіршиться. Вам потрібен інструмент відновлення, здатний сканувати зображення диска в пошуку областей даних (MFT тощо) втрачених даних. І знайшовши, інтерпретуйте їх, щоб отримати дані. Це важка робота і не завжди може бути повністю автоматизована. На нижчому та відчайдушнішому рівні це передбачає сканування підписів окремих файлів, сподіваючись, що вони будуть лежати у суміжних блоках на диску. Таку операцію я хотів би із задоволенням залишити професіоналам. Я робив це кілька разів, завжди успішно, зі старими дисками FAT. Зробив це ще раз, приблизно на 50% успішно, з новими та більшими та більш фрагментарними дисками FAT32. Я зробив спробу кілька разів, із поганими результатами (але я мав повне резервне копіювання і насправді не давав все це), на набагато складніші файлові системи NTFS та ext4.

Ручне відновлення з Linux

ОК, так що ви намагаєтеся змонтувати розділ в Linux і отримати помилки ( зверніть увагу , що /dev/sdc і різні речі - зображення відноситься до )./dev/sdcN /dev/sdc

# mount -t ntfs /dev/sdc1 /mnt/recovery
ntfs_mst_post_read_fixup_warn: magic: 0x00000000  size: 1024   usa_ofs: 0  usa_count: 65535: Invalid argument
Record 1 has no FILE magic (0x0)
Failed to open inode $MFTMirr: Input/output error

... це, мабуть, вказує на те, що розділ, як вважає система , є неправильним або сильно пошкодженим. Давайте спочатку перевіримо перший варіант:

# fdisk /dev/sdc

Ви отримуєте щось подібне:

Disk /dev/sdc: 1000.2 GB, 1000204885504 bytes
1 heads, 63 sectors/track, 31008335 cylinders, total 1953525167 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9d2b7596

Device       Boot      Start    End          Blocks       Id  System
/dev/sdc1              63       1953520127   976760032+   7   HPFS/NTFS/exFAT

Наступним кроком буде перевірка фактичного запуску розділу. Шукаючи файл зображення (або /dev/sdc), ми шукатимемо підпис NTFS:

  00000000:EB 52 90 4E 54 46 53 20 -20 20 20 00 02 08 00 00 .R.NTFS ........ 
  00000010:00 00 00 00 00 F8 00 00 -3F 00 FF 00 3F 00 00 00 ........?...?... 
  00000020:00 00 00 00 80 00 80 00 -4A F5 7F 00 00 00 00 00 ........J....... 

# dd if=/dev/sdc bs=512 count=1 skip=63 2>/dev/null | hexdump -C | head -n 1

... з наведеними вище даними ми очікуємо, що завантаження NTFS буде в секторі 63, тому ми встановили skip. Крім того, ми спробуємо з кожним сектором першого (скажімо) мегабайт ...

# dd if=/dev/sdc bs=512 count=2000000 2>/dev/null | hexdump -C | grep "00:EB 52 90 4E 54 46 53"

... просто щоб бути впевненим, що є лише один завантажувальний сектор (у мене це траплялося. На диску FAT32, але все ж ) і що помилок читання ніде немає.

Ваш результат

00007e00  eb 52 90 4e 54 46 53 20  20 20 20 00 02 08 00 00  |.R.NTFS    .....|

саме те, що ми очікували: сектор 63 дає зміщення 63 × 512 = 32256 = 7e00 шістнадцяткової. Сектор завантаження NTFS є, і таблиця розділів здається правильною .

Тому ми можемо скопіювати великий фрагмент /dev/sdc1, скажімо, /tmp/mydisk.imgі спробувати виправити це з Linux. Це не призведе до пошкодження фізичного диска, який залишатиметься незмінним для інших спроб. А оскільки тепер ми знаємо, що ПТ є правильним, ми можемо використовувати /dev/sdc1для копіювання та розважати сподіваннями, які раніше не могли:

# dd if=/dev/sdc1 of=/tmp/mydisk.img bs=1G count=10
...after copying 10 gigabytes...

# ntfsfix /tmp/mydisk.img

Якщо NTFSfix не працює, ми маємо проблеми. Однак є більш точні утиліти, які можна спробувати. Якщо вам потрібно відновити файли зображень JPEG, і файлова система не була фрагментована, це можна зробити автоматично, шукаючи заголовки JPEG. Це ж майже стосується документів PDF, TIFF та Office, за винятком того, що я не знаю, як їх розпізнати (для JPEG, я б :-)). Як остаточний варіант, я знайшов цих хлопців - я їх не знаю, не пов’язаний з ними і не буду приймати жодної провини. Однак, як ці речі йдуть, ціна є дуже розумною.


@ Iserni - Дякую за інформацію. Хоча найперша проблема зі мною полягає в тому, що я не можу зробити зображення жорсткого диска на Linux, оскільки його взагалі не розпізнають. У Windows він виявляється якнайменше, але він недоступний.
Анураг Рана

оновлення відповіді re: "нерозпізнаний"
LSerni

@Isreni - Дуже дякую за допомогу. Я можу зробити зображення даних на диску, однак дані на моєму диску - 400 ГБ, а максимальний доступний розмір у моєму ноутбуці - 200 ГБ. отже, я не зможу зробити повне зображення. Це перерве посередині. Чи є спосіб, щоб я міг скопіювати 200 ГБ із 400 ГБ на свій ноутбук, а потім із цього 200Гб зображення відновити деякі дані?
Анураг Рана

Так, ви можете використовувати ddз countпараметром , щоб отримати тільки певну кількість гігабайт (вважають , що виробники Dd і дисків не домовилися про те , як великий Гб є - «200 ГБ» на один може означати «190 ГБ» до іншої. Але також врахуйте, що новий диск на 500 ГБ коштує близько 59,99 доларів США; можливо, це коштуватиме витрат. Факт, що ви можете зобразити диск, означає, що, швидше за все, апаратне забезпечення є бездоганним. Ми дивимось на програмне забезпечення несправності тут (якщо у вас не було
кривдної

@Isreni - Дякую u :) Сьогодні я використав програмне забезпечення для відновлення Seagate (безкоштовна версія), і він може прочитати жорсткий диск, перерахувати всю папку (як вони були) і може відновити всі файли менше 64 кбіт (безкоштовна версія). Це означає, що на жорсткому диску без будь-яких помилок обладнання. Після копіювання даних на 200 Гб на моєму ноутбуці за допомогою дд Ні ... правда ... Тому що створений дамп - це файл, який неможливо відкрити за допомогою встановленої звичайної програми. Тоді як ми можемо витягти / скопіювати потрібну папку / файл із цього дампа?
Анураг Рана

-2

просто перейдіть до cmd як адміністративний привілей та введіть chkdsk X: / f ("X" - це ім'я тома драйвера, "/ f" - це виправлення)


@Iserni відповідь залишив рівень відповіді занадто високим, вибачте, але я повинен знизити голову
Francisco Tapia

З ОП: "Навіть chkdsk не вдається з помилкою:" Файлова система - NTFS. Неможливо визначити версію та стан томів. chkdsk абортував. ""
Ƭᴇcʜιᴇ007

-3

Більш спрощене рішення, яке для мене і для моїх колег полягало в тому, щоб встановити диск і використовувати його chkdskв Windows 7.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.