LINUX.ORG.RU

Восстановление FS на .raw


0

0

Занимаюсь отладкой ядра в сборке qemu + cgdb. Образ для qemu сделан в *.raw. Очень часто в ходе отладки или после пересборки ядра (пересобираю на хост машине мантируя raw образ и делаю chroot) летит файловая система на образе. Восстанавливаю всегда по разному, начинаю от простого, делаю fsck прям из под chroot. Если система может загрузиться хотя бы до граба, гружу в ручную и делаю fsck уже из системы. Самый последний и самый противный способ это грузить qemu с liveCD и от тудава делать fsck. Последний способ не нравиться тем что обычно это занимает минут 40, уж больно долго грузиться у меня lieCD на кему.

Вот решил накоцто поитересоваться, есть ди еще какие способы восстанавливать рабочеться .raw при сбое в ФС на нем ? например передать его программе fsck. А то часто бывает что ФС ломается до такой степени что остаеться только с liveCD а это очень, очень долго.

На данный возникла еще и такая проблемма: при обращении(удалении) к некоторым файлам получаю отказ чтения/записи. Если просто мантирую образ

sudo mount -o loop,offset=32256 bka.raw /mnt
и тоже, если делаю chroot.


последняя трабла была не столько в *.raw сколько в том что у меня во время отладки поломалось ФС на хостовой машине, вопрос «как это черт побери возможно» меня не покидает...

Cupper ()

grub не нужен

qemu -help
       Linux/Multiboot boot specific:

       When using these options, you can use a given Linux or Multiboot kernel
       without installing it in the disk image. It can be useful for easier
       testing of various kernels.

       -kernel bzImage
           Use bzImage as kernel image. The kernel can be either a Linux
           kernel or in multiboot format.

       -append cmdline
           Use cmdline as kernel command line

       -initrd file
           Use file as initial ram disk.

       -initrd "file1 arg=foo,file2"
           This syntax is only available with multiboot.

           Use file1 and file2 as modules and pass arg=foo as parameter to the
           first module.

sdio ★★★★★ ()

твоя проблема в том что ты пытаешься fsck примонтированную FS — это не есть хорошо. Как я понял проблемный раздел расположен в raw-файле bka.raw по смещению 32256. Тогда скажи

# losetup -o 32256 /dev/loop0 bka.raw
# fsck /dev/loop0
после завершения не забудь
# losetup -d /dev/loop0

pupok ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.