LINUX.ORG.RU

Установка grub на отдельный раздел

 


0

1

На компьютере установлены несколько ОС, есть желание вынести grub stage2 на отдельный раздел, чтобы не зависеть от разделов с установленными ОС.

Пробовал
grub-install --boot-directory=/media/#раздел_sda6# /dev/sda
копирует файлы grub на указанный раздел, но не активирует его как загрузочный stage2
grub-mkconfig -o /media/#раздел_sda6#/boot/grub/grub.cfg
создается файл с перечнем существующих ОС на sda6
grub-update
обновляет grub.cfg на активной ОС (sda7).

Если при загрузке grub выйти в командную строку «с» и начинать вручную прописывать пути загрузки set root=(hd0,msdos6), то в существующее меню grub добавляются опции загрузки которые находятся на /dev/sda6 (при их выборе проходит корректная загрузка).

Подскажите, пожалуйста, как правильно указать grub где ему следует искать stage2 для загрузки?


Все, касающееся загрузки, начинать с ответов на три вопроса.

На компьютере БИОС или УЕФИ? Если УЕФИ, то в каком режиме: ЕФИ или легаси? Если в режиме ЕФИ, то в каком положении «secure boot»?

«Stage2» - термин из груб1, неужели компьютер столь-же старый.

вынести grub stage2 на отдельный раздел, чтобы не зависеть от разделов с установленными ОС

Идея хорошая, но дальше сам себе противоречишь. Если груб не зависит от системы, то забудь всякие «grub-update», она влияет на груб той системы, в которой запущена. «Раздел sda6» - что на нем, есть какая-нибудь система?

andytux ★★★★★
()

Вручную конфиг создать, так как автоматом создает для системы с какой запускаешь команду генерации конфига.

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

Если это про конфиг для загрузки, то он уже создан. Но туда не попадает управление.
Если это про конфиг для генерации конфига, то я пока не понимаю, где его искать.

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

Точно БИОС? Это значит, что компьютеру больше десяти лет. Поверим на слово.

mount /dev/sda6 /mnt/sda6
grub-install --root-directory=/mnt/sda6 /dev/sda

Установит груб в MBR диска sda, каталог /boot/grub (по всей видимости это ты называешь stage2) будет создан на sda6. Конфиг придется создавать ручками, впрочем копи-паст никто не отменял. Груб может использовать конфиг другого груба. То есть, ты можешь создать пункты меню, которые будут «перенаправлять» тебя в меню груба других систем. В простейшем случае, например:

configfile (hd0,msdos7)/boot/grub/grub.cfg

Должен увидеть меню груба, системы на sda7.

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

Да, все верно. Создаются директории с файлами grub на sda6. Конфиг grub.cfg тоже без проблем создается. Что копипастой, что отдельной командой - без разницы. Команды

configfile (hd0,msdos6)/boot/grub/grub.cfg  
configfile (hd0,msdos7)/boot/grub/grub.cfg

Исправно видят правильные менюшки (sda6 или sda7).

Но по дефолту грузится меню с sda7. И если sda7 будет удален, grub грузиться, по-видимому, перестанет.

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

Грузился все же с sda6 но там было прописано
set root=‘hd0,msdos7’

Изменил на
set root=‘hd0,msdos6’

Все стало нормально.

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

Нормально, когда ты не зависишь от номера диска-раздела. Примеры можешь посмотреть здесь.

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