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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

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

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

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #225 : 13 Декабря 2009, 22:09:34 »
один умный человек подкинул мне идею по поводу Fdisk:

buntu@ubuntu:~$ sudo fdisk -l

Диск /dev/sda: 200.0 ГБ, 200049647616 байт
255 heads, 63 sectors/track, 24321 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa8a8a8a8

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1               1         588     4719424+  a5  FreeBSD
Раздел 1 не заканчивается на границе цилиндра.
/dev/sda2   *       16489       24322    62914824    7  HPFS/NTFS
Раздел 2 не заканчивается на границе цилиндра.
/dev/sda3             588        6785    49780584   a5  FreeBSD
Раздел 3 не заканчивается на границе цилиндра.
/dev/sda4            6786       16488    77939347+   5  Расширенный
Раздел 4 не заканчивается на границе цилиндра.
/dev/sda5            6786        7283     4000153+  82  Linux своп / Solaris
/dev/sda6            7284       16488    73939131   83  Linux

Пункты таблицы разделов расположены не в дисковом порядке

Раздел не закачнивается на границе цилиндра. Говорит, что это косяк после работы Fdisk'a во фряхе, что если его подправить Linuxовым Fdisk'ом, то будет щастье, сейчас буду пробовать

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #226 : 13 Декабря 2009, 22:46:12 »
меня тоже смутило, но интересно как раз то, что "неправильные" разделы он видит, а "хорошие" - фиг ли))) хотя, поправить, конечно, не помешает... авось и получшеет
лучше на "ты"

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #227 : 14 Декабря 2009, 09:01:26 »
Все работает!!!!!! Короче! для тех кто, кто хочет использовать Ubuntu 9.10 и FreeBSD 8.0 на одном жестком:

НИ В КОЕМ СЛУЧАЕ НЕ РАЗМЕЧАЙТЕ РАЗДЕЛЫ ДЛЯ BSD ЧЕРЕЗ FDISK FREEBSD!!!!!!!

И так по порядку:
1. Загружаемся с лайфсд, запускаем fdisk, создаем в нем все разделы, для разелов бсд, пользуемся командой t и добавляем метку a5
2. Устанавливаем FreeBSD не меня слайсов! Только внутри созданых создаем патриции. Не создаем никакова BSD загрузчика
3. Устанавливаем Ubuntu, после установки добавляем в /etc/grub.d/40_custom:

menuentry "FreeBSD 8.0" {
    set root=(hd0,1,a)
    chainloader +1
}

hd0,1,a выбираем в соотвествии с разделом, где фря находится
дале выполняем sudo update-grub и радуемся жизни :)

Пользователь решил продолжить мысль 14 Декабря 2009, 07:10:25:
dimas000 Спасибо за оказанную помощь! Много нового узнал :)

Пользователь решил продолжить мысль 14 Декабря 2009, 14:07:07:
И еще один вопрос, может я где то пропустил... Вообщем после обновления ядра добавляется новое ядро в меню загрузки, а старое не удаляется, как от него избавиться?
« Последнее редактирование: 14 Декабря 2009, 14:07:07 от BallRocK »

Оффлайн agimoura

  • Активист
  • *
  • Сообщений: 325
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #228 : 14 Декабря 2009, 19:37:25 »
Цитировать
я где то пропустил... Вообщем после обновления ядра добавляется новое ядро в меню загрузки, а старое не удаляется,

Ага, пропустил!..  ;D ;D ;D

Удаляешь само ядро, запись в загрузчике удалится автоматом...  ;)

Оффлайн arrecck

  • Старожил
  • *
  • Сообщений: 1725
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #229 : 14 Декабря 2009, 20:41:42 »
как прописать single mode в груб2 во время загрузки?
linux /boot/vmlinuz*** root=UUID=*** ro single
initrd /boot/initrd.img***-generic
 

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #230 : 14 Декабря 2009, 21:45:48 »
как прописать single mode в груб2 во время загрузки?
linux /boot/vmlinuz*** root=UUID=*** ro single
initrd /boot/initrd.img***-generic
именно так! ежели хочешь сие в меню загрузки, то вообще-то пункты "recovery mode" должны автоматом генериться. но на всякий случай посмотри в "/etc/default/grub" параметр типа "linux_disable_recovery" (точно не помню, как зовется). по дефолту он закомментирован, но мало ли чего...
Цитировать
Все работает!!!!!!
ну вот, наконец-то! поздравляю!!!
Цитировать
НИ В КОЕМ СЛУЧАЕ НЕ РАЗМЕЧАЙТЕ РАЗДЕЛЫ ДЛЯ BSD ЧЕРЕЗ FDISK FREEBSD!!!!!!!
ха, мое предположение оправдалось... интересно, почему так, но это уже другой вопрос.
Цитировать
И так по порядку:
1. Загружаемся с лайфсд, запускаем fdisk, создаем в нем все разделы, для разелов бсд, пользуемся командой t и добавляем метку a5
обязательно впихну в мануал. а вот про fdisk опиши, пожалуйста, поподробней порядок действий, чтоб человек не столь сведущий мог разобраться. да, именно МЕТКУ раздела нужно указывать?
Цитировать
    set root=(hd0,1,a)
а еще лучше то же самое делать через "search -u uuid -s" (см. 6-й пост)
Цитировать
dimas000 Спасибо за оказанную помощь! Много нового узнал
да пожалуйста.... сам в великим удовольствием поковырялся))) в премудростях разобрадся....
что с разделами-то теперь? все видит? как Windows?
лучше на "ты"

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #231 : 15 Декабря 2009, 08:07:42 »
Цитировать
ха, мое предположение оправдалось... интересно, почему так, но это уже другой вопрос.
Я так думаю, что BSD fdisk более мощный... Потому что когда им диски при установке делишь, то он вплоть до мегабайта разделяет, столько сколько пишешь, а fdisk в ubuntu округляет по цилиндрам... Видимо grub2 ращитан на работу именно с такими разделами
Цитировать
обязательно впихну в мануал. а вот про fdisk опиши, пожалуйста, поподробней порядок действий, чтоб человек не столь сведущий мог разобраться. да, именно МЕТКУ раздела нужно указывать?

ballrock@BallRocK:~$ sudo fdisk /dev/sda (sda везде следует заменить на имя своего жесткого диска, на который планируется установить FreeBSD и Ubuntu. Его можно узнать набрал команду "sudo fdisk -l)

Количество цилиндров для этого диска установлено в 24321.
С этим все в порядке, но значение больше, чем 1024,
и в отдельных установках могут возникнуть проблемы с:
1) программами, запускаемым при загрузке (напр., старые версии LILO)
2) загрузкой и программами разметки из других ОС
   (напр., DOS FDISK, OS/2 FDISK)

(Создаем разделы. Если разделы уже есть, советую забэкапиться, а потом удалять их. Сделаеть это можно командой d, после чего он спросит номер раздела. Приведенный ниже пример илюстрирует создание разделов для 3х операционных систем: windows 7, FreeBSD 8.0, Ubuntu 9.10. При том на FreeBSD планируется использоваться файловую систему ZFS)
Команда (m для справки): n
Действие команды
   e   расширенный
   p   основной раздел (1-4)
p (создаем раздел для windows. Его не обязательно делать первый, если windows лицензионный. Главное чтобы он был primary)
Номер раздела (1-4): 1
Первый цилиндр (1-24321, по умолчанию 1): 1 (задаем начало раздела)
Last цилиндр, +цилиндры or +size{K,M,G} (1-24321, по умолчанию 24321): +60G (задаем его объем)

Команда (m для справки): t (параметр t позволяет задать метку файловой системы для раздела. Важно помнить, что метка не является файловой системой, поэтому в дальнейшем при установке Операционной системы нужно будет его отформатировать. Метку нужно задавать обязательно, чтоб при установке ОС правильно опознала раздел, и не предложила воспользоваться своими средствами для разметки диска)
Выбранный раздел 1
Шестнадцатеричный код (введите L для получения списка кодов): 7 (0x07 шестнадцатиричная метка NTFS раздела)
Системный тип раздела 1 изменен на 7 (HPFS/NTFS)

Команда (m для справки): n (создаем раздел для FreeBSD)
Действие команды
   e   расширенный
   p   основной раздел (1-4)
p (обязательно делаем его первичным! Он будет являться слайсом, так как Патриции тут создать не получится, да и не нужно)
Номер раздела (1-4): 2
Первый цилиндр (7835-24321, по умолчанию 7835):     (выбираем начало второго раздела. Можно просто нажать Enter, fdisk продолжит с конца предыдущего раздела)
Используется значение по умолчанию 7835
Last цилиндр, +цилиндры or +size{K,M,G} (7835-24321, по умолчанию 24321): +4608M (первый слайс будет содержать всего 2 патриции: / равный 512м и swap 4096m так как у меня 2 гигабайта оперативной памяти. Создается всего две патриции, такак для ZFS нужно выделять полностью слайс, иначе воспользоваться ей не получится)

Команда (m для справки): t
Номер раздела (1-4): 2
Шестнадцатеричный код (введите L для получения списка кодов): a5 (метка для FreeBSD слайса a5, без нее он не будет в созданом нами слайсе создавать патриции)
Системный тип раздела 2 изменен на a5 (FreeBSD)

Команда (m для справки): n (создаем слайс для zfs)
Действие команды
   e   расширенный
   p   основной раздел (1-4)
p
Номер раздела (1-4): 3
Первый цилиндр (8423-24321, по умолчанию 8423):
Используется значение по умолчанию 8423
Last цилиндр, +цилиндры or +size{K,M,G} (8423-24321, по умолчанию 24321): +55G

Команда (m для справки): t
Номер раздела (1-4): 3
Шестнадцатеричный код (введите L для получения списка кодов): a5 (присваиваем ему метку FreeBSD слайса)
Системный тип раздела 3 изменен на a5 (FreeBSD)

Команда (m для справки): w (выходим и сохраняем изменения)

Для ubuntu разделы можно сейчас не размечать. При установке она с этой задачей справится, придется только ставить в расширеный раздел ее.
В первую очередь нужно устанавливать win 7, а дальше разницы нет.

Пойдет такой мануал? :)
Цитировать
а еще лучше то же самое делать через "search -u uuid -s" (см. 6-й пост)
А чем лучше то? :)






Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #232 : 15 Декабря 2009, 14:59:21 »
Цитировать
Пойдет такой мануал?
отлично, спасибо!
Цитировать
А чем лучше то?
как я говорил выше, груб иногда может чудить, и нумерация (hd*,*) порой съезжает. поэтому даже сами разработчки не шибко рассчитывают на set root, а доблавляют в пунктах строку с seacrh, ибо по ююид оно все равно найдет, даже если порядок дисков/таблица разделов изменится.
лучше на "ты"

Оффлайн 007tar

  • Новичок
  • *
  • Сообщений: 32
  • Ubuntu 10.10 + Dell XPS M1330
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #233 : 15 Декабря 2009, 16:05:31 »
Какие команды ввести для установкиGRUB2 на sda5 а не sda (c LiveCDUbuntu9.10)?
Хочу пользоваться загрузчиком Vista как основным (EasyBCD и т.д.).
-----------------------------Вводил так---------------
taras@taras-laptop:~$ sudo mount /dev/sda5 /mnt
taras@taras-laptop:~$ sudo grub-install --root-directory=/mnt /dev/sda
Installation finished. No error reported.
This is the contents of the device map /mnt/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0)   /dev/sda
----------------------------Потом так---------------
taras@taras-laptop:~$ sudo mount /dev/sda5 /mnt
taras@taras-laptop:~$ sudo grub-install --root-directory=/mnt /dev/sda5
[sudo] password for taras:
grub-setup: warn: Attempting to install GRUB to a partition instead of the MBR.  This is a BAD idea.
grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and its use is discouraged.
grub-setup: error: Cannot read `/grub/core.img' correctly

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #234 : 15 Декабря 2009, 16:55:38 »
на раздел, как я понял, нормально не ставится. однако же, при установке убунты в "expert mode" (с alternate-диска) предлагалась менюшка с вопросом. куда ставить, и там были как диски, так и разделы. но хз, что это и как оно работает.
выше кто-то описывал методу с копированием первых 512 байт с диска в файл(через всемогущую dd), закидыванием их на Цэ и пиханием в boot.ini (в свистовском загрузчике, кажись, другая технология). ежели знаешь, как прикрутить к загрузчику свисты - можно попробовать, а ежели даже проканает - fixmbr его...
лучше на "ты"

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #235 : 15 Декабря 2009, 17:14:36 »
Цитировать
на раздел, как я понял, нормально не ставится. однако же, при установке убунты в "expert mode" (с alternate-диска) предлагалась менюшка с вопросом. куда ставить, и там были как диски, так и разделы. но хз, что это и как оно работает.
Ты даже когда его переустанавливаешь, то выбираешь на какой раздел:
Цитировать
taras@taras-laptop:~$ sudo mount /dev/sda5 /mnt
А вот mbr на диске один:
Цитировать
taras@taras-laptop:~$ sudo grub-install --root-directory=/mnt /dev/sda
Поэтому скорей всего при установке предлагается установить груб на раздел например с другим Linuxом, а вот mbr он в любом случае подправит...
Поэтому чтобы пользоваться загрузчиком винды, можно попробовать fdisk'ом сделать активным раздел с виндой... Но мне кажется не поможет, и придется весь mbr перезаписывать на виндовый, а там уже из под винды linux прикручивать

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #236 : 15 Декабря 2009, 18:10:30 »
оформил отдельной хаутушкой наши изыскания по части фряхи - https://forum.ubuntu.ru/index.php?topic=78562.0
лучше на "ты"

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #237 : 15 Декабря 2009, 18:25:05 »
Есть два замечания:

1)На первой странице в разделе: консоль grub2 - команды и хитрости.

Цитировать
пожалуй, одна из самых полезных команд. потомок "find" и "uuid" из grub-legacy. служит для поиска раздела по UUID, метке или заданному файлу.
имеет следующие ключи:
-u (или --fs_uuid) - поиск раздела по UUID
-l (или --label) - поиск по метке раздела
-f (или --file) - поиск по указанному файлу
-s (или --set) - установить найденный раздел в качестве значения заданной переменной.

по моему надо не --fs_uuid, а --fs-uuid, по крайней мере у меня второй вариант работает

2)
Цитировать
оформил отдельной хаутушкой наши изыскания по части фряхи - https://forum.ubuntu.ru/index.php?topic=78562.0
Там где ты добавил:
Цитировать
search -u uuid_раздела -s
тогда уж dearch --no-floppy --uuid uuid_раздела --set
Чтоб флопик не трещал при загрузки фрюхи ;) А расширеный вариант по той причине, что сокращеный я не пробовал)
а set root я вообще убрал из 40_custom
« Последнее редактирование: 15 Декабря 2009, 18:32:31 от BallRocK »

Оффлайн 007tar

  • Новичок
  • *
  • Сообщений: 32
  • Ubuntu 10.10 + Dell XPS M1330
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #238 : 15 Декабря 2009, 20:34:19 »
Попробую переформулировать вопрос.  :coolsmiley:
При установке Ubuntu предлагается установить GRUB2 в MBR (hda - к примеру).
Как альтернатива предлагается установка на раздел (hda5 - к примеру). Хотя и не рекомендуется !!!
Как мне НЕ ПЕРЕУСТАНАВЛИВАЯ Ubuntu, а использовав лишь команды GRUB2, перейти на второй вариант загрузки?
« Последнее редактирование: 15 Декабря 2009, 20:42:49 от 007tar »

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #239 : 15 Декабря 2009, 21:38:08 »
Цитировать
по моему надо не --fs_uuid, а --fs-uuid
ну да, очепятка вышла. спасибо, поправлю!
Цитировать
Чтоб флопик не трещал при загрузки фрюхи
тоже верно. у меня сего девайса нет, так что и не думал о нем)))
Как мне НЕ ПЕРЕУСТАНАВЛИВАЯ Ubuntu, а использовав лишь команды GRUB2, перейти на второй вариант загрузки?пошуруй поиском по слову "fixmbr", не раз было расписано про восстановление виндозагрузчика. правда, не знаю насчет свисты - быть может, там по-другому как
лучше на "ты"

 

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