У меня была задача восстановить файлы с одного из двух моих отлично работающих, не поврежденных, незашифрованных дисков NAS, которые раньше были в RAID 1. NAS был Patriot Javelin S4, который (как я обнаружил в своем исследовании ) использует фальшивый рейд-контроллер Promise Fasttrack.
Информация об этом очень скудна, поэтому для гуглеров в такой же ситуации вот несколько фактов об этом NAS:
- RAID-контроллер: Promise FastTrack (FakeRaid)
- Объемная система: LVM2
- Файловая система: XFS с размером блока 64 КБ (65536 байт)
- Arch: 800 МГц процессор AMCC PowerPC, 256 МБ ОЗУ (благодаря исследованиям Мэтью)
При этом у меня был только компьютер с Windows 10 и MacOS, и я не нашел программного обеспечения, способного монтировать XFS в томе LVM2 (за 1 исключением, подробнее об этом ниже). Мне пришлось вытащить мой старый нетбук Acer Aspire One и установить на него puppy linux (в частности, вариант lxpup).
На Puppy Linux мне удалось смонтировать эту файловую систему с помощью инструмента под названием dmraid
. У этого инструмента есть способ монтирования тома pdc, который является его идентификатором для Promise FastTrack. Как только мне удалось прыгнуть через несколько обручей, монтирующих его, я получил доступ к реальной файловой системе XFS, и, к моему ужасу, оказалось, что размер блока составляет 64 КБ.
Именно здесь я начал гуглить такие вещи, как «чтение размера блока xfs 64 КБ» и ни к чему не привел. Только несколько ответов, в которых говорится: «Linux не может читать блоки размером более 4 КБ, если вы не исправите ядро». Я понятия не имею, как исправить ядро, и я сбит с толку, что нет никакой эмуляции, чтобы позволить это.
Я упомянул 1 исключение среди приложений, которые не могут прочитать этот раздел на Win / Mac. Это исключение было ufsexplorer. Это приложение за 100 долларов, оно могло без проблем показывать мне файлы. Я скопировал несколько файлов, доказывая, что это работает, но пробная версия позволяет копировать только крошечные файлы.
Я отказываюсь верить, что не существует бесплатного инструмента с открытым исходным кодом любого уровня сложности, который не мог бы помочь мне прочитать 64kb xfs.
Мой вопрос: кто-нибудь знает какой-либо такой инструмент? Будем весьма благодарны за любые конкретные инструкции о том, как получить данные с помощью одного или нескольких инструментов, исправлений ядра или чего-то еще (бесплатно).
Еще один момент: я бы предпочел не создавать локальные образы этих дисков (если только это не единственный способ). В конце концов, это 2 ТБ данных, возможно, у меня не так много места.
PS Если есть известный linux, который я могу установить на свой Acer, который может читать 64kb xfs, это тоже жизнеспособное решение.
Обновление 1 : я только что узнал о https://www.cgsecurity.org/wiki/TestDisk . Может быть стоит выстрел. Отзовусь, как только у меня будет время попробовать.
Обновление 2 : TestDisk, кажется, распознает наличие раздела XFS, но я не уверен, как действовать там. Я не вижу способа извлечь файл, поэтому я просто отказался от него и попробовал подход qemu в ответе Мэтью.