Виправити пошкоджений розділ NTFS без Windows


84

Мій розділ NTFS якось пошкодився (це реліквія з тих часів, коли в мене була встановлена ​​Windows).

Скріншот із графічним зображенням, на якому показані різні розділи

Я кладу сюди вихід налагодження fdisk та blkid .

У той же час будь-яка ОС не в змозі змонтувати мій кореневий розділ, який знаходиться поруч з моїм розділом NTFS. Я не впевнений, чи все це має відношення до цього. Я отримую таку помилку під час спроби встановити свій кореневий розділ (sda5)

mount: wrong fs type, bad option, bad superblock on /dev/sda5,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

ubuntu@ubuntu:~$ dmesg | tail
[ 1019.726530] Descriptor sense data with sense descriptors (in hex):
[ 1019.726533]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
[ 1019.726551]         1a 3e ed 92 
[ 1019.726558] sd 0:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed
[ 1019.726568] sd 0:0:0:0: [sda] CDB: Read(10): 28 00 1a 3e ed 40 00 01 00 00
[ 1019.726584] end_request: I/O error, dev sda, sector 440331666
[ 1019.726602] JBD: Failed to read block at offset 462
[ 1019.726609] ata1: EH complete
[ 1019.726612] JBD: recovery failed
[ 1019.726617] EXT4-fs (sda5): error loading journal

Коли я відкриваю gparted (використовуючи живий компакт-диск), я отримую вигук поруч із своїм NTFS-накопичувачем, який заявляє Знімок екрана GParted, що показує помилку

Чи існує спосіб запуску chkdskбез використання Windows?

Моя спроба запустити fsckрезультати в наступному:

ubuntu@ubuntu:~$ sudo fsck /dev/sda
fsck from util-linux-ng 2.17.2
e2fsck 1.41.14 (22-Dec-2010)
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sda

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

Оновлення: мені вдалося виправити розділ NTFS, запускаючи chkdsk від Hiren's BootCD, але, здається, проблема суперблоку все ще залишається.

Оновлення 2: Виправлена ​​проблема із суперблоком за допомогоюe2fsck -c /dev/sda5


1
Посилання на пов’язане питання: askubuntu.com/q/58755/31592
blong

Відповіді:


106

Встановіть ntfs-3g за допомогою sudo apt-get install ntfs-3g. Потім запустіть команду ntfsfix на своєму розділі NTFS.

Наприклад:

ntfsfix /dev/hda6

ntfsfix v2.0.0 (libntfs 10: 0: 0)

Використання: пристрій ntfsfix [параметри]

Attempt to fix an NTFS partition.

-h, --help             Display this help
-V, --version          Display version information

Електронна адреса розробників:

linux-ntfs-dev@lists.sf.netДомашня сторінка Linux NTFS: http://www.linux-ntfs.org


Для новіших Ubuntus Ви можете використовувати -bта налаштувати -dразом. -bнамагається виправити погані кластери та -dвиправити брудні стани. Тож команда може бути

sudo ntfsfix -b -d /dev/sda6

--help показує їх

ntfsfix v2015.3.14AR.1 (libntfs-3g)

Usage: ntfsfix [options] device
    Attempt to fix an NTFS partition.

    -b, --clear-bad-sectors Clear the bad sector list
    -d, --clear-dirty       Clear the volume dirty flag
    -h, --help              Display this help
    -n, --no-action         Do not write anything
    -V, --version           Display version information

Чи є якісь пропозиції щодо проблеми із суперблоком? Я виправив розділ NTFS.
Немо

5
На жаль, це не є корисною відповіддю. Проблема полягає не в тому, як виправити структури файлової системи NTFS, а в непоправних помилках читання на рівні блочного пристрою (нижче NTFS). Це означає, що (як psusi вже говорилося) "ваш диск тост" - єдиний варіант - придбати новий жорсткий диск і відновити його з резервної копії. Якщо у вас немає актуальних резервних копій, ви можете спробувати скористатися GNU ddrescue ("apt-get install gddrescue"), щоб відновити якомога більше даних у файл образу диска. Відновлення диска Google для Ubuntu для отримання додаткової допомоги.
RichVel

3
@RolandTaylor: Я впевнений, що це мало бути корисним, але сказати комусь запустити перевірку файлової системи, коли в журналах є видима непоправна помилка читання, це не допоможе їм. Вони можуть тимчасово виправити свою помилку, але апаратне забезпечення диска дійсно виходить з ладу, і ntfix не допомагає в цьому.
RichVel

5
Вибачте, це невірно: перша версія запитання включала рядок "sd 0: 0: 0: 0: [sda] Додати. Почуття: Не знайдена помилка читання - автоматичне перерозподіл не вдалося" у журналах - Неподана помилка читання (URE ) - це те, що вказує на помилку накопичувача. Якщо ви отримуєте не витягуванні записи помилок, які можуть бути жили з деяким часом (привід перерозподіляє блоки), але не Ures ОК. Дивіться superuser.com/questions/114675/… про подібну помилку. Дивіться en.wikipedia.org/wiki/SMART#cite_note-labs.google.com-1 - величезний аналіз Google.
RichVel

1
Ще одним хорошим посиланням на питання URE є ця відповідь на іншому сайті Stack Exchange: unix.stackexchange.com/questions/1869/…
RichVel

14

Я щойно виправив свій USB-накопичувач за допомогою "testdisk", утиліти командного рядка Linux (проте дружньої). Мій диск навіть не монтувався в Windows, і Windows 8 виявив, як 6 розділів (коли на диску він був лише один).

Щоб скористатися утилітою, встановіть її:

sudo apt-get install testdisk

Потім запустіть його:

sudo testdisk

і дотримуйтесь інструкцій. Ви повинні шукати розділи, а потім записати зміни.

Сподіваюся, це допоможе комусь.


3
це було чудово .. виправлено розбиту таблицю розділів на моєму зовнішньому жорсткому диску! Дякую! V
vellvisher

11

Просто, щоб очистити деякі ваші точки.

Моя спроба запустити fsck призводить до наступного:

ubuntu@ubuntu:~$ sudo fsck /dev/sda

...

fsck.ext2: Bad magic number in super-block while trying to open /dev/sda

Тепер це не дивно, тому що ви намагаєтеся виграти диск, а не його розділ. Що робить fsck, то він намагається розпізнати тип FS. Оскільки ви надали йому необроблену поверхню диска, він не в змозі розпізнати і вдається до типового типу - ext, викликаючи fsck.ext.

fsck.ext не знаходить жодного підпису FS у цьому місці та намагається знайти суперблоки. У кінцевому рахунку він виходить з ладу, тому що його диск має лише тип розділу NTFS.

Ось чому ви маєте цю помилку.

Правильною командою було б:

sudo fsck /dev/sda1

Це би подавало ПЕРШИЙ розділ першого жорсткого диска sata, а не першого самого диска sata.


це не може бути відповіддю для вирішення проблеми ОП, хоча його інформація є чистим золотом. Дякую купу!
oliverjkb

ти sda1 ntfs?
Аді Прасетьо

5

Ваш диск - тост. Перевірте діагностику SMART в утиліті диска для підтвердження; це повинно сказати, що у вас є тонна поганих секторів і вам потрібно замінити привід.


5

Я згоден з @psusi: диск потребує заміни, дивіться мій коментар під прийнятою відповіддю. Здійснення ntfsfixзаповіту зовсім не допоможе, а просто затримує важливі дії:

  1. резервне копіювання всіх даних на диску як можна швидше
  2. заміна диска на новий

Справді не потрібно перевіряти SMART діагностику - вони все одно лише набирають відсоток помилок. Червоними прапорами є дві лінії:

[ 1019.726558] sd 0:0:0:0: [sda]  Add. Sense: **Unrecovered read error** - auto reallocate failed
[ 1019.726602] JBD: **Failed to read block** at offset 462

Як тільки диск починає видавати непоправні помилки читання (URE), його слід негайно замінити та використовувати лише для відновлення даних. (Занадто високий рівень НЕ є також свідчить про необхідність заміни.)

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


5

В Ubuntu 14.04 просто спробуйте це

sudo ntfsfix /dev/sdXY

Де XYваша перегородка. ( /dev/sda2у вашому випадку)


2

fsckі gpartedдодатки не можна використовувати для вирішення проблеми з розділом ntfs. ntfsfixне слід використовувати для виправлення цієї проблеми.

Зазвичай слід використовувати засоби Windows. Однак chkdskтут не допомагає.

Ви можете спробувати використовувати testdiskв ОС Ubuntu.

sudo apt-get update # оновлення програмних баз даних

sudo apt-get install testdisk # встановити testdisk

sudo testdisk # запустити тестовий диск

Перейдіть на сторінку http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step, щоб отримати допомогу у використанні цього інструменту.


Можливо, хочеться додати, що помилки вводу / виводу зазвичай означають вмираючий привід або ділянку накопичувача. Esp якщо NTFS настільки пошкоджений, ви не можете його виправити за допомогою chkdisk або будь-яких інструментів Windows.
Thomas Ward

@ThomasWard ви абсолютно правильні ... Помилки вводу / виводу зазвичай означають більше клопоту. "@karel" змусив мене додати це сюди як перехід до посилання, яке він розмістив в іншому запитанні ... тому я не прочитав тут усіх деталей ... і на питання вже є прийнята відповідь із оновленнями.
heynnema

1

Як говорили інші відповіді, у цьому випадку це, мабуть, поганий диск.

Але на користь інших, хто стикається з фактичною корупцією NTFS - на жаль, інструмент ntfsfix дуже обмежений порівняно з chkdsk Microsoft. Спробуйте запустити інсталяцію Windows - бажано з новітньою версією Windows, оскільки Microsoft, імовірно, постійно вдосконалює chkdsk (я сподіваюся ..) Новіші версії Windows часто доступні безкоштовно як випробування. Якщо проблема в USB-диску, ви можете спробувати встановити Windows на щось на зразок VirtualBox і дати управління VM USB-пристроєм.


1

На жаль, безкоштовні інструменти, доступні в Linux, дуже обмежені щодо виправлення NTFS-розділів.

Швидше за все, ви все одно можете відновити свої дані, використовуючи вторинний MFT, що зберігається в кінці диска. Зазвичай він не використовується, але він повинен містити оновлену версію структури вашого каталогу. Є хороший шанс, що на неї не вплинули помилки диска.

Раніше я з великим успіхом використовував продукт Runtime Software (комерційний, 79 $) продукт GetDataBack NTFS . Це один з небагатьох інструментів NTFS (єдиний?), Який працює у WINE та як Linux LiveCD , а безкоштовної демонстрації має бути достатньо, щоб побачити, чи є ваші дані ще. Якщо це так, ваші дані, можливо, варто лише придбати інструмент.

LiveCD запускає Knoppix Linux і попередньо встановлено всі їх інструменти. Зауважте, що вам все одно знадобиться ліцензійний ключ, щоб фактично користуватися інструментами, але цього має бути достатньо, щоб перевірити, чи працює він на вашому комп’ютері.

Відмова: Я не маю ніякої приналежності до програмного забезпечення Runtime, крім придбання їх продукту кілька років тому.


+1 не тому, що я маю досвід роботи з цією відповіддю; вгору - для підвищення обізнаності про менш відомі альтернативи таким речам, як «Чарівка Чарівки».
Грем Перрін

0

Ця відповідь, ймовірно, спрацює лише для 10.04 (легкої) та пізніших версій Ubuntu!

Спробуйте sudo ntfsfix -b /dev/sda2.

  • Вам потрібно встановити ntfs-3gВстановіть ntfsprogs . Якщо у вас його немає, ви можете встановити його в Центрі програмного забезпечення, натиснувши це посилання, або з Терміналу ( Ctrl+ Alt+ T), виконавши ці команди:

    sudo apt-get update
    sudo apt-get install ntfs-3g
    

4
Навіщо використовувати NTFSProgs, коли NTFS-3g встановлений за замовчуванням? NTFSProgs мертвий, оскільки був повністю об'єднаний у NTFS-3g. Перехід на перший може спричинити більше проблем, ніж вирішує.
TSJNachos117

1
NTFSProgs вже не є частиною архівів пакетів після точності 12.04.
кинан

0

У мене просто була така ж проблема на 3TB NTFS USB. Велика драма, як ви можете собі уявити.

Я спершу спробував виправити це на вікні Windows у дружини. Ніякої радості.

sudo ntfsfix / dev / sdcx надзвичайно швидко виправив це.

Ура! Повернутися до справи. Дійсно потрібно отримати новий диск і негайно переформатувати його у належну, дорослу файлову систему.

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