Удомельский форум

Удомельский форум (http://second.udomlya.ru/uf/index.php)
-   Свободное ПО (http://second.udomlya.ru/uf/forumdisplay.php?f=25)
-   -   конфигурация Grub'a (http://second.udomlya.ru/uf/showthread.php?t=11592)

Vulzscht 02.05.2008 16:46

конфигурация Grub'a
 
вобчем, такой вопрос...
после установки этого гроба, результат следующий
запускается grub-minimal bash где нужно написать configfile /boot/grub/grub.conf
и это при том, что при grub-install /dev/hda system.map (кажется, так) выдается без ошибок...
после указания конфига грузится номральная оболочка, даже с картинкой, менюшкой и потом уже продолжает отлично грузиться

кто-нибудь мб сталкивался? особенно интересует ЧТО может быть не так и возможные пути решения

rusa 02.05.2008 18:31

Вариант №2:

если не хотим читать про первый:

Листинг 7: Запуск оболочки GRUB
# grub

Примечание: Если у вас нет приводов для дискет, к приведенной команде добавьте --no-floppy, чтобы grub зря не опрашивал несуществующие дисководы.


В приводимом примере мы хотим установить GRUB так, чтобы он считывал нужную информацию с загрузочного раздела /dev/hda1, а загрузочная запись GRUB находилась в MBR (Master Boot Record) жесткого диска, чтобы первое, что мы видели после включения компьютера — это приглашение GRUB. Естественно, если вы при установке отклонялись от предлагаемой схемы, внесите необходимые поправки.

Находясь в GRUB, можно использовать автодополнение по клавише TAB. К примеру, если ввести «root (», а затем TAB, появится список устройств (таких как hd0). Если ввести «root (hd0,» и нажать TAB, появится список для выбора раздела из возможных (такого как hd0,0).

Благодаря автодополнению установка GRUB не так сложна. Теперь приступим к настройке GRUB.

Листинг 8: Установка GRUB в MBR
grub> root (hd0,0) (указание расположения раздела с /boot)
grub> setup (hd0) (установка GRUB в MBR)
grub> quit (выход из оболочки GRUB)

Примечание: Если вы хотите установить GRUB в определенный раздел вместо MBR, команду setup потребуется исправить так, чтобы она указывала на нужный раздел. Например, команда для установки GRUB в /dev/hda3 — setup (hd0,2). Однако, так поступают немногие.


С дополнительными вопросами о GRUB, пожалуйста, обращайтесь к GRUB FAQ (англ.) или руководству по GRUB (англ.).

Примечание: В случае переустановки ядра в будущем, вам больше не потребуется копировать содержимое файлов. После компиляции ядра просто запускайте make install: копирование файлов и изменение конфигурации GRUB произойдет автоматически.


Пойдет?

Messiah 02.05.2008 21:07

Цитата:

Сообщение от Vulzscht (Сообщение 272882)
вобчем, такой вопрос...
после установки этого гроба, результат следующий
запускается grub-minimal bash где нужно написать configfile /boot/grub/grub.conf и это при том, что при grub-install /dev/hda system.map (кажется, так) выдается без ошибок... после указания конфига грузится номральная оболочка, даже с картинкой, менюшкой и потом уже продолжает отлично грузиться кто-нибудь мб сталкивался? особенно интересует ЧТО может быть не так и возможные пути решения

Весьма сожалею, но с гробом как то не особо. По жизни lilo у меня.

Vulzscht 21.05.2008 00:20

Цитата:

Сообщение от rusa (Сообщение 272933)
Пойдет?

не прокатило, все равно открывается grub-minimal bash =\\

rusa 21.05.2008 20:41

Цитата:

Сообщение от Vulzscht (Сообщение 280101)
не прокатило, все равно открывается grub-minimal bash =\\

А что потом?
Предлагает что нибудь загрузить?

Vulzscht 21.05.2008 21:18

блин, я себе поражаюсь
такие сложные штуки вытворяю порой, а на мелочах вылетаю
Код:

ln -s /boot/grub/grub.conf /boot/grub/menu.lst
вот и все :)

Alexi Laiho 08.06.2008 01:02

продолжаю серию вопросов

рылся уже в гугле, но как-то не особо удачно
ситуация такова
hda - Gentoo + Sabayon (grub)
hdb - для информации
hdc - Backtrack 2.0 (lilo)

автоматом грузится загрузчик hda, а с него надо передать загрузку уже на hdc, т.к. там уже свой загрузчик и он разберется что к чему
решений для фряхи и винды просто выше ушей (для винды есть и рабочий вариант), а для линуха чето никак пока не соображу, как этот chainloader прописать

как сие реализовать?

Messiah 08.06.2008 14:52

Цитата:

Сообщение от Alexi Laiho (Сообщение 288307)
продолжаю серию вопросов

рылся уже в гугле, но как-то не особо удачно
ситуация такова
hda - Gentoo + Sabayon (grub)
hdb - для информации
hdc - Backtrack 2.0 (lilo)

автоматом грузится загрузчик hda, а с него надо передать загрузку уже на hdc, т.к. там уже свой загрузчик и он разберется что к чему
решений для фряхи и винды просто выше ушей (для винды есть и рабочий вариант), а для линуха чето никак пока не соображу, как этот chainloader прописать

как сие реализовать?

Хм, я наверно туп безмерно! А зачем держать 2 разных загрузчика да ещё чтобы первый передавал управление второму???? Не проще ли всю мультизагрузку организовать средствами одного, к примеру лилового, и не париться? Вот не пойму смысла...

rusa 08.06.2008 21:58

Цитата:

Сообщение от Alexi Laiho (Сообщение 288307)
продолжаю серию вопросов

рылся уже в гугле, но как-то не особо удачно
ситуация такова
hda - Gentoo + Sabayon (grub)
hdb - для информации
hdc - Backtrack 2.0 (lilo)

автоматом грузится загрузчик hda, а с него надо передать загрузку уже на hdc, т.к. там уже свой загрузчик и он разберется что к чему
решений для фряхи и винды просто выше ушей (для винды есть и рабочий вариант), а для линуха чето никак пока не соображу, как этот chainloader прописать

как сие реализовать?


Может быть адаптировать пример под себя?

# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst

# general configuration:
timeout 5
# Время ожидания выбора загружаемой ОС в секундах

default 0
# ОС, загружаемая по умолчанию
# (в данном случае Linux)

color light-blue/black light-cyan/blue
# Цветовая гамма меню (мне такая нравится)

Далее идут строки:
# (0) Arch Linux
title Arch Linux [/boot/vmlinuz]
root (hd0,1)
kernel (hd0,0)/vmlinuz root=/dev/discs/disc0/part2 ro hdd=ide-scsi

обеспечивающие загрузку Linux. Дописываем комментарий и метку для пункта меню, загружающего FreeBSD:
# (1) FreeBSD
title FreeBSD 5.2

Теперь остается только определить раздел, который будет корневым для загружаемой системы в нотации GRUB (а не FreeBSD! - это еще не / ее файловой системы):
rootnoverify (hd1,0)

сделать его активным:
makeactive

и "по цепочке" передать на него управление загрузкой:
chainloader +1

На этом миссия GRUB заканчивается - теперь в ходе загрузки в дело вступит /boot/loader из FreeBSD, который и выполнит остальную работу.


Где FreeBSD для нас это hdc (hd(1,0)) ?
Жду результатов.

messiаh 10.06.2008 21:10

Напишем поподробнее, может кому то и полезно будет. После включения компа, проц выполняет инструкции BIOS. BIOS стартует компьютер даже если операционная система на установлена. Первый набор инструкций - power-on self test (POST). POST выполняет следующие функции:
1) Выполняет начальную проверку оборудования, например определяет количество установленой RAM
2) Проверяет наличие устройств для начала загрузки ОС, например жесткого диска
3) Получает установки системной конфигурации из CMOS
После того как POST закончен, дополнительные адаптеры (видео карта, контроллеры жесткого диска) выполняют свой тест внутренней диагностики.
Затем BIOS загружает код загрузчика (который должен быть написан на ассемблере), передавая ему управление. Код загрузчика находится в master boot record (MBR), если конечно загрузчик существует, если нет, то BIOS выдаст Operating system not installed, т.е. Операционная система не установлена. MBR - это самый первый сектор жесткого диска. Код загрузчика содержит информацию от куда грузить ОС. Далее, если GRUB, то он ищет закрузочный раздел и загружает загрузчик второй стадии (second stage boot loader), который читает конфигурацию в /boot/grub/grub.conf, этот файл содержит список всех доступных операционных систем и их параметры загрузки. Точнее сказать, этот файл просто содержит где и какие ядра операционок грузить. Когда все это закончено этот загрузчик второй стадии выводит сплэш на экран и список всех операционных систем на выбор для загрузки. Когда выбран бла_бла_линукс из этого списка начинае грузится линукс, :) и делается это с загрузки ядра. Если все по порядку:
1) Линукс запускает программу Init (/sbin/init) которая выполнят несколько проверок системы (целостность файловой системы например) и запускает программы которые необходимы для работы ОС.
2) Затем смотрит файл /etc/inittab в котором содержится список режимов в котором этот самый линукс можно грузить и какой режим собственно выбран. Список режимов приведен ниже
0 - halt
1 - Single user mode
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
3 - Full multiuser mode
4 - unused
5 - X11
6 - rebootъ
Загрузка FreeBSD очень похожа линукс, она тоже UNIX based.
FreeBSD имеет копию MBR в /boot/boot0, boot0 это одна из трех частей загрузчика так как MBR может быть только 512 байтов макс. boot0 загружает boot1 который только знает где находится boot2. Вот тут все и начинается, boot2 уже сложнее и больше boot0 и boot1. boot2 позволяет выбрать собственно сам загрузчик (loader) или любой другой загрузчик, например GRUB. И наконец позволяет выбрать ОС для загрузки. Так вот после того как ОС была выбрана loader инициализирует оборудование, определяет в каком режиме грузить систему и грузит ядро.
Вроде и всё про GRUB. Остальное руками, напильником и методом тыка...как и большинство в никсах :)


Текущее время: 08:46. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot