Смонтировать раздел ext3 с размером блока 16 КБ?

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

Мы пытаемся восстановить данные с диска, который был отформатирован на Netgear ReadyNas Duo. Мы подключили его к системе Linux и обнаружили, что он отформатирован в ext3 с размером блока 16k. Попытка смонтировать его на Linux возвращает следующую ошибку.

EXT3-fs: неправильный размер блока 16384.

Мы искали live CD для Linux, который поддерживает размер блока 16k по умолчанию, но не нашли. Есть ли более простой способ сделать это, кроме как компилировать эту функцию в ядре?

Размеры блока >4KiB доступны только на архитектурах, которые поддерживают более крупные страницы виртуальной памяти (например, Alpha, Itanium).

Можно использовать fuseext2 для монтирования диска. Я недавно это сделал, и хотя это сработало, система была очень нестабильной. Я не уверен, была ли проблема в диске, SATA-контроллере или модуле fuse. Монтирование исчезало случайным образом. В итоге мне пришлось следить за задачей rsync в течение 2 недель, и если она зависала, мне приходилось воссоздавать монтирование и снова запускать задачу.

Основная команда монтирования:

fuseext2 -o sync_read,allow_other,ro /dev/c/c /mnt/readynas

Больше деталей доступно на этой странице:

http://home.bott.ca/webserver/?p=306

Если кто-то ищет способ восстановить свой диск ReadyNAS Duo v1 в 2024 году и имеет доступ к Macbook серии M, который поддерживает страницы 16kb из коробки, вы можете использовать QEMU/UTM для установки Debian arm64, (для Debian 12) включить backports в /etc/apt/sources.list, добавив следующую строку

deb http://deb.debian.org/debian bookworm-backports main

а затем

apt install linux-image-arm64-16k

Это позволит вам смонтировать диск ext3 16k, как вы обычно делали бы.

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

Чтобы смонтировать раздел ext3 с размером блока 16К, нам нужно учитывать несколько аспектов, включая ограничения архитектуры и подходящие методы монтирования в Linux.

Проблема и её Суть

Ваше устройство Netgear ReadyNAS Duo отформатировано с использованием файловой системы ext3, что вполне стандартно, но проблема заключается в том, что размер блока составляет 16К, что не поддерживается стандартными ядрами Linux на большинстве архитектур. Как вы уже столкнулись, попытка смонтировать такую файловую систему вызывает ошибку:

EXT3-fs: bad blocksize 16384.

Это связано с тем, что значения размера блока больше 4К поддерживаются лишь на некоторых архитектурах, таких как Alpha и Itanium, поскольку они обеспечивают поддержку более крупных виртуальных страниц памяти.

Решения для Монтирования

1. Использование fuseext2

До тех пор, пока ординарные способы монтирования не позволят это сделать, можно использовать fuseext2. Этот модуль включает поддержку файловых систем ext2/ext3/ext4 через FUSE и позволяет вам монтировать систему, даже если у вас нестандартный размер блока. При использовании fuseext2, вы можете выполнить команду:

fuseext2 -o sync_read,allow_other,ro /dev/c/c /mnt/readynas

Этот способ может быть нестабильным, как вы уже заметили. Поэтому рекомендуется тщательно мониторить процесс монтирования и выполнения операций с файловой системой.

2. Использование QEMU/UTM на Mac

Если вы ищете более надежное решение, стоит рассмотреть возможность использования виртуализации. Если у вас есть доступ к MacBook серии M, который поддерживает 16-киловые страницы, вы можете установить Debian через QEMU/UTM. Вот основные шаги:

  1. Установите Debian ARM64 (например, Debian 12).
  2. Включите поддержку backports, добавив следующую строку в /etc/apt/sources.list:
deb http://deb.debian.org/debian bookworm-backports main
  1. Установите соответствующее ядро:
apt install linux-image-arm64-16k

После этого вам должно стать доступно монтирование вашего ext3 раздела с 16К размером блока с помощью стандартных команд монтирования Linux.

Заключение

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

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

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