| ||||||||||
Ключевые слова: grub, boot, init, disk, (найти похожие документы)
From: Дмитрий Прокопенко <diozan@inbox.ru.> Date: Mon, 25 Sep 2006 14:31:37 +0000 (UTC) Subject: Установка GRUB 0.97 на жеский диск. Оригинал: http://www.diozan.chat.ru/txt/grub.txt При установке нескольких операционных систем на один компьютер возникает вопрос об обеспечении выбора их загрузки. В принципе все современные операционные системы содержат такую возможность в своих загрузчиках, которым можно поручить эту задачу. Но если, по каким либо причинам, этого делать не хочется (FreeBSD boot manager, Windows ntldr и LILO или выглядят слишком убого, или не очень-то гибки в настройке). Для этого существует ряд программ, не имеющих отношения к какой-либо конкретной операционной системе и выполняющие эту работу. GRUB является одной из таких. Итогом установки загрузчика GRUB является формирование симпатичной системы выбора загружаемых операционных систем посредством меню и обеспечение возможности легко редактировать его. В настоящее время GRUB включен во многие Linux дистрибутивы, где он подменяет родной LILO. При установке порта или паккаджа GRUB не производится никаких манипуляций с загрузчиками компьтера. Просто ставится программа, которая в дальнейшем позволит осуществлять такую манипуляцию. Загрузочные образы, необходимые для установки GRUB устанавливаются в каталог /usr/local/share/grub/i386-freebsd. Возможности GRUB описаны в документации к программе очень подробно (см. /usr/local/info/grub.info). Формат файла несколько не удобный, однако можно из исходников извлечь тот же файл grub.texi и преобразовать в привычный html формат при помощи утилиты texi2html. Установку загручика я проводил при помощи специально создаваемой загрузочной дискеты, или загрузочного компакт-диска, с которых и производится перенос GRUB на жесткий диск. Этапы работы. 1. Создаем загрузочную дискету или компакт-диск. Форматируем дискету. # fdformat /dev/fd0 Создаем файловую систему (fat12) на дискете. GRUB почему-то не хочет распознавать ufs2 на дискете. # newfs_msdos /dev/fd0 Монтируем дискету в каталог, например, /mnt. # mount_msdosfs /dev/fd0 /mnt Создаем каталоги /mnt/boot/grub. Копируем туда файлы загрузочных образов из каталога /usr/local/share/grub/i386-freebsd. Размонтируем дискету. # umount /dev/fd0 Запускаем из консоли GRUB и вводим последовательно команды по нижеприведенному топику. # grub Probing devices to guess BIOS drives. This may take a long time. GNU GRUB version 0.97 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub> root (fd0) Filesystem type is fat, using whole disk grub> setup (fd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/fat_stage1_5" exists... yes Running "embed /boot/grub/fat_stage1_5 (fd0)"... failed (this is not fatal) Running "embed /boot/grub/fat_stage1_5 (fd0)"... failed (this is not fatal) Running "install /boot/grub/stage1 (fd0) /boot/grub/stage2 p /boot/grub/menu.lst "... succeeded Done. grub> quit После этого дискета готова к употреблению. Создание загрузочного компакт-диска Cоздаем каталог, например /usr/work/iso/boot/grub. Копируем туда файлы загрузочных образов из каталога /usr/local/share/grub/i386-freebsd. Назначаем текущим каталог /usr/work. # cd /usr/work Создаем ISO9660 образ загрузочного компакт-диска командой # mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \ -boot-load-size 4 -boot-info-table -o grub_cd.img iso Полученный образ grub_cd.img записываем на CD-R(W) любой программой записи (я пользуюсь k3b). 2. Установка на жесткий диск. Данный пример иллюстритрует установку GRUB на мой жесткий диск. Разбивка диска у меня выглядит следующим образом. 1-й раздел (ufs2) - FreeBSD-5.4, корневой каталог которой находится на ad0s1a. Это основная для работы система, должна грузиться по умолчанию, если в течении 30 секунд не сделан явный выбор. 2-й раздел (ntfs) - Windows XP 3-й раздел (fat32)- операционных систем не содержит, и в загрузке участия не принимает. 4-й раздел (ufs2) - FreeBSD-6.0, корневой каталог которой находится на ad0s4a. Тестируемая система. Создаю каталог /boot/grub для хранения файла конфигурации menu.lst и загрузочных образов. Создю файл конфигурации menu.lst в любом текстовом редакторе. У меня он выглядит так: Файл menu.lst # By default, boot the first entry. color light-gray/blue black/light-gray default 0 # Boot automatically after 30 secs. timeout 30 # For booting FreeBSD-5.4 title FreeBSD-5.4 root (hd0,0,a) kernel /boot/loader boot # For booting Windows title Windows XP root (hd0,1) chainloader +1 boot # For loading DOS if Windows NT is installed # chainload /bootsect.dos # For booting FreeBSD-6.0 title FreeBSD-6.0 root (hd0,3,a) kernel /boot/loader boot # Reboot computer title Reboot system reboot # Power off computer title Shutdown system halt Копирую в /boot/grub образы из /usr/local/share/grub/i386-freebsd. Загружаюсь с дискеты или компакт-диска. Вводим команды в соответствии с нижеприведенным топиком: grub> root (hd0,0,a) Filesystem type is ufs2, portition type 0xa5 grub> setup (hd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/ufs2_stage1_5" exists... yes Running "embed /boot/grub/ufs2stage1_5 (hd0)"... 15 sectors are embedded. succeeded Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0,a)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded Done grub> reboot Установка завершена. После перезагрузки получаю меню и возможность выбирать нужную мне операционную систему.
| ||||||||||
|
|