Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: [HOWTO] Настройка и редактирование GRUB 2  (Прочитано 995616 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн baz50

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #810 : 23 Сентября 2010, 15:04:39 »
способ 1 и 2 у меня приводят к одной и той же ощибке:
после команды
ubuntu@ubuntu:~$ sudo grub-install --root-directory=/mnt/ /dev/sda
/usr/sbin/grub-setup: warn: Встраиваемая область необычно маленького размера. core.img не влезет в неё..
/usr/sbin/grub-setup: warn: встраивание невозможно. При имеющихся параметрах GRUB можно установить только с помощью списка блоков (blocklists). Однако, список блоков является НЕНАДЁЖНЫМ механизмом и его лучше не использовать..
/usr/sbin/grub-setup: error: если вы всё равно хотите использовать список блоков, укажите --force..
ubuntu 10.04 всё опять же таки после переустановки винды с 7ки на ХРю.

Оффлайн armyman

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #811 : 24 Сентября 2010, 16:59:34 »
Помогите, пожалуйста, разобраться с вопросом:

Есть флешка с GRUB2, ISOшники LiveCD.
Возможно ли загружать с LiveCD не сразу ядро Linuxа, а для начала загрузчик самого диска, чтобы грузилось меню диска?

Оффлайн vovanov

  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #812 : 24 Сентября 2010, 19:26:33 »
вопрос вот в чем: поставил винду слетел груб, как вернуть его загрузчиком по умолчанию и чтобы был выбор между осями

Оффлайн le_mures

  • Любитель
  • *
  • Сообщений: 59
  • 10.04 desktop + 10.04 UNR
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #813 : 25 Сентября 2010, 11:47:11 »
vovanov, на первой странице по-моему есть раздел про восстановление

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #814 : 25 Сентября 2010, 14:14:41 »
Цитировать
способ 1 и 2 у меня приводят к одной и той же ощибке:
после команды
ubuntu@ubuntu:~$ sudo grub-install --root-directory=/mnt/ /dev/sda
/usr/sbin/grub-setup: warn: Встраиваемая область необычно маленького размера. core.img не влезет в неё..
улыбнуло)))
а ежели серьезно, бут-раздел не забыл примонтировать? (если не уверен, есть ли он, глянь /mnt/etc/fstab)
Цитировать
Есть флешка с GRUB2, ISOшники LiveCD.
Возможно ли загружать с LiveCD не сразу ядро Linuxа, а для начала загрузчик самого диска, чтобы грузилось меню диска?
на livecd Убунты используется isolinux (на других либо он же, либо первый груб, редко что-то еще). как его загрузить через груб - я, если честно, не в курсе. с этим вообще не очень понятно, даже один гроб через другой не ясно как грузить. как вариант можно попробовать https://help.ubuntu.ru/wiki/загрузка_ubuntu_с_iso - только после "root (loop)" выполнить
chainloader +1только это очень вряд ли. во всяком случае, для isolinux не канает, насчет остальных хз.
если не повезет - остается ковырять исходный загрузчик и смотреть, какие параметры передаются ядру при загрузке разных пунктов (мемтест там, установщик и пр.). кстати, можно сваять свой конфиг груба с нужными пунктами и положить рядом с исошкой, а потом подгрузить с помощью "configfile"
лучше на "ты"

Оффлайн mazut

  • Забанен
  • Активист
  • *
  • Сообщений: 703
  • да, не заходи ты сюда!
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #815 : 25 Сентября 2010, 14:29:53 »
Ну есть такая тема. О загрузке оси через livecd

http://www.supergrubdisk.org/?pid=5

Сам не пользовал, ибо ненужно.
Патрикеич.
Под наблюдением.

Оффлайн baz50

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #816 : 25 Сентября 2010, 20:43:06 »
dimas000: у меня /boot находится в корневике системы в разделе /dev/sda6, иной линь раздел это только swap. Как я понял, весь 6й раздел монтировался прямиком в /mnt фс livеСD, все таи и лежало.

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #817 : 25 Сентября 2010, 20:59:46 »
мда... в чруте то же самое, значит? а скопировать туда что-нибудь получается?
с опцией --recheck пробовал? попробуй как он предлагает с --force, хуже вряд ли станет.
если совсем никак - можно найти флэшку/etc, сделать grub-install на нее, а потом перетащить мбр. или на машине с 10.04 (или просто с грубом 1.98 или какой там) сделать срез мбр (мб и от 1.97 проканает, тут уж хз)
лучше на "ты"

Оффлайн baz50

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #818 : 26 Сентября 2010, 09:40:47 »
Поищу редактор МВR и срез сектора для Grub. Вижу только такой способ.

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #819 : 26 Сентября 2010, 11:17:53 »
Цитировать
Поищу редактор МВR
:o такой есть?
Цитировать
и срез сектора для Grub
http://www.fileden.com/files/2008/1/30/1730131/mbr - вот, от 1.97, но должен проканать по идее
лучше на "ты"

Оффлайн mouserok

  • Активист
  • *
  • Сообщений: 326
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #820 : 28 Сентября 2010, 11:38:38 »
отформатил раздел и залил туда с помощью restore
вопрос:
как правильно поменять uuid в грабе?

Оффлайн metallking

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #821 : 28 Сентября 2010, 17:28:10 »
Я так смотрю тут самая полная и обширная тема по GRUB2. Так вот решил выложить свой скрипт для изменения настроек GRUB. Я его писал для себя прежде всего, чтобы немного разобраться с написанием скриптов и для одного человека. Скрипт позволяет пользователю: выбрать фоновое изображение grub, цвета пунктов меню, вариант загрузки по умолчанию, время отображения меню. Всё это делается напрямую в скрипте пользовательским вводом. Спасибо dimas000 за представленный мануал в этой теме, именно из него черпал информацию. Да и вообще почти все возникающие проблемы решал с помощью forum.ubuntu.ru.

Собственно сам скрипт:

#!/bin/bash
echo "Хотите ли вы добавить/обновить фоновое изображение загрузчика GRUB? Введите yes(y) или no(n)."
read -p "Введите ответ: " ans1
if [ $ans1 = y -o $ans1 = yes ]; then
cp *.tga /boot/grub/
cp 'Рабочий стол/*.tga' /boot/grub/
cp Загрузки/*.tga /boot/grub/
ls /boot/grub/*.tga
echo "Перед вами список доступных фоновых изображений загрузчика GRUB. Пожалуйста выберите одно из них и введите его название вместе с расширением."
read -p "Введите название фонового изображения: " ans2
sed -i 's,.*WALLPAPER="/.*,  WALLPAPER="/boot/grub/'$ans2'",' /etc/grub.d/05_debian_theme
echo "Переходим к следующему пункту."
sleep 3
else
echo "Идём дальше."
fi
echo "Хотите ли вы изменить цвета обычных и выделенных пунктов меню? Введите yes(y) или no(n)."
read -p "Введите ответ: " ans3
if [ $ans3 = y -o $ans3 = yes ]; then
echo "Выберите пожалуйста цвет обычного меню из предложенных ниже."
echo "     black - черный                   blue - синий                   brown - коричневый    "
echo "      cyan - голубой             dark-gray - темно-серый             green - зеленый       "
echo "light-cyan - светло-голубой     light-blue - светло-синий      light-green - ярко-зеленый  "
echo "light-gray - серый           light-magenta - розовый             light-red - светло-красный"
echo "   magenta - пурпурный                 red - красный                 white - белый         "
echo "                                    yellow - желтый                                        "
echo "Из приведённых выше цветов выберите цвет обычного текста."
echo "Введите цвет обычного текста в следующем формате: {цвет_обычного_текста/цвет_фона_обычного_текста}. Вводится без фигурных скобок. Обратите внимание что выбор черного цвета фона текста даст прозрачный фон!"
read -p "Введите цвета: " ans4
sed -i 's,.*COLOR_NORMAL=".*,  COLOR_NORMAL="'$ans4'",' /etc/grub.d/05_debian_theme
echo "Из приведённых выше цветов выберите цвет выделенного текста."
echo "Введите цвет выделенного текста в следующем формате: {цвет_выделенного_текста/цвет_фона_выделенного_текста}. Вводится без фигурных скобок. Обратите внимание что выбор черного цвета фона текста даст прозрачный фон!"
read -p "Введите цвета: " ans5
sed -i 's,.*COLOR_HIGHLIGHT=".*,  COLOR_HIGHLIGHT="'$ans5'",' /etc/grub.d/05_debian_theme
echo "Переходим к следующему пункту."
sleep 3
else
echo "Идём дальше."
fi
echo "Хотите ли вы выбрать загрузку какой-либо ОС по умолчанию? Введите yes(y) или no(n)."
read -p "Введите ответ: " ans6
if [ $ans6 = y -o $ans6 = yes ]; then
sed -n '/menuentry/p' /boot/grub/grub.cfg
echo "Перед вами список вариантов загрузки для вашего компьютера. Вы можете выбрать один из вариантов загрузки по умолчанию двумя следующими способами:"
echo "1. Выберите один из вариантов и введите его номер, которым он идёт по счёту в списке в поле ввода. Нумерация начинается с нуля!"
echo "2. Выберите один из вариантов и скопируйте его название вместе с кавычками в поле ввода."
echo "Замечание: предпочтительнее второй способ так как если вы укажите вариант загрузки по умолчанию номером идущим по счёту в списке и в будущем установите новое ядро или новую ОС или наоборот удалите то нумерация списка изменится и автоматически, без вашего ведома изменится и вариант загрузки по умолчанию!"
read -p "Введите вариант загрузки по умолчанию: " ans7 ans8 ans9 ans10 ans11 ans12 ans13 ans14 ans15 ans16
sed -i 's/.*GRUB_DEFAULT=.*/GRUB_DEFAULT='$ans7' '$ans8' '$ans9' '$ans10' '$ans11' '$ans12' '$ans13' '$ans14' '$ans15' '$ans16'/' /etc/default/grub
sed -i 's,.*GRUB_DEFAULT=.*,GRUB_DEFAULT='$ans7' '$ans8' '$ans9' '$ans10' '$ans11' '$ans12' '$ans13' '$ans14' '$ans15' '$ans16',' /etc/default/grub
sed -i '/GRUB_DEFAULT/s/         $//' /etc/default/grub
sed -i '/GRUB_DEFAULT/s/        $//' /etc/default/grub
sed -i '/GRUB_DEFAULT/s/       $//' /etc/default/grub
sed -i '/GRUB_DEFAULT/s/      $//' /etc/default/grub
sed -i '/GRUB_DEFAULT/s/     $//' /etc/default/grub
sed -i '/GRUB_DEFAULT/s/    $//' /etc/default/grub
sed -i '/GRUB_DEFAULT/s/   $//' /etc/default/grub
sed -i '/GRUB_DEFAULT/s/  $//' /etc/default/grub
sed -i '/GRUB_DEFAULT/s/ $//' /etc/default/grub
echo "Переходим к следующему пункту."
sleep 3
else
echo "Идём дальше."
fi
echo "Хотите ли вы изменить время отображения меню GRUB? Введите yes(y) или no(n)."
read -p "Введите ответ: " ans17
if [ $ans17 = y -o $ans17 = yes ]; then
echo "Введите время отображения меню GRUB в секундах."
read -p "Введите количество секунд: " ans18
sed -i 's,.*GRUB_TIMEOUT=.*,GRUB_TIMEOUT='$ans18',' /etc/default/grub
echo "Применение изменений."
else
echo "Выход из скрипта. Проверка изменений."
fi
if [ "$ans1" == "y" -o "$ans1" == "yes" ] || [ "$ans3" == "y" -o "$ans3" == "yes" ] || [ "$ans6" == "y" -o "$ans6" == "yes" ] || [ "$ans17" == "y" -o "$ans17" == "yes" ]; then
echo "Обновление GRUB"
update-grub
echo "Выход."
else
echo "Выход."
fi
sleep 10

Всё это работает у меня на ubuntu 10.04, GRUB - version 2 (PC/BIOS version). Я его добавил в /usr/bin и обозвал grub-config. Запускается естесственно рутом из терминала.
Может кому пригодится.

Оффлайн -=gr!n=-

  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #822 : 28 Сентября 2010, 21:54:50 »
ИМХО проще по мануалу поменять и фон, и шрифты.

У меня другой вопрос.
Не подскажете в grub2 не ожидается поддержка загрузки WinPE Live CD? Я как-то спрашивал, но может что-то изменилось?
Хочется сделать мультизагрузочную флешку именно на основе grub2, а не grub или grub4dos, но WinPE и BackTrack4 никак не хотят грузиться. Может кто что подскажет?

(Нажмите, чтобы показать/скрыть)

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #823 : 29 Сентября 2010, 13:48:06 »
Цитировать
отформатил раздел и залил туда с помощью restore
вопрос:
как правильно поменять uuid в грабе?
для начала просто поправить в grub.cfg, ну или при загрузке жмакнуть 'e' и прописать "root=/dev/sdXY", это чтобы вообще что-нибудь загрузилось. а как загрузится - update-grub, он сам все подхватит
Цитировать
Я так смотрю тут самая полная и обширная тема по GRUB2. Так вот решил выложить свой скрипт для изменения настроек GRUB. Я его писал для себя прежде всего, чтобы немного разобраться с написанием скриптов и для одного человека.
задумка хороша. допилить и расширить - будет толковая вещь
(Нажмите, чтобы показать/скрыть)
Цитировать
Хочется сделать мультизагрузочную флешку именно на основе grub2, а не grub или grub4dos, но WinPE и BackTrack4 никак не хотят грузиться. Может кто что подскажет?
опять все та же проблема загрузки одного загрузчика через другой. вряд ли кто-то ее поборол... можно, конечно, подродить на gnu.org, поспрашивать. а еще можно выяснить, где у лайвцд (я так понимаю, именно лайвцд берется за основу) загрузочный сектор и попробовать загрузить его срез, как это делается с мбр. ну или упорно пытаться chainloader'у кормить файло (типа как у груба core.img, у остальных тоже что-нибудь должно быть)....
Цитировать
а не grub или grub4dos,
если подобное есть - смотрим конфиги используемого там загрузчика и делаем выводы
лучше на "ты"

Оффлайн metallking

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #824 : 29 Сентября 2010, 17:28:48 »
Замечания учту, дельные. Попробую допилить. Но так как я сам фактически новичок в написании скриптов, да и в Linuxе сижу только где-то 2 года, всё реализовать не обещаю.

 

Страница сгенерирована за 0.024 секунд. Запросов: 21.