LINUX.ORG.RU

Grub2 можно научить раскатывать образы дисков?

 


0

2

Хоть и не пятница, но можно ли научить grub2 наподобии dd раскатывать образ диска на диск?

В комплекте модулей grub2, нашлись cat, iorw, disk, parttool. С описаниями как-то неочень на них, может кто использовал эти модули?

★★★★★

Последнее исправление: irton (всего исправлений: 1)

По-моему описание из info-файла достаточно исчерпывающее, по крайней мере для parttool. Для остальных не смотрел пока.

16.3.54 parttool

– Command: parttool partition commands Make various modifications to partition table entries. Each COMMAND is either a boolean option, in which case it must be followed with ‘+’ or ‘-’ (with no intervening space) to enable or disable that option, or else it takes a value in the form ‘COMMAND=VALUE’. Currently, ‘parttool’ is only useful on DOS partition tables (also known as Master Boot Record, or MBR). On these partition tables, the following commands are available:

 'boot' (boolean)

When enabled, this makes the selected partition be the active (bootable) partition on its disk, clearing the active flag on all other partitions. This command is limited to primary partitions.

 'type' (value) 

Change the type of an existing partition. The value must be a number in the range 0-0xFF (prefix with ‘0x’ to enter it in hexadecimal).

 'hidden' (boolean)

When enabled, this hides the selected partition by setting the «hidden» bit in its partition type code; when disabled, unhides the selected partition by clearing this bit. This is useful only when booting DOS or Windows and multiple primary FAT partitions exist in one disk. See also *note DOS/Windows::.

Xenius ★★★★★
()
Ответ на: комментарий от irton

iorw — прямой доступ к портам.

cat — просто выводит файл на консоль

Команды disk не нашел

If needed, load kernel modules with the command ‘knetbsd_module_elf’. A typical example is the module for the root file system:

grub> knetbsd_module_elf /stand/amd64/6.0/modules/ffs/ffs.kmod

Видимо это для загрузки модулей ядра от BSD. У меня есть некоторые сомнения что в драйверах файловых систем grub есть возможность записи, но может модуль для записи образов на разделы дисков ты можешь сделать.

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

Сделать я врядли смогу. Модуль elf так и называется elf.module. Да запись могли не реализовать т.к. это не задача загрузчика. Он и файловые системы видит только на чтение поди. Жаль.

irton ★★★★★
() автор топика
Ответ на: комментарий от Xenius

У меня есть некоторые сомнения что в драйверах файловых систем grub есть возможность записи

Несколько лет назад точно была запись на ряд ФС. Возможно, убрали, поскольку сейчас акцентируется внимание именно на «чистом» RO — драйверы GRUB2 вообще ничего не пишут при монтировании в RO, в отличие от нативных. Проверку моих догадок оставлю как упражнение возможным читателям.

anonymous
()
Ответ на: комментарий от irton

Но впрочем для раскатывания образа не нужна запись на фс.

А зачем оно нужно, тем более прямо из grub, если не секрет?

Как вариант могу предложить ядро linux + initramsf, их вроде можно и в один файл пихнуть. В фс можно запихать например полный busybox при желании и иметь более-менее полноценную файловую систему. TinyCore так и работает.

При особом желании init может парсить командную строку ядра и сразу запускать dd, так что будет аналог нужной функциональности.

Xenius ★★★★★
()
Последнее исправление: Xenius (всего исправлений: 3)

При помощи grub2 можно запускать линукс из «закатанных» .iso-файлов (правда не любые дистрибутивы, а только те, которые умеют потом такую корневую файловую систему использовать).

А там дальше уже любой код можно, например переписать процесс init, чтобы он делал то, что нужно.

Shushundr ★★★
()
Последнее исправление: Shushundr (всего исправлений: 1)
Ответ на: комментарий от Xenius

Хороший вариант, яж говорю, собираю информацию, вдруг уже и без этого можно. Какой-то grub-dd на гитхабе нагуглился, но не смотрел еще.

irton ★★★★★
() автор топика
Ответ на: комментарий от irton

У меня для похожих задач используется grub + grml + исошка SystemRescue. Внутри SystemRescue есть все необходимое: fsarchiver/clonezilla/partimage.

У clonezilla есть свой livecd. У fsarchiver вроде как тоже сделать можно. Они меньше чем SystemRescue и сразу загрузится то что надо.

PRN
()
Ответ на: комментарий от irton

Ну так ты всегда можешь подготовить маленький образ ядра, сложить туда все необходимые драйвера и софт, написать меню. Из груба зови - и раскатывай образа. Да, не совсем то, что ты просил, зато возможности какие)

pihter ★★★★★
()
Ответ на: комментарий от irton

ну нашел модуль dd

Это вот здесь нашли? А то возникла у меня мысль добавить в меню grub пункт восстановления системы из бэкапа, почитал про grub2, но ничего подходящего для этого не нашел. А тут ваша тема на глаза попалась, вроде это то что надо.

zzplex
()