ntfsclone сообщает: “Не удается прочитать сектор на 470585344, потеряны данные”. Как я могу определить, какой это файл?

Вопрос или проблема

Я использовал ntfsclone из ubuntu, чтобы скопировать поврежденный жесткий диск с Windows на новый, используя:

sudo ntfsclone --rescue -f --overwrite /dev/sda1 /dev/sdb1

что дает следующие сообщения:

WARNING: Can't read sector at 470585344, lost data.

Таких предупреждений около 70. Как я могу определить, какие реальные файлы были затронуты, используя эти номера?

В поисках противоположного, разрешения адреса файла в секторе, я наткнулся на ваш вопрос. На машине с Windows, используя nfi.exe, найденный в наборе инструментов Windows 2000 OEM: см. http://forums.seagate.com/t5/Barracuda-XT-Barracuda-Barracuda/Tip-How-to-determine-which-file-occupies-a-particular-sector/td-p/35567

Чтобы увидеть, какой файл использует конкретный сектор, вы можете использовать ntfscluster

ntfscluster -s 470585344 /dev/sda1

Пример команды и ответа

ntfscluster -s 3904294913 /dev/sdc1

Ищу сектор 3904294913
Inode 162 является частью inode 38.
Inode 733 является частью inode 732.
Inode 896 является частью inode 895.
Inode 10746 является частью inode 10745.
Inode 100391 является частью inode 72466.
Inode 129441 /bd/b3/auto/lib-20151023/lib.7z.076/$DATA
Inode 173802 является частью inode 72466.
Inode 201917 является частью inode 186579.
Inode 222920 является частью inode 185882.
Inode 222921 является частью inode 185883.

Также необходимо пройтись по всем номерам Inode

ntfsinfo -i 129441 /dev/sdc1

Дамп Inode 129441 (0x1f9a1)
Upd. Seq. Array Off.:    48 (0x30)
Upd. Seq. Array Count:   3 (0x3)
Upd. Seq. Number:    2 (0x2)
LogFile Seq. Number:     0xfc2c2b3a
MFT Record Seq. Numb.:   4 (0x4)
Количество жестких ссылок:    2 (0x2)
Смещение атрибута:    56 (0x38)
Флаги записи MFT:    В ИСПОЛЬЗОВАНИИ 
Использовано байт:      456 (0x1c8) байт
Забронировано байт:     1024 (0x400) байт
Следующий экземпляр атрибута: 5 (0x5)
Заполнение MFT:    00 00 
Дамп атрибута $STANDARD_INFORMATION (0x10) из записи mft 129441 (0x1f9a1)
    Резидентный:        Да
    Флаги атрибута:     0x0000
    Экземпляр атрибута:  0 (0x0)
    Размер данных:       72 (0x48)
    Флаги резидентности:      0x00
    Время создания файла:  Вт Мар 19 09:16:04 2024 UTC
    Время изменения файла:   Пт Окт 23 04:46:24 2015 UTC
    Время изменения MFT:    Вт Мар 19 09:16:26 2024 UTC
    Время последнего доступа:  Вт Мар 19 09:16:04 2024 UTC
    Атрибуты файла:     ARCHIVE (0x00000020)
    Максимальные версии:    0 
    Номер версии:      0 
    ID класса:        0 
    ID пользователя:         0 (0x0)
    ID безопасности:         268 (0x10c)
    Счетчик кредита:       0 (0x0)
    Номер последовательности обновления:  232050512 (0xdd4cf50)
Дамп атрибута $FILE_NAME (0x30) из записи mft 129441 (0x1f9a1)
    Резидентный:        Да
    Флаги атрибута:     0x0000
    Экземпляр атрибута:  2 (0x2)
    Размер данных:       86 (0x56)
    Флаги резидентности:      0x01
    Родительская директория:    129370 (0x1f95a)
    Время создания файла:  Вт Мар 19 09:16:04 2024 UTC
    Время изменения файла:   Вт Мар 19 09:16:04 2024 UTC
    Время изменения MFT:    Вт Мар 19 09:16:04 2024 UTC
    Время последнего доступа:  Вт Мар 19 09:16:04 2024 UTC
    Зарезервированный размер:      0 (0x0)
    Размер данных:       0 (0x0)
    Длина имени файла:     10 (0xa)
    Атрибуты файла:     ARCHIVE (0x00000020)
    Пространство имен:       Win32
    Имя файла:        'lib.7z.076'
Дамп атрибута $FILE_NAME (0x30) из записи mft 129441 (0x1f9a1)
    Резидентный:        Да
    Флаги атрибута:     0x0000
    Экземпляр атрибута:  3 (0x3)
    Размер данных:       88 (0x58)
    Флаги резидентности:      0x01
    Родительская директория:    129370 (0x1f95a)
    Время создания файла:  Вт Мар 19 09:16:04 2024 UTC
    Время изменения файла:   Вт Мар 19 09:16:04 2024 UTC
    Время изменения MFT:    Вт Мар 19 09:16:04 2024 UTC
    Время последнего доступа:  Вт Мар 19 09:16:04 2024 UTC
    Зарезервированный размер:      0 (0x0)
    Размер данных:       0 (0x0)
    Длина имени файла:     11 (0xb)
    Атрибуты файла:     ARCHIVE (0x00000020)
    Пространство имен:       DOS
    Имя файла:        'LIB7Z~1.076'
Дамп атрибута $DATA (0x80) из записи mft 129441 (0x1f9a1)
    Резидентный:        Нет
    Флаги атрибута:     0x0000
    Экземпляр атрибута:  4 (0x4)
    Единица сжатия:    0 (0x0)
    Размер данных:       209715200 (0xc800000)
    Забронированный размер:      209715200 (0xc800000)
    Инициализированный размер:    209715200 (0xc800000)
Конец inode достигнут

В выводе этих команд вы можете найти имена файлов

Ответ или решение

При использовании команды ntfsclone для копирования поврежденного раздела жесткого диска Windows на новый диск, вы можете столкнуться с предупреждением: "Can’t read sector at 470585344, lost data". Это сообщение указывает на то, что в процессе клонирования данных возникли проблемы с чтением определенных секторов, в данном случае — 470585344. Чтобы выявить, какие именно файлы были затронуты потерей данных, вам следует использовать несколько утилит.

Шаг 1: Определите, какие файлы связаны с затронутыми секторами

Для начала стоит использовать утилиту ntfscluster. Этот инструмент позволяет выявить, какой файл или файлы занимают определённый сектор. Для этого выполните команду:

ntfscluster -s 470585344 /dev/sda1

Шаг 2: Анализ вывода утилиты ntfscluster

После выполнения команды, вы получите результаты, которые будут содержать список инодов (inode), связанных с заданным сектором. Каждый инод представляет собой элемент файловой системы NTFS, который указывает на конкретные файлы или их части.

Пример вывода может выглядеть так:

Inode 162 is an extent of inode 38.
Inode 733 is an extent of inode 732.
Inode 896 is an extent of inode 895.
Inode 10746 is an extent of inode 10745.
Inode 129441 /bd/b3/auto/lib-20151023/lib.7z.076/$DATA

В этом списке Inode 129441 указывает на файл lib.7z.076. Вам нужно будет собрать список всех инодов, которые работают с затронутыми секторами.

Шаг 3: Получение информации о файлах через ntfsinfo

Вам необходимо использовать другую утилиту, ntfsinfo, чтобы получить более подробную информацию о файлах, идентифицированных по их инодам. Выполните следующую команду для каждого инода из списка:

ntfsinfo -i 129441 /dev/sda1

Результаты этой команды предоставят различную информацию о файле, например:

  • Время создания, модификации и последнего доступа.
  • Имя файла.
  • Режимы атрибутов файла.

Пример информации о файле:

Filename: 'lib.7z.076'
File Creation Time: Tue Mar 19 09:16:04 2024 UTC
File Altered Time: Fri Oct 23 04:46:24 2015 UTC
...

Заключение

Анализируя результаты выполнения ntfscluster и ntfsinfo, вы можете существенно сузить круг возможных потерянных данных и определить, какие файлы подверглись повреждению. Обратите внимание на полученные временные метки, чтобы выяснить степень актуальности данных в этих файлах. Чтобы избежать потерь в будущем, рекомендуется создать резервные копии данных и периодически проверять состояние жестких дисков.

Использование этих инструментов и методов позволит вам эффективно решить возникающие проблемы и минимизировать последствия потери данных на жестких дисках.

Оцените материал
Добавить комментарий

Капча загружается...