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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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

Оффлайн Lunatique

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #660 : 23 Мая 2010, 03:04:42 »
спасибо за информацию по восстановлению grub, а то я начал уже проклянать тот день когда решил поставить 7 :)

Оффлайн starper

  • Новичок
  • *
  • Сообщений: 21
  • Ну и ну...
    • Просмотр профиля
    • "Сторожка"
Re: пишем мануал по GRUB2
« Ответ #661 : 23 Мая 2010, 14:28:36 »
для начала стоит проверить, видит ли его сам груб. а то, может быть, нет смысла и париться далее. сделай ls в консоли груба... ls (hdX,Y) - должен показать содержимое.
Видит, зараза. На незамысловатое ls выдает список всех разделов на обоих дисках, на конкретный вопрос 'ls (hd1,1)' показывает правильный UUID.
Попытался пойти в обход, через создание дополнительного меню, куда прописал
Цитировать
menuentry "WindowsXP (/dev/sda1)"{
search -u 5C70E12C70E10D98 -s
chainloader +1
}
-- фигушки. Т. е. вроде начинает грузить, появляется мигающий курсор, - да так и остается навсегда...
Третий бубен меняю, но не сдаюсь :)
Дна нет, есть препятствие на пути вглубь. С. Е. Лец

Оффлайн falk

  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #662 : 23 Мая 2010, 14:32:49 »
У меня получилось разобраться с загрузкой 3х ОС на разных физических дисках, правда пришлось откатиться на первый граб, удалить еще один граб на второй linux системе и воспользоваться  map (hd0) (hd1)
  map (hd1) (hd0).  :)

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #663 : 23 Мая 2010, 14:38:22 »
получился у меня образ. итак, к делу:
создаем пустой файл
dd if=/dev/zero of=/tmp/img bs=1M count=1mkfs на ём
sudo mkfs.ext2 -F /tmp/imgв случае с ext - к черту резервирование
sudo tune2fs -r 0 /tmp/imgдля проверки можно смонтировать как loop-девайс. теперь в device.map требо прописать данный девайс. например, как fd0
(hd0) /dev/sda
(hd1) .....
(fd0) /dev/loop0
запущаем
sudo grub-install /dev/loop0у меня оно выдало пару ругательств, но в итоге все встало. с --root-directory можно не пытаться, ибо не катит. да и ладно. мбр записался. осталось создать на фс папку /boot/grub и скопировать туда нужное файло. оное можно взять из /boot/grub (за исключением grub.cfg), а можно с помощью grub-mkrescue создать исошник с надобром необходимого, который затем расковырять. при желании пихаем туда же шрифт и бэкграунд, если очень хочется красоты.
ну а далее.... отмонтируем фс и полученный образ раскатываем на дискету с помощью dd. возможно, проканает. если честно, не в курсе, как там реализован загрузочный сектор на дискетах.. однако, слегка погуглив на тему, нашел похожий проект с первым гробом в основе. так что взгромоздить реально.
лучше на "ты"

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #664 : 23 Мая 2010, 15:38:15 »
Первый груб я закинул на дискету, но простым копированием загрузочных записей. В итоге груб с дискеты грузится, но дискета не монтируется и записать на неё что-нибудь еще не получается. Приходится вставлять второй образ с загружаемым непосредственно файлом, способ работает, но выглядит криво. Установить из консоли груба не получается, поскольку для этого нужен дистрибутив с первым грубом.
Попробовал вашим способом, grub-install выругался точно так же, как я уже приводил. Запустил с --force, выдал Installation finished. No error reported. А какие файлы переносить в /boot/grub? Все не влезут, места не хватит.


Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #665 : 23 Мая 2010, 19:40:43 »
ну вот... мбр, по идее, встал. насчет "что пихать": с помощью grub-mkrescue создал исошник, из него выдернул содержимое. все вместе получилость 673 KiB. впрочем, в порыве оптимизации можно повырезать и модули поддержки всяких разных фс, таблиц разделов, интересные тулзы... это если уж совсем припрет
лучше на "ты"

Оффлайн starper

  • Новичок
  • *
  • Сообщений: 21
  • Ну и ну...
    • Просмотр профиля
    • "Сторожка"
Re: пишем мануал по GRUB2
« Ответ #666 : 24 Мая 2010, 00:39:35 »
У меня получилось разобраться с загрузкой 3х ОС на разных физических дисках, правда пришлось откатиться на первый граб, удалить еще один граб на второй linux системе и воспользоваться  map (hd0) (hd1)
  map (hd1) (hd0).  :)
Даже читать такое страшно :) А если серьезно, то у меня, похоже, несколько другой случай, связанный именно с проблемой этого чертова RAID'a. Да и откатываться на grub-legacy не хочется, полагаю - допилят-таки grub2.

dimas000, в разделе "MBR — бэкап, восстановление и загрузка через образ" небольшая неточность:
sudo dd if=/dev/sda of=mbr.bin bs=512 count=1создает файл mbr.bin не в домашней, а в корневой дитектории.
Дна нет, есть препятствие на пути вглубь. С. Е. Лец

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #667 : 24 Мая 2010, 02:28:13 »
Цитировать
и воспользоваться  map (hd0) (hd1)
  map (hd1) (hd0)
а вот это пугает... в идеале должно все прекрасно цепляться по uuid, и плевать на маппинг... но, видать, не заладилось

Цитировать
sudo dd if=/dev/sda of=mbr.bin bs=512 count=1
создает файл mbr.bin не в домашней, а в корневой дитектории.
в представленном виде она создаст его в рабочей директории, т.е. там, где ее и запустили. а дом является этим местом при открытии сессии (т.е. при запуске гуевого терминала или логине на tty). и покуда юзер с помощью cd не уйдет куда подальше, создаваться оно будет именно в его хомяке. к тому же, это всего лишь пример, нормальный юзер будет сохранять это в более укромное место, например на бэкап-раздел, который, конечно же, имеется у каждого.

Цитировать
Видит, зараза. На незамысловатое ls выдает список всех разделов на обоих дисках, на конкретный вопрос 'ls (hd1,1)' показывает правильный UUID.
и если сделать ls (hd1,1)/ - должен вывести содержимое
Цитировать
menuentry "WindowsXP (/dev/sda1)"{
search -u 5C70E12C70E10D98 -s
chainloader +1
}
-- фигушки. Т. е. вроде начинает грузить, появляется мигающий курсор, - да так и остается навсегда...
судя по "hd1" можно понять, что искомая Windows находится на харде, отличном от того, с которого идет загрузка. и тут снова нужен волшебный drivemap, о котором я писал чуть выше не так давно:
drivemap -s (hd0) ${root}пихается между search и chainloader.
да, насчет проблем с рэйдом: запусти еще
sudo os-prober
дабы понять, он на нем спотыкается или же грубовская 30-ка
лучше на "ты"

Оффлайн starper

  • Новичок
  • *
  • Сообщений: 21
  • Ну и ну...
    • Просмотр профиля
    • "Сторожка"
Re: пишем мануал по GRUB2
« Ответ #668 : 25 Мая 2010, 01:25:33 »
drivemap -s (hd0) ${root}пихается между search и chainloader.
да, насчет проблем с рэйдом: запусти еще
sudo os-prober
дабы понять, он на нем спотыкается или же грубовская 30-ка
drivemap не помогает:
menuentry "Microsoft Windows XP Professional RU (/dev/sda1)" {
search -u 5c70e12c70e10d98 -s
        drivemap -s (hd1) ${root}
chainloader +1
}
приводит к тому же вечному курсору на беззвездном экране...
Если же задать ему 'chainloader /dev/sda1/ntldr' то пишет, что файл не найден.
Между тем решение, чувствую, где-то рядом, потому что Ubuntu 9.04, которая стои́т не только на том же диске, что и Windows, но внутри ее расширенного раздела, после такой записи в custom.ctg
menuentry "Ubuntu 9.04, 2.6.28-18-generic (/dev/sda7)" {
search -u 5cb4558b-380f-43d6-b945-dcb253e45084 -s
echo 'Загружается старушка ...'
linux /boot/vmlinuz-2.6.28-18-generic root=UUID=5cb4558b-380f-43d6-b945-dcb253e45084 ro quiet splash
initrd /boot/initrd.img-2.6.28-18-generic
}
совершенно штатно грузится! Значит, дело не в диске и даже не RAID'e, что косвенно подтверждается тем, что, как я писал, SuperGrub LiveCD грузит всё, что шевелится.
Может, я по невежеству неправильно задаю путь в  'chainloader /dev/sda1/ntldr'?
Дна нет, есть препятствие на пути вглубь. С. Е. Лец

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #669 : 25 Мая 2010, 01:38:52 »
Цитировать
menuentry "Microsoft Windows XP Professional RU (/dev/sda1)" {
   search -u 5c70e12c70e10d98 -s
лучше делай все в консоли груба. так хоть видно будет, если заругается, чем ругается и после чего. а еще лучше, конечно, юзать 1.97, ибо в 1.98 за каким-то хреном убрали отладочные сообщения (которые, к примеру, писались при загрузке ядра/инитрд). но браться за даунгрейд - нафиг надо
да, после search сделай root - должен сказать, что (hdX,Y) и нтфс на ем. ну и ls / таки посмотри потом.
(Нажмите, чтобы показать/скрыть)
Цитировать
Может, я по невежеству неправильно задаю путь в  'chainloader /dev/sda1/ntldr'?
таки неверно. правильнее так: (hdX,Y)/ntldr (кстати, насчет чувствительности к регистру я не уверен, но таковая вполне может быть, а файл вполне может именоваться NTLDR), или после search уже просто /ntldr
кстати, на 9.04 что за гроб стоит? поди первый? (блин, аж захотелось по ней поностальгировать, ибо воспоминания самые позитивные)
лучше на "ты"

Оффлайн starper

  • Новичок
  • *
  • Сообщений: 21
  • Ну и ну...
    • Просмотр профиля
    • "Сторожка"
Re: пишем мануал по GRUB2
« Ответ #670 : 25 Мая 2010, 02:33:49 »
Конечно, на 9.04 был первый grub. Но он должен был затереться при переустановке Винды.
Сделал уже такое:
menuentry "Microsoft Windows XP Professional RU (/dev/sda1)" {
set root=(hd1,1)
search -u 5c70e12c70e10d98 -s
drivemap -s (hd1) ${root}
chainloader (hd1,1)/ntldr
}
Он мне: "Неизвестная файловая система".
Сую:
menuentry "Microsoft Windows XP Professional RU (/dev/sda1)" {
insmod ntfs
set root=(hd1,1)
search -u 5c70e12c70e10d98 -s
drivemap -s (hd1) ${root}
chainloader (hd1,1)/ntldr
}
Отвечает: "invalid signature".
То есть дело пошло́ на принцип...

Пользователь решил продолжить мысль 25 Мая 2010, 04:12:22:
Прошел процесс по шагам в grub-консоли:

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

Не вышло с наскоку, буду разбираться с командами и синтаксисом. И без того совестно, что отнимаю у вас столько времени.
« Последнее редактирование: 25 Мая 2010, 04:12:22 от starper »
Дна нет, есть препятствие на пути вглубь. С. Е. Лец

Оффлайн Ksertoo

  • Активист
  • *
  • Сообщений: 314
  • храм фирэфохэ
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #671 : 25 Мая 2010, 09:34:51 »
У меня GRUB при загрузке не отображается(Стоит одна Kubuntu), а загружает напрямую в систему. Исправлял

GRUB_HIDDEN_TIMEOUT=на 10

а

GRUB_HIDDEN_TIMEOUT_QUIET=
с true на false

Ничего не помогает. ЧЯДНТ?
« Последнее редактирование: 25 Мая 2010, 09:38:42 от Tiraspol »
Kubuntu 10.04 LTS   Linux kernel 2.6.32   KDE 4.4.5

Мой Живой Журнал-Дневник

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #672 : 25 Мая 2010, 13:32:27 »
Цитировать
GRUB_HIDDEN_TIMEOUT=
GRUB_HIDDEN_TIMEOUT_QUIET=
а закомментируй оба параметра

Цитировать
Конечно, на 9.04 был первый grub. Но он должен был затереться при переустановке Винды.
если он был прописан не в мбр харда, а в загрузочный сектор раздела, то дорыться до него можно. а то и по цепочке загрузить как-нибудь... если очень хочется
Цитировать
4) drivemap -s (hd1,1) $(root)
во-первых, (hd0) - как я понимаю, Windows должна думать, что мы грузимся с ее родного диска. как-то так.
во вторых, ${root}
кстати, а не сделать ли fixmbr на том харде? и потом грузить просто через мбр харда... точнее, вопрос такой: если выбрать загрузочным хард с виндой - грузит?
лучше на "ты"

Оффлайн starper

  • Новичок
  • *
  • Сообщений: 21
  • Ну и ну...
    • Просмотр профиля
    • "Сторожка"
Re: пишем мануал по GRUB2
« Ответ #673 : 26 Мая 2010, 01:03:14 »
Цитировать
кстати, а не сделать ли fixmbr на том харде? и потом грузить просто через мбр харда... точнее, вопрос такой: если выбрать загрузочным хард с виндой - грузит?
Нет! И это любопытно, поскольку, как я писал, WinXP переустанавливалась "при жизни" Ubuntu 9.04 и дожна была затереть grub1.
Но при попытке загрузиться с ее диска получаю ответ:
Error: no such device: 55551e4c-c74f-ad48-94180f35efo2
grub resque>
Консоль восстановления Винды при попытке fixmbr предупреждает, что "у вас нестандартная конфигурация" и карта разделов может, мол, грохнуться. Я ей верю. Вот и чеши теперь репу...
Я бы, может, и переустановил Винду, в конце концов, но меня угнетает все тот же факт: SuperGrub LiveCD грузит всё, в том числе и Винду.
Буду копать дальше, если накопаю - отпишусь. Спасибо за поддержку.
Дна нет, есть препятствие на пути вглубь. С. Е. Лец

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #674 : 26 Мая 2010, 14:41:41 »
Цитировать
Консоль восстановления Винды при попытке fixmbr предупреждает, что "у вас нестандартная конфигурация" и карта разделов может, мол, грохнуться. Я ей верю.
да уж, Windows может....
Цитировать
но меня угнетает все тот же факт: SuperGrub LiveCD грузит всё, в том числе и Винду.
лично с таковым никогда не сталкивался, но ковырянию он обязан поддаваться. а коли уж через тот же гроб все происходит, так и вовсе должон иметься конфиг этого самого гроба.
кстати, почему бы не прописать в 9.04 мбр груба на тот хард? коли уж там все равно перетерто (догадываюсь, чем). или гроб2 туда взгромоздить даже?
лучше на "ты"

 

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