У меня есть образ моего /dev/sda3
раздела home ( ), который я создал с помощью команды "dd".
dd if=/dev/sda3 of=/path/to/disk.img
Я удалил домашний раздел через gparted, чтобы увеличить мой /dev/root
раздел. Затем я воссоздал /dev/sda3
раздел, который меньше по размеру, чем тот, который я скопировал на образ.
Мне было интересно, так как у меня есть внешний жесткий диск объемом 2 ТБ, можно ли было смонтировать мое резервное копирование образа на внешний жесткий диск, а затем скопировать файлы в /home
каталог. Поскольку внешний жесткий диск уже находится в «смонтированном состоянии», я не уверен, является ли это хорошей идеей при установке на смонтированное устройство.
- Я использую Slackware 13.37 (64 бита).
- использовал ext4 на всех разделах.
- изменил размер корневого раздела с помощью gparted live cd.
Я пробовал:
mount -t ext4 /path/to/disk.img /mng/image -o loop
Это дало мне ошибку fs (неправильный тип fs, неправильная опция, плохой суперблок в dev / loop / 0)
Тогда я сделал
dmesg | tail
какие выводы:
EXT4-fs (loop0): неверная геометрия: количество блоков 29009610 превышает размер дефайса (1679229 блоков)
Я понятия не имею, что делать, я хочу восстановить мои /home
данные из резервной копии.
[Обновление] : * disk.image находится на моей флешке USB 16GB. Размер изображения составляет около 6 ГБ. Изображение было создано из удаленного раздела размером около 100 ГБ, а теперь оно уменьшено до 80 ГБ.
[Обновление] : Я попробовал это сегодня: LQWiki: В некоторых примерах dd написано:
Вы не хотите сообщать диску, что он больше, чем есть на самом деле, записывая таблицу разделов с диска большего размера на диск меньшего размера. Первые 63 сектора диска пусты, кроме сектора 1, MBR.
dd if=/dev/sda skip=2 of=/dev/sdb seek=2 bs=4k conv=noerror
Я попытался тогда подняться /dev/sda3
на /home
.
dmesg | tail
выводит ошибку "дескрипторы группы повреждены!"
Тогда я попробовал:
fsck.ext4 -y -f /dev/sda3
Он выводит большое количество исправленных проблем и миллионы чисел, падающих со скоростью света.
После этого я успешно установлен /dev/sda3
на /home
, но не было никакого представления данных в домашнем каталоге. Только какой-то каталог с именем "lost + found", который также пуст.
источник
disk.img
. Вы будете изменять размер файловой системы внутри нее, а не самого файла или какой-либо другой части вашей системы.Ответы:
Почему бы тебе не
источник
Попробуйте обрезать файл до превышения числа блоков, а затем перемонтировать.
В вашей ситуации:
EXT4-fs (loop0): неверная геометрия: количество блоков 29009610 превышает размер дефайса (1679229 блоков)
Флавио
источник
Я знаю, что это старый вопрос, но я столкнулся с этой же проблемой два дня назад и смог ее решить.
Эта проблема в основном возникает, когда каким-либо образом образ файловой системы ext2 / 3/4 не полностью копируется в файл образа, по существу оставляя часть данных отсутствующей в конце. Из-за этого вы не сможете восстановить все файлы, которые существовали в исходном образе, если каким-то чудом никакие файловые данные не были сохранены в недостающей части изображения.
В моем случае мне не удалось смонтировать образ, но есть утилита, которая сканирует образы файловой системы ext2 / 3/4 и выводит все найденные файлы в указанное место:
Команда rdump принимает два аргумента: путь внутри поврежденного изображения для рекурсивного сканирования файлов и путь в исходной файловой системе для сохранения файлов. Любые файлы, которые не удалось восстановить, будут созданы с размером 0 байт.
Вам, вероятно, нужно будет упаковать файлы, так как debugfs запускается от имени пользователя root
источник
losetup -f ./corrupted.img
съел всю доступную оперативную память плюс пространство подкачки. Невозможно отменить его (так как я переключился на другой виртуальный экран и не смог переключиться обратно из-за нагрузки), он заморозил мою машину, и мне пришлось перезагрузить компьютер, фактически потеряв все открытые окна и несохраненную работу (последняя, к счастью, была маленькой) ).Ctrl-C
это вовремя. Но 100% загрузка процессора на всех ядрах сделала невозможным переключение обратно. // TL; DR: никакого вреда не было, просто хотел оставить заметку, чтобы держать глаза открытыми и быть в курсе при этом.