плохая геометрия: количество блоков 967424 превышает размер устройства (415232 блока)

да, но ...

Завершение процесса закрывает его файлы, но это не редкость для kill процесса, подключенного через сокет или другое сетевое соединение (используется с базами данных, например), чтобы не удалось немедленно убить процесс. Вы увидите процесс, ожидающий закрытия, например, с помощью ps .

2
10.05.2017, 15:46
2 ответа

После извлечения интересующей вас файловой системы (с помощьюdd)просто измените размер файла (967424 *4096=3962568704):

$ truncate -s 3962568704 trunc.img

А потом просто:

$ sudo mount -o loop trunc.img /tmp/img/
$ sudo find /tmp/img/
/tmp/img/
/tmp/img/u-boot-spl.bin
/tmp/img/u-boot.img
/tmp/img/root.ubifs.9
/tmp/img/root.ubifs.4
/tmp/img/root.ubifs.5
/tmp/img/root.ubifs.7
/tmp/img/root.ubifs.2
/tmp/img/root.ubifs.6
/tmp/img/lost+found
/tmp/img/root.ubifs.3
/tmp/img/boot.ubifs
/tmp/img/root.ubifs.0
/tmp/img/root.ubifs.1
/tmp/img/root.ubifs.8

Другим более простым решением является усечение непосредственно исходного файла img:

$ truncate -s 3964665856 nand_2016_06_02.img
$ sudo mount -o loop,offset=2097152 nand_2016_06_02.img /tmp/img/

Где 3962568704 + 2097152 = 3964665856

0
27.01.2020, 22:40

Поскольку truncateиз этот ответ не решил проблему, я немного поэкспериментировал. В в каком-то месте я нашел предложение использовать resize2fsдля исправления изображения (resize2fs <image> <size>, например. resize2fs nand_2016_06_02.img 3779Mс учетом приведенных выше данных ), но это тоже не сработало для меня (, утверждая, что размер уже был таким ).

Для меня следующие два шага решили эту проблему:

  1. e2fsck -y -f nand_2016_06_02.img(можно сначала без yпроверить, есть ли ошибки вообще — если нет, то это не нужно)
  2. testdisk nand_2016_06_02.img, пройтись по меню (продолжить › (таблица разделов )нет › расширенные › создание образа )и позволить testdisk создать образ.

Образ, созданный testdisk (, носит имя image.dd), смонтирован идеально, а затем:

sudo mount image.dd /tmp/img -t ext4 -o loop,ro

(Я знал, что это ext4, и я явно хотел, чтобы он был смонтирован для чтения -только для того, чтобы случайно не изменить его — и в моем случае это был не загруженный образ, а «спасенная» SD-карта, которая отказалась от меня., данные извлечены с помощью myrescue -r 1000 -b 4096 /dev/sdf2 sdpart2.img, что заняло около 24 часов для раздела размером 8 ГБ с 1014 сбойными блоками )

.
0
27.01.2020, 22:40

Теги

Похожие вопросы