Исправить поврежденный раздел NTFS без Windows


84

Мой NTFS раздел как-то испортился (это пережиток тех дней, когда у меня была установлена ​​Windows).

GParted скриншот, показывающий различные разделы

Я помещаю выходные данные отладки 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 (используя live CD), рядом с диском 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, с BootCD от Hiren, но, похоже, проблема с суперблоком все еще остается.

Обновление 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] Add. Смысл: не восстановленная ошибка чтения - ошибка автоматического перераспределения» в журналах - не восстановленная ошибка чтения (URE ) это то, что указывает на сбой диска. Если вы получаете невосстановленные ошибки записи , с которыми можно какое-то время прожить (диск переназначает блоки), но URE не в порядке. См. 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
Веллвишер

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), его следует немедленно заменить и использовать только для восстановления данных. (Чрезмерный уровень не-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 # установить тестдиск

sudo testdisk # start testdisk

Перейдите по адресу http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step для помощи в использовании этого инструмента.


Возможно, стоит добавить, что ошибки ввода-вывода обычно означают умирающий диск или его раздел. Особенно если NTFS настолько повреждена, вы не можете исправить это с помощью chkdisk или каких-либо инструментов Windows.
Томас Уорд

@ThomasWard вы абсолютно правы ... ошибки ввода / вывода обычно означают больше проблем. «@karel» заставил меня добавить это здесь в качестве ссылки на ссылку, которую он разместил в другом вопросе ... поэтому я не прочитал все детали здесь ... и на вопрос уже есть принятый ответ с обновлениями.
Хейнема

1

Как сказали другие ответы, в этом случае это, вероятно, плохой диск ..

Но в пользу других, сталкивающихся с фактическим повреждением NTFS - к сожалению, инструмент ntfsfix очень ограничен по сравнению с Microsoft chkdsk. Попробуйте запустить установку Windows - желательно с самой новой версией Windows, поскольку Microsoft, по-видимому, постоянно совершенствует chkdsk (надеюсь ...). Более новые версии Windows часто доступны бесплатно в качестве пробных версий. Если проблема заключается в USB-диске, вы можете попробовать установить Windows на что-то вроде VirtualBox и дать ВМ контроль над USB-устройством.


1

К сожалению, бесплатные инструменты, доступные в Linux, очень ограничены в отношении исправления разделов NTFS.

Скорее всего, вы все еще можете восстановить свои данные с помощью вторичного MFT, хранящегося в конце диска. Обычно он не используется, но он должен содержать актуальную версию структуры каталогов. Есть большая вероятность того, что на диск не повлияли ошибки диска.

В прошлом я пользовался продуктом Runtime Software (коммерческий, 79 $) GetDataBack NTFS с большим успехом для этого. Это один из немногих инструментов NTFS (единственный?), Который работает в WINE и в качестве Linux LiveCD , и бесплатной демонстрационной версии должно быть достаточно, чтобы увидеть, сохраняются ли ваши данные. Если это так, ваши данные могут стоить покупки инструмента.

LiveCD работает под управлением Knoppix Linux и имеет все предустановленные инструменты. Обратите внимание, что вам по-прежнему нужен лицензионный ключ для фактического использования инструментов, но этого должно быть достаточно, чтобы проверить, работает ли он на вашем компьютере.

Отказ от ответственности: я не имею никакого отношения к программному обеспечению Runtime, кроме того, что купил их продукт несколько лет назад.


+1 не потому что у меня есть опыт с тем, что в этом ответе; вверх для повышения осведомленности о менее известных альтернативах таким вещам, как Parted Magic.
Грэм Перрин

0

Этот ответ, вероятно, будет работать только для 10.04 (lucid) и более поздних версий 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

У меня только что была такая же проблема на 3 ТБ NTFS USB. Большая драма, как вы можете себе представить.

Я сначала попытался исправить это на коробке Windows моей жены. Нет радости

sudo ntfsfix / dev / sdcx очень быстро это исправил.

Ура! Снова в деле. Действительно нужно получить новый диск и быстро переформатировать его в надлежащую, взрослую файловую систему.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.