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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

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

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

Оффлайн trez

  • Новичок
  • *
  • Сообщений: 28
  • Slackware 13.37 kernel-3.0.0
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #195 : 10 Декабря 2009, 20:42:06 »
если после set root =(hd0,2) выполнить команду ls /, то выводиться список файлов и папок лижащих в корне диска с виндой.
Если же выполнить ls (hd0,2) , то выводиться тип файловой системы и uuid.
При выполнении chainloader +1, нечего не вводиться(я если правильно понимаю если нечего не выводиться, значит всё нормально), но вот после выполнения boot, опять попадаю в меню загрузки boot.

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #196 : 10 Декабря 2009, 21:12:58 »
мб, есть смысл из-под лайвцд создать себе загрузочную флэшку (откусив метров 100 в ext4). коснольного варианта будет достаточно. и загрузившись с нее посмотреть, что он скажет об этих разделах.
А есть ли где мануал по созданию подобной загрузочной флэшки?  :)

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #197 : 10 Декабря 2009, 21:59:50 »
Цитировать
А есть ли где мануал по созданию подобной загрузочной флэшки?

есть! смотри на первой странице шестой пост
Цитировать
если после set root =(hd0,2) выполнить команду ls /, то выводиться список файлов и папок лижащих в корне диска с виндой.
Если же выполнить ls (hd0,2) , то выводиться тип файловой системы и uuid.
При выполнении chainloader +1, нечего не вводиться(я если правильно понимаю если нечего не выводиться, значит всё нормально), но вот после выполнения boot, опять попадаю в меню загрузки boot.
да, все нормально... рут задается правильно, chainloader должен молчать, если все хорошо...
видать, совсем все сломали... уж ежели ручками не грузится - тогда и не знаю, чего тут можно еще сделать.
могу разве что предложить даунгрейд до прошлой версии. на packages.ubuntu.com не нашел, там только текущая, а вот на лаунчпаде есть туева хуча разных версий. качай пакеты:
grub-common - https://launchpad.net/ubuntu/karmic/i386/grub-common
grub-pc - https://launchpad.net/ubuntu/karmic/i386/grub-pc
удаляй к чертям установленные и ставь deb'ы. да, при установке через gdebi может начать ругаться, тогда dpkg юзай. и сначала grub-common, потом grub-pc.
Цитировать
Попробовал дописать в 40_custom:
menuentry "FreeBSD 8.0" {
    set root=(hd0,1,a)
    chainloader +1
}
и что значит "(hd0,1,a)"? +уверен ли ты, что фря загрузится через "chainloader +1". не знаю, конечно, но думаю, что команда freebsd там неспроста водится.... хотя хз. типа попытаться запустить фревский загрузчик....
Цитировать
root@ubuntu:/#
это ты Ubuntu с чего-то запустил или с лайвцд орудуешь через chroot?

UPD: добавлено руководство по основным командам в консоли grub2. любители Ъ, читаем 6-й пост!
лучше на "ты"

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #198 : 10 Декабря 2009, 22:13:25 »
Цитировать
и что значит "(hd0,1,a)"?
hd0 - первый жесткий, 1 - первй разедл, a - первая патриция в первом разделе.
Цитировать
это ты Ubuntu с чего-то запустил или с лайвцд орудуешь через chroot?
chroot

Оффлайн trez

  • Новичок
  • *
  • Сообщений: 28
  • Slackware 13.37 kernel-3.0.0
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #199 : 10 Декабря 2009, 22:41:48 »
Цитировать
видать, совсем все сломали... уж ежели ручками не грузится
что именно могло сломаться, я просто не понимаю почему не грузиться, ведь Windowsкий загрузчик исправен.
Если бы он был не исправен то логичнее всего было бы что при выполнении chainloader +1 вылетала ошибка, но её нет.
Просто как я понимаю загрузчик ntdr передаёт обратно загрузку gryby, только вот как сделать что бы он этого не делал?

Оффлайн mindfl00der

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #200 : 10 Декабря 2009, 22:42:44 »
Кто-нибудь настроил связку grub2+gfxboot? Ничего не нашел по этому поводу, везде сводится к установке картинки в качестве фона.

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #201 : 10 Декабря 2009, 23:03:05 »
Цитировать
А есть ли где мануал по созданию подобной загрузочной флэшки?

есть! смотри на первой странице шестой пост

Попробовал создать загрузочный usb диск и вот что вышло:

ubuntu@ubuntu:~$ sudo mkfs.ext4 /dev/sdf1
mke2fs 1.41.9 (22-Aug-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
122400 inodes, 489141 blocks
24457 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=503316480
15 block groups
32768 blocks per group, 32768 fragments per group
8160 inodes per group
Superblock backups stored on blocks:
   32768, 98304, 163840, 229376, 294912

Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
ubuntu@ubuntu:~$ sudo mount /dev/sdf1 /boot/grub
ubuntu@ubuntu:~$ sudo grub-install /dev/sdf1
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
ubuntu@ubuntu:~$

В итоге с флэшки не грузится. С чем это может быть связано?
« Последнее редактирование: 10 Декабря 2009, 23:09:25 от BallRocK »

Оффлайн typus

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
    • Virtual Reality Panoramafotografie für interaktive Darstellung auf Webseiten.
Re: пишем мануал по GRUB2
« Ответ #202 : 10 Декабря 2009, 23:33:21 »
В общем, такие дела.
fdisk в любом линуксе определяет первый диск в биосе как sdb - поменяю местами сата-кабели, думаю, все встанет на свои места..
Как хотел, прописал все  все в кастом файле 40 - получилось так где то:
(Нажмите, чтобы показать/скрыть)
Все конечно предварительно забекапил.
После update-grub - файл grub.cfg стал таким, как я хотел бы пока видеть..Ну а дальше будет видно, удобно это или нет...


Вот только еще что...Попробовал добавить украшательства - шрифты идут, а картинка - нет.
Если при загрузке войти в груб и выполнить background_image путь к рисунку, пишет что то про неподдерживаемый формат..
Что может быть причиной?

Заработало все,наверное просто в скрипте 05_debian_theme ошибку сделал..
« Последнее редактирование: 11 Декабря 2009, 10:24:57 от typus »

Оффлайн trez

  • Новичок
  • *
  • Сообщений: 28
  • Slackware 13.37 kernel-3.0.0
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #203 : 10 Декабря 2009, 23:54:31 »
ну что не ужеле почти за месяц после выходи этого релиза никто не сталкивался с подобным :(
Так не хочется сносить винду :(, а сделать как я понимаю нечего не возможно:(((

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #204 : 11 Декабря 2009, 11:43:27 »
С флэшки grub загрузить удалось. Причина предыдущей неудачи заключалась в том, что надо было с помощью fdisk создать занова разделы на флэшке, а я просто отформатировал всю флэшку в ext4.
После использования команды ls появилось:

sh:grub> ls
(hd0) (hd0,2) (hd0,1) (hd1) (hd1,3) (hd1,2) (hd1,1,b) (hd1,1,a) (hd1,1) (fd0)
error: no such disk

после использования команды ls (hd0," и нажатия tab вывелось:

sh:grub> ls (hd0,"
Possible partitions are:
    Partition hd0,1: Filesystem type ext2, Last modification time 2009-12-11 14:57:44 Friday, UUID 65d20d9c-a502-4654-9e99-ebcede9f4506
    Partition hd0,2: Filesystem type fat, UUID d30a-fc93

Не хватает еще 2х основных разделов. Раздел hd0,1 должен быть UFS2.
Жесткий разбит следующим образом:

sda1: primary 4608 mb BSD раздел имеет 2 патриции:
    sda1,a: 512mb отформатирована в UFS2.
    sda1,b: 4096mb SWAP (2GB памяти у компа)
sda3: primary примерно 50 гигов BSD раздел не размеченый, зарезервирован под использование на нем ZFS
sda4: extended примерно 60 гигов имеет два логических раздела:
    sda5: 4096mb SWAP
    sda6: все остальное ext4
sda2: primary примерно 60 гигов отформатирован в NTFS

разделы расположены точно в таком порядке, как нажестком диске, т.е. второй раздел sda2 расположен в конце диска.

На ntfs пока стоит xp, но в будущем планируется перенести его в начало диска и поставить 7рку (так как win 7 удалось активировать только на первом разделе)
« Последнее редактирование: 11 Декабря 2009, 11:46:41 от BallRocK »

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #205 : 11 Декабря 2009, 12:10:07 »
Цитировать
ubuntu@ubuntu:~$ sudo grub-install /dev/sdf1
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
ubuntu@ubuntu:~$
енто ты ставил неправильно. надо на девайс ставить, а не на партицию.
Цитировать
Не хватает еще 2х основных разделов. Раздел hd0,1 должен быть UFS2.
Жесткий разбит следующим образом:
кажись, я хоть насколько-то подошел к разгадке тайны. поддержка ufs2 в грубе есть, для чего мы видим в /boot/grub модуль ufs2.mod. однако же, если внимательно почитать grub.cfg, то увидим в начале строчку "insmod ext2". insmod - загрузка модуля. то же в каждом пункте. то есть, ufs2-модуль надо еще загрузить.
попробуй выполнить "insmod ufs2" и после этого посмотреть разделы.
Цитировать
sda1,b: 4096mb SWAP (2GB памяти у компа)
ну это ты разогнался, конечно.... впрочем, при теперишних объемах 4 гига роли не играют, так что можно и расщедриться))
Цитировать
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
Cannot find list of partitions!
done
а пакет ufsutils там стоит? и мб стоит поставить оный на лайв-системе? хотя энтраи из 40-ки по идее должен тупо добавлять, пляю на все... и что у тебя в device.map? все ли харды?
Цитировать
что именно могло сломаться, я просто не понимаю почему не грузиться, ведь Windowsкий загрузчик исправен.
Если бы он был не исправен то логичнее всего было бы что при выполнении chainloader +1 вылетала ошибка, но её нет.
Просто как я понимаю загрузчик ntdr передаёт обратно загрузку gryby, только вот как сделать что бы он этого не делал?
да мало ли там косяков.... груб загадочен и ведет себя странно порой)))
попробуй-таки сменит версию на хорошую.... есть еще такой вариант - взять совсем уж родной пакет с установочного диска, для чего поотключать репы и включить сидиром.
ежели не спасет - читай про fixmbr, делай его, грузись с обновленным мбр и смотри результат...
лучше на "ты"

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #206 : 11 Декабря 2009, 12:27:37 »
Цитировать
попробуй выполнить "insmod ufs2" и после этого посмотреть разделы.
Что значит выполнить? прописать в 40_custom? И что на счет ZFS? Тоже поди надо подгружать.
Цитировать
и что у тебя в device.map? все ли харды?
Если не изменяет память, там (hd0), ну у меня один жесткий всего так и должно быть.
Цитировать
а пакет ufsutils там стоит?
Извини, но про такой пакет даже не слышал  :(

« Последнее редактирование: 11 Декабря 2009, 12:32:10 от BallRocK »

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #207 : 11 Декабря 2009, 13:19:45 »
Цитировать
Что значит выполнить? прописать в 40_custom? И что на счет ZFS? Тоже поди надо подгружать.
в консоли груба выполнить. и после этого глянуть, что скажет ls
Цитировать
Если не изменяет память, там (hd0), ну у меня один жесткий всего так и должно быть.
ну тогда вероятность есть, что как раз на неопнятную для него фс и ворчит
Цитировать
Извини, но про такой пакет даже не слышал
ну вот... ставь и смотри, что скажет fdisk -l после этого. для zfs ничего не нашел, гепартед вообще о таком не знает, в репах ничего на сей счет...

UPD: добавлен раздел про создание собственных менюшек в стиле menu.lst. typus и прчие любители развлечений, читаем 6-й пост!
« Последнее редактирование: 11 Декабря 2009, 13:29:25 от dimas000 »
лучше на "ты"

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #208 : 11 Декабря 2009, 20:49:10 »
sudo fdisk -l выводит следующее:

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

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

device.map что на флэшке содержит:

(fd0)   /dev/fd0
(hd0)   /dev/sda
(hd1)   /dev/sdf

device.map на жестком содержит:

(hd0)   /dev/sda

загружаясь с флэшки sh -l выводит не зависимо от "insmod ufs2" одно и то же, а именно:

(hd0) (hd0,2) (hd0,1) (hd1) (hd1,3) (hd1,2) (hd1,1,b) (hd1,1,a) (hd1,1) (fd0)
error: no such disk

ls (hd0," так же независимо от "insmod ufs2" выводит:

sh:grub> ls (hd0,"
Possible partitions are:
    Partition hd0,1: Filesystem type ext2, Last modification time 2009-12-11 14:57:44 Friday, UUID 65d20d9c-a502-4654-9e99-ebcede9f4506
    Partition hd0,2: Filesystem type fat, UUID d30a-fc93

Я еще попробовал команду ls (hd1," так как ls -l выводится какой то hd1, как я понял из файла device.map, который на флэшке, это и есть флэшка. Вводил я ее так же и с "insmod ufs2", и без нее. Вот что данная команда вывела в обоих случаях:

sh:grub> ls (hd1,"
Possible partition are:
    Partition hd1.1: Filesystem type ufs2, Last modification time 2009-12-10 23:04:15 Thursday, UUID 4b217d8ad7b98113
    Partition hd1,1,a: Filesystem type ufs2, Last modification time 2009-12-10 23:04:15 Thursday, UUID 4b217d8ad7b98113
    Partition hd1,1,b: Unknown filesystem
    Partition hd1,2: Unknown filesystem
    Partition hd1,3: Unknown filesystem

флэшку я разбивал через fdisk, форматировал командой sudo mkfs.ext4 /dev/sdf1 Второй раздел форматировал командой sudo mkfs.dosfs /dev/sdf2 Форматирование и разбиение прошло гладко без ошибок.
Получается что GRUB сам по себе видит UFS2, но толька на флэшке таких разделов нету.

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #209 : 12 Декабря 2009, 00:01:48 »
все правильно, только при загрузке с флэшки она будет (hd0), соответственно
Цитировать
sh:grub> ls (hd0,"
Possible partitions are:
    Partition hd0,1: Filesystem type ext2, Last modification time 2009-12-11 14:57:44 Friday, UUID 65d20d9c-a502-4654-9e99-ebcede9f4506
    Partition hd0,2: Filesystem type fat, UUID d30a-fc93
полностью соответствует
Цитировать
флэшку я разбивал через fdisk, форматировал командой sudo mkfs.ext4 /dev/sdf1 Второй раздел форматировал командой sudo mkfs.dosfs /dev/sdf2 Форматирование и разбиение прошло гладко без ошибок.
распределение дисков через device.map пусть тебя не смущает, оно используется только при генерации конфига груба (из запущенной системы). сам же груб распределяет эти самые нумера разделов черт знает как и берет их невесть откуда. как говорят сами разработчики,
Цитировать
mapping between disks and hdX is unpredictable
hd1 - соответственно, хард... вот тут начинаются чудеса... но по крайней мере ufs2-разделы уже видит... впрочем, от этого не шибко легче, но можно попробовать поставить искомый раздел рутом и пытаться грузить фрю (или ты ее только ставишь?), тут уж изучаем загрузку фрюшного ядра или тупо пробуем chainloader, пихая ему что ни попадя.
а вообще есть мысль пересортировать все это, сделав Linuxовый раздел на первом, нтфс на втором, а ufs-разделы, Linuxовый свап и прочую бяку запихать в расширенный... но это, конечно, если нет на диске критически важных данных (или есть полный бэкап оных).
+ можно попробовать какую-нибудь лайв-бяку на базе первого груба. например, netinstall-диск арча, коий весит метров 150. из-под лайв системы реально скачать и записать болвань. но не факт, что первый груб поддерживает ufs... короче, вопросов все больше, а ответов не прибавляется...
+ а что freebsd? может, у нее какой загрузчик толковый? чем она запускается-то?
лучше на "ты"

 

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