LINUX.ORG.RU

Загрузка нескольких linux-машин с одной флешки

 , ,


1

1

Здравствуйте.
Как вариант, при шифровании винта /boot содержится на флешке и нужен только при запуске и при установке чего-либо глобального, меняющего образ initframe или содержащееся в /boot ядро. Т.е. запустился с флешки, отмонтировал ее и машина работает до следующей загрузки. Если надо обновиться - сделал это перед отмонтированием.
Если по такой схеме работает несколько машин, хотелось бы иметь их загрузочные разделы на одной флешке, а не таскать с собой их ворох. Что-то бьюсь уже два-три дня и никак не могу сообразить как это сделать.
Добавление в конфиг GRUB2 дополнительных разделов живет до первого update-grub, который выполняется, естественно, на одной из машин и не видя на ней других ОС убивает дополнительные разделы.
Программулины для создания мультизагрузочных флешек, сколько их посмотрел, фактически тоже манипулируют GRUB'ом и, например при обновлении на машине ядра и автоматического update-grub'а, вся логика их работы порушится не найдя на машине дополнительных прописанных в конфиге gruba систем.
Есть мультизагрузочные флешки, манипулирующие iso-образами. Думаю попробовать закатать требуемые /boot'ы в iso и подключать их, но не очень понимаю как это будет выглядеть. Все-таки по логике данных программ вся система должна быть в iso. Аналог live-cd на флешке. Возможно есть какие-либо загрузчики, позволяющие при загрузке выбрать один из разделов, скрыв остальные?
Буду благодарен за подсказку куда копать для решения этой задачи.
Да, все машины, которые планируется запускать на debian stretch, но как максимуму хочется найти универсальное решение, на всякий случай.
Также было бы очень здорово шифровать загрузочные разделы, которые хранятся на флешке.



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

Ответ на: комментарий от logon

Тут просто вопрос шире. Ну вот конкретный пример:
флешка /dev/sdb
Разбита:
/dev/sdb1 - ntfs-раздел для переноски всякой белиберды.
/dev/sdb2 - ext2 c /boot для машины №1
/dev/sdb3 - ext2 c /boot для машины №2
/dev/sdb4 - ext2 c /boot для машины №3
/dev/sdb... - ext2 c /boot для машины №...

Как реализовать эту структуру? Если в настройки GRUB'a прописать все эти разделы, то при первом же update-grub на любой из машин он сотрет остальные, т.к. не найдет данных систем.
Представляется логичным вариант каким-то образом изолировать каждый из /boot, например установив GRUB не в MBR, а на каждый раздел в отдельности. А в MBR какой-то загрузчик, который позволит выбирать с какого-раздела грузится. Но есть подозрение, что при upgrade-grub он себя пропишет в MBR. Попробовал бы, но не знаю что умеет выбирать с какого раздела грузиться.

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

Куча вариантов.
Если это все разделы /boot от разных машин, то grub на флешку ставить необязательно. Далее, смотри https://wiki.archlinux.org/index.php/GRUB_(Русский). Можно запретить update-grub или использовать один загрузчик для всех систем. Вроде можно и в раздел загрузчик установить. Я предлагаю использовать тебе один загрузчик для всех систем.

logon
()
Ответ на: комментарий от Neuro75

А кстати, использовать N+1 груб нельзя? первый в МБР и в нём chainload прописаны остальные разделы флехи. А на разделах уже стоят груб-ы которые грузят стоящие рядышком с ними ядра?

P.S. груб для такого не использовал, так что может быть дико заблуждаюсь.

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

Добавление в конфиг GRUB2 дополнительных разделов живет до первого update-grub, который выполняется, естественно, на одной из машин и не видя на ней других ОС убивает дополнительные разделы.

Для такого есть custom.cfg - автоматом включается в конец конфига Груба и никогда не переписывается!

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