LINUX.ORG.RU

Можно ли записать ISO образ на раздел флешки?


0

1

Всем привет. Я знаю, что можно записать iso образ на флешку через dd if=образ of=флешка. Но можно ли таким образом записать iso образ на РАЗДЕЛ флешки? У меня флешка, собранная при помощи Multiboot(лежит в AUR(только PKGBUILD надо подправить(если надо, напишу как))), и почему-то если средствами этой утилиты закинуть на флешку образ системы, созданной через ArchIso, то он не запускается(если тот же образ записать через dd на флешку, то пашет). Таким образом, меня интересует такое- На флешке два раздела, на одном из них добавленные через Multiboot образы, на второй записан iso образ, и переход туда осуществляется через chainloader в Grub2. Это возможно?


Grub умеет исошки грузить. Только не чейнлоадером конечно. Так что всё можно, я как-то делал себе такое - гугли.

anonymous
()

Конечно возможно. Только зачем ты сделал второй раздел с ФС ISO? Я делал всё намного проще: на флэшке 2 раздела (второй маааааленький EXT4 «в конце» массива памяти). На второй раздел поставил GRUB2 и дополнил его ещё несколькими загрузчиками. Создал конфиг-файл грабу, в котором можно вызывать все эти загрузчики (у каждого свои уникальные фишки, потому и развёл этот зоопарк). Создал ещё один конфиг-шаблон, который грузит всякие разновидности Linux-LiveCD получив в переменную путь к образу. Один из загрузчиков - GRUB4DOS (ещё один, способный ISO бутать, но он их предварительно ЦЕЛИКОМ считывает в RAM, так что DVD с него ставить будет тнудно) ориантировал конфигом на первый раздел флэшки, где лежит второй файл-меню. Смысл в том, чтобы на первом разделе валялись менюшка для GRUB4DOS, которую можно править любым текстовым редактором под любой ОС, и тядом с ней лежали образы загружаемых дисков.

Если учесть как сильно вырос GRUB2 с его модульностью и поддержкой BASH-подобных команд - мы имеем практически миниатюрный линукс со всеми вытекающими последствиями. Это куда круче акронис-ОС-селектор`а.

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

Ну, я об этом знаю. Через указание ядра, инитрд и всего остального. но и мультибут так же делает, а почему-то не катит.

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

И правильно, что не катит! Не будет мультибут нормально работать, если ты плохо понимаешь что делаешь. Линукс вообще такая система, в которой понимание своих действий и их последствий - ОСНОВНАЯ необходимость. Забей в гугль «пишем мануал по GRUB2» и почитай что там да как. Только учитывай, что мануал «старый» и граб уже давно ушуршал вперёд.... Немного поменялись правила оформления конфига, значитально больше стал функционал вшитой в GRUB2 консоли. Читай, учи - это очень полезно. Меня моё творение с «зоопарком» загрузчиков не раз спасало.

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

Скорее всего не может найти раздел. Попробуй по арчевике:

# grub-probe --target=fs_uuid /путь_к_исошнику

Он выдаст ууид, который потом применям с конфиге:

menuentry «Исобут» { insmod search_fs_uuid search --fs-uuid --no-floppy --set=root полученый_ууид set path2iso=«/путь_к_исошнику» loopback loop $path2iso linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$path2iso quiet splash noprompt -- initrd (loop)/casper/initrd.lz } Как пример для убунты в качестве исошника

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

Скорее всего не может найти раздел. Попробуй по арчевике:

# grub-probe --target=fs_uuid /путь_к_исошнику

Он выдаст ууид, который потом применям с конфиге:

menuentry «Исобут» {
insmod search_fs_uuid
search --fs-uuid --no-floppy --set=root полученый_ууид
set path2iso=«/путь_к_исошнику»
loopback loop $path2iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$path2iso quiet splash noprompt --
initrd (loop)/casper/initrd.lz
}
Как пример для убунты в качестве исошника

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

dd if=образ of=флешка

dd if=образ of=РАЗДЕЛ_флешкИ

Так тоже можно ^_^ Должно сработать, но MBR будет некорректен скорее всего...

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

Ну почему все думают, что я не шарю?... Я знаю, как мультибут разруливает образы-сверяется с базой данных, и там смотрит- надо ли преобразовать конфиг syslinux'а в grub'овский(и тут все ясно- ядро, инитрд, образ в squashfs), либо же скопировать сам образ, и передавать управление загрузчику, сидящему в образе, через grub4dos. Есть другие варианты, но я на такие не натыкался. Но я АБСОЛЮТНО не в курсе, почему тот образ арча не взлетает. Ядро, инитрд запускаются. Все, вроде, монтируется. После чего экран очищается, мигающая строка, абсолютный конец, даже alt+sysrq+B не работает.

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

К тому же, смотрю исходный конфиг в образе(syslinux) и конфиг в Multiboot. Ну нету разницы по сути...

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

Я как-то ОЧЕНЬ долго и страстно воевал с гробом вторым по поводу бута из исо-образа... Оказалось, что переменную надо задавать в форме {$IsoPath}, а не IsoPath или как-то так. Было время, когда я сам снёс по неосторожности граб на чужом компе и потом часа четыребез интернета сам вкуривал как это поправить. Уровень твоих познаний (каким бы высоким он не был) ВСЕГДА ниче необходимого. Это правило действует по жизни до мометна, когда проблем просто не остаётся (у большинства это приходит только со смертью.). Остаются только два варианта - или отказ от текущей идеи, или продолжание ковыряний до тех пор, пока не сможешь понять что именно было не так. Обычно первый путь даёт результаты быстрее, так как многие ДО тебя интересовались тем же самым.

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

Вообще в другом проблема... Ядро, инитрд находятся. Корень монтируется. Все остальное монтируется. Запускаются всякие демоны. Под конец запуска демонов- не KDM, и даже не терминал- весь экран в странных полосах, по alt+F1,где должна быть консоль- мигает серенький курсор(ну, квадратик), и больше ничего, на остальных-такой же ужас. alt+sysrq+B не помогает. А вот если загружаться с диска или с флешки, записанной через dd-все ок. Я вообще не могу понять, ЧЯДНТ.

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

Попробуй сделать дамп диска через DD - по факту ты получишь ISO`шник, сделаный через DD с диска - точная двоичная копия диска. Для проверки - смонтируй образ на машине. Если прокатило - подсунь этот образ вместо SIO, но если с таким образом не стартует, то дело 100% в арче. Какой-то процесс выходит из-под контроля на столько, что не даёт загрузиться даже консолям (и скорее всего это графическая оболочка)

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

Как вариант - попробуй попасть в консоль ДО начала краха системы и по возможности отключи сплэш в параметрах которые передаются ядру, чтобы были видны логи загрузки - может там что-то полезное будет. Можно попробовать более ранние или поздние сборки арча... Тут ОЧЕНЬ много вариантов почему такое происходит.

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

И решение другой проблемы- Как можно скормить GRUB2 раздел, но не по UUID, а по его метке? Я таки заDDшил образ на раздел, думаю проверить его работоспособность. Если взлетит-то и разбираться в причине нерабочести первого Multiboot с сабжем не придется.

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

dd`шить надо CD-диск в ISO-образ (пардон, очепяткнулся сильно)

Как можно скормить GRUB2 раздел, но не по UUID, а по его метке?

По метке, кажись, никак... А вместо UUID можно прописано НОМЕР. Например так:

root=(hd0,2)/ - хард драйв 0, партиция 2.

Но у гроба недавно изменился синтаксис... Теперь там будет что-то вида (msdos0,2)/

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

Вот кусочек конфига моего старого гробчика

set root='(hd0,1)'
search --no-floppy --fs-uuid --set abf9adef-13d7-484a-8d79-8265857f465d

Первая строка назначает корневую директорию как '(hd0,1)', а вторая ПЕРЕназначает ЕСЛИ удался поиск по fs-uuid (о чём свидетельствует --set во второй строке). То есть если убить вторую строку - корневая директория останется (hd0,1)/ не зависимо ни от чего, ведь её такой назначили....

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

CD диск в ISO образ? Так это образ же и выйдет, нет?

ИМЕННО! Просто распространяемый по сети ISO может несовпасть с полученным дампом через DD. Я такое встречал с диском FYB: Вес 4,7G, но если распаковать - имеем более 8-ми! Запаковать обратно - не выходит.... Трюк был в линках. Что-то там создатели намудрили и смогли впихнуть на диск информации почти в два раза больше, чем можно. Есть вариант того, что ISO чуток поджат и при записи на физический диск станет «более правильным» (понимаю что это бред, но у меня были прецеденты, а, значит, такое возможно)

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

Ты делал dd диска сразу на флэшку? Если да, то всё правильно. Если сдиска dvd на хард - то вот тебе и ответ... Хардлинки внутри образа, чтобы у одного файла были разные имена, таким образом экономится место. Скорее всего или dd-шить прямо во флэшку или с диска. Из образа скорее всего никак не прокатит.

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

Подожди, какого DVD диска? Я образ не качал и не снимал, он был создан утилитой ArchIso. Кстати, я тут еще раз все проверил- ничего не понимаю. Если dd на флешку этот образ-не пашет. Qemu -cdrom, та же проблема. Зато в Virtualbox пашет. Блииин, что я делаю не так? Сейчас закину ссылку на мой образ, может кому-нибудь будет интересно поковырять и помочь мне...

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

У меня вызывает смутные сомнения то, что файл весит ровно 1000 мегабайт. 1048576000байт. ну не может такого быть. пересоберу-ка я его.

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