Наши
Сайдбары
   
IRC-канал
Linuxportal.ru
   
Импорт новостей
 
Вход Быстрая регистрация На главную

Поиск:
 
   БИБЛИОТЕКА
     Другие статьи этого раздела:
 

    Система
Другие разделы библиотеки:
   БИБЛИОТЕКА
     последние поступления:
 

Hardware
Перевод Serial-Programming-HOWTO
15.05.2006 | San АНДРЕЕВ
Перевод Linux Power Management Support
03.04.2004 | San АНДРЕЕВ
Варианты решения проблем со смещением геометрии монитора.
10.10.2003 | EsTaF
Multimedia
VideoCD для пингвинов
10.10.2003 | Buddha
Смотрим любимые фильмы с помощью MPlayer
23.07.2003 | Alexey Dmitriev
X-сервер
Включаем Bytecode Interpreter в пакете freetype в некоторых дистрибутивах
05.07.2006 | Alexey Dmitriev
НАСТРОЙКА СЕРВЕРА XDMCP ДЛЯ WINDOWS-КЛИЕНТОВ
09.09.2004 | Kotjara
Type1 и truetype шрифты в LaTeX.
03.05.2004 | geekkoo
Разное
Как самому написать концепцию информационной безопасности
22.03.2007 | Crion
Список рекомендуемой литературы
11.09.2006 | San АНДРЕЕВ
The Multi Router Traffic Grapher
02.06.2004 | Crion
Сеть
"Огненная стена" или строим файрвол на базе iptables
15.03.2005 | Alexey Dmitriev
Защищенная почтовая система
08.09.2004 | Crion
Postfix+Cyrus-SASL
18.12.2003 | geekkoo
Система
Написание драйверов под Linux: рекомендации, типичные ошибки и ловушки.
16.01.2007 | Mr.Nobody
Перевод Linux Daemon HOWTO
21.08.2006 | San АНДРЕЕВ
Усыпляем компьютер
11.01.2006 | San АНДРЕЕВ
   БИБЛИОТЕКА Система    
Автор статьи: geekkoo
Дата: 25.07.2003

Ставим lilo на диск D: (E:, F: ...)

В форумах по Линукс время от времени появляются вопросы такого типа: "Я поставил Линукс на диск D: установил lilo на диск D, выбрал в настройках BIOS последовательность загрузки D,A, но Линукс у меня не грузится - появляется надпись LIL- и на этом все останавливается". Обычно в таких случаях советуют устанавливать lilo в MBR (master boot record - основная загрузочная область) на диске С: (в терминах BIOS или /dev/hda - в терминах Линукс) и сконфигурировать его как мультизагрузчик (т.е. чтобы выбором в меню можно было грузить либо систему установленную на диске C:, либо сам Линукс, который далее будем считать установленным на диске D: он же /dev/hdb он же primary-slave). В некоторых случаях это оказывается неприемлемым - получается что обе системы зависят от того в каком состоянии находится boot-loader (/boot/boot.b) на диске D: (есл и он затерт, то ни одну из систем загрузить не удасться). Бывают и патологические случаи - например на материнской плате битый BIOS, который позволяет грузится только со slave диска (такая ситуация, с которой я столкнулся, и послужила поводом для написания этого текста).
Использовать BIOS configurator в качестве мультизагрузчика особого труда не представляет, но поскольку операции с lilo достаточно рискованные, то начать следует с изготовления загрузочной дискеты (makebootdisk, далее в меню выбираем lilo boot disk и OK - так это делается в Slackware) после чего стоит проверить ее работоспособность, загрузившись с нее. Теперь можно приступать к сочинению конфигурационного файла lilo (пусть он называется /etc/lilo.conf.hdb). В качестве рыбы предлагаю такой вариант (комментарии следуют):

boot = /dev/hdb
disk=/dev/hdb
bios=0x80
lba32
image=/vmlinuz
root=/dev/hdb1
read-only

Стандартные опции - boot диск (тот на который будет установлен lilo) -/dev/hdb, ядро - /vmlinuz расположено на root-partition /dev/hdb1, стандартно смонтированной как read-only. Существенным моментом является то, что диску /dev/hdb поставлен в соответствие адрес BIOS bios=0x80. BIOS нумерует IDE диски последовательно - 0x80 -primary-master, 0x81 - primary-slave, 0x82 - secondary-master ... (для SCSI дисков аналогично, только старшие биты другие) и изменение последовательности загрузки в BIOS сводится к перестановке этих адресов. Таким образом такая конфигурация lilo устанавливает первичный загрузчик в MBR на диске /dev/hdb, однако при загрузке обращение к этому диску будет происходить по адресу 0x80, т.е. как к primary master.

Теперь осталось установить lilo -
lilo -C /etc/lilo.conf.hdb
(опция -C позволяет указывать конфигурационный файл отличный от /etc/lilo.conf) и перегрузится. Затем в BIOS выбираете последовательность загрузки - "D,A" и при благоприятном стечении обстоятельств :) через некоторое время можно будет вводить свой login и пароль.
Этот трюк с disk=... bios=... может оказаться также полезным при переносе (установке) системы с диска на диск. Скажем, у вас есть большой диск на компьютере с установленным Линуксом и вы хотите перенести систему на диск меньшего размера (поэтому низкоуровневое копирование применить не удается), который для этой цели подключен как primary slave к вашему компьютеру и смонтирован, например, в директории /mnt. В таком случае есть два варианта - последовательно копировать корневые директории cp -aP /usr ... /mnt и выдирать "лишние" файлы, либо c нуля устанавливать на него необходимые пакеты (installpkg -root /mnt aaa_base.tgz - так это делается в Slackware). После того как все файлы установлены, остается сделать этот диск загрузочным. Для этого создаете файл /mnt/etc/lilo.conf.hdb примерно такого же вида как и приведенный выше (изменить следует только строчку root=/dev/hda1, если диск будет в итоге стоять как primary-master и Линукс расположен на первой partition) и устанавливаете его

chroot /mnt
lilo -C /etc/lilo.conf.hdb

(chroot нужен для того чтобы boot-loader, boot-backup оказались в /mnt/boot, а не потерли те, что лежат у ваc в /boot). И все - выключайте компьютер и снимайте диск.
Нетрудно сообразить какую последовательность действий нужно совершить в том случае, если вы хотите проверить работоспособность вашей инсталляции Линукса без перестановки диска из компьютер в компьютер.

Автор: geekkoo



Все статьи раздела "Система"

©"Linuxportal.Ru". Материалы сайта можно
использовать свободно при условии
сохранения этой свободы при дальнейшем
распространении, если явно не указано иное

Дизайн и программирование:

Поставьте
нашу кнопку:
Получить код кнопки
Linux Portal.ru ::: Линукс Портал.ру
Наш партнер: