Сегодня мы рассмотрим процесс реализации множественной загрузки. Т.е.
возможность выбора загрузки ОС Windows или Linux на одном компьютере.
Реально, есть три способа
настроить множественную загрузку:
Windows
9X
+
loadlin,
Linux Loader
(lilo)
и меню
Windows 2000.
Рассмотрим каждый из них.
Настройка загрузки
Linux
- Способ первый
Первый способ применяется
тогда, когда на компьютере стоит
Windows 9X, и нет желания ставить какой-либо
Boot Loader.
Тогда для реализации множественной загрузки используются файлы
autoexec.bat
и
config.sys.
Почти все знают, наверно, что если во время загрузки
Windows
9X
нажать клавишу
F8,
то выскочит загрузочное меню. Так вот, мы создадим такое же меню, которое будет
появляться во время загрузки и позволяет выбрать, что мы будем загружать,
Linux
или
Windows. Для этого
изменим файл
config.sys
следующим образом:
[COMMON]
; <Здесь располагаются
команды загрузки общих драйверов и т.п.>
[MENU]
MENUITEM=W,Windows
MENUITEM=L,Linux
[W]
; <Здесь располагаются
команды загрузки драйверов,
; необходимых
для работы в
Windows>
[L]
; <Здесь чаще всего ничего
нет>
Кратко поясним. Как видно
из примера, в секции
MENU мы задаем два варианта загрузки на выбор. Для этого первым в строке
идет ключевое слово
MENUITEM, далее символ равенства, а после него обозначение, которое
будет использоваться для обозначения секции, соответствующей данному варианту, в
которой будут написаны команды загрузки драйверов для этого же варианта. После
запятой следует строчка, которая будет появляться на экране, обозначая данный
вариант. Стоит упомянуть, что секция
COMMON
должна содержать команды загрузки драйверов, общих для всех вариантов загрузки.
Далее, необходимо
изменить файл
autoexec.bat,
чтобы он выглядел примерно так:
@echo off
SET
PATH=C:WINDOWS;C:WINDOWSCOMMAND
SET
PROMPT=$p$g
SET
TEMP=C:WINDOWSTEMP
SET
TMP=C:WINDOWSTEMP
mode con
codepage prepare=((866) C:WINDOWSCOMMANDega3.cpi)
mode con
codepage select=866
keyb
ru,,C:WINDOWSCOMMANDkeybrd3.sys
goto %config%
:W
win
goto END
:L
cd linux
linux.bat
:END
Часть до команды ?goto
%config%?
представляет собой самые обычные команды, присутствующие в любом подобном файле.
Здесь, как и в
config.sys,
следует описать команды общие для всех вариантов загрузки системы. Команда ?goto
%config%?
говорит системе, что необходимо глянуть, какой вариант выбрал юзер во время
загрузки, и перейти на соответствующую секцию. Секция варианта начинается с
двоеточия и обозначения, которое вы дали данному варианту в секции
MENU
файла
config.sys.
Далее, с новой строки, идут команды загрузки необходимой операционной системы.
Для
Windows это
обыкновенная команда ?win│.
Для загрузки же
Linux необходимо сделать следующее: создаем на диске
C:
каталог
Linux,
копируем в него файл
loadlin.exe,
который берем на компакт диске с дистрибутивом
Linux. Обычно он лежит в каталоге
dosutils.
Затем, грузимся в
Linux
с использованием загрузочной дискеты, созданной при установке, и копируем в тот
же каталог ядро
Linux.
Оно располагается в каталоге /boot
и называется
vmlinuz-X.X.XX.
Если
Linux стоит на
ReiserFS,
то для загрузки может понадобиться файл
initrd-X.X.XX.img,
или подобный. Он располагается там же. После этого идем обратно в
Windows
и в каталоге
Linux
создаем файл
linux.bat.
В него пишем следующую команду:
loadlin.exe vmlinuz root=/dev/hdaX rw
или, для загрузки с
ReiserFS:
loadlin.exe vmlinuz root=/dev/hdaX rw initrd=initrd.img
Где:
vmlinuz v
файл ядра
Linux;
/dev/hdaX
v раздел, на который установлен
Linux.
Параметр
initrd
указывает, что в память надо загрузить файл с драйвером
ReiserFS.
Далее в
autoexec.bat мы прописываем команду
перехода в созданный нами каталог и запуск файла
linux.bat.
Последней командой в не последней секции должна быть команда ?goto END│,
где END v метка в конце файла. По этой команде мы переходим в конец файла и,
следовательно, завершаем выполнение операции загрузки.
Необходимо добавить, что
данный метод будет работать в том случае, если в файле
msdos.sys
параметры BootMulti и BootGUI равны 0. Для
Windows ME еще потребуется поставить патч, который включает
возможность работы в
DOS. Его можно найти в
Internet,
введя в строку поисковика ?Real DOS-Mode Patch for Windows ME│.
Настройка загрузки
Linux
- Способ второй
Второй способ применяется
в тех случаях, если вам нравится использовать
Boot Loader
или не стоит
Windows.
Тогда для выбора варианта загрузки используется загрузчик
lilo -Linux Loader.
Обычно он ставится в процессе установки
Linux. Но не всегда так, как того хотелось бы. Рассмотрим, как
сконфигурировать
lilo на ваш вкус и поставить его. Для этого необходимо
загрузиться в
Linux как
root и отредактировать файл /etc/lilo.conf.
Документация по конфигурации
lilo
лежит в каталоге /usr/doc
либо в /usr/share/doc.
Там же есть скрипт
QuickInst,
запустив который можно настроить и поставить
lilo. Я кратко опишу структуру файла
lilo.conf.
Этот файл состоит из команд и переменных. Команда указывает действие либо часть
конфигурационного файла, переменная же задает какой-либо из параметров и его
значение. Основные команды и переменные:
-
BACKUP=<backup_file>
- указывает, что при установке
lilo
следует скопировать оригинальный
boot
sector в файл <backup_file>,
для возможного последующего его восстановления;
-
BOOT=<boot_device>
- уствнавливает имя устройства для загрузки, т.е. тот диск, в чей
boot
sector будет
ставиться
lilo. Если
Linux
стоит на первом винчестере, то стоит использовать /dev/hda;
-
COMPACT
v позволяет более компактно установить
lilo;
-
DEFAULT=<name>
- указывает, какой вариант использовать в качестве дефолтового во время
загрузки;
-
DELAY=<tsecs>
- указывает количество времени в десятых долях секунды, после которого будет
загружаться первый вариант;
-
INSTALL=<boot_sector>
- устанавливает указанный файл в качестве нового
boot
sector-а. Если
параметр не указан, то используется файл /boot/boot.b;
-
TIMEOUT=<tsecs>
- указывает количество времени в десятых долях секунды, после которого, если
не была нажата ни одна клавиша, будет загружаться первый или дефолтовый
вариант;
-
LABEL=<name>
- указывает название варианта, которое надо вводить в строке приглашения
lilo для загрузки
соответствующей операционной системы;
-
PASSWORD=<password>
- указывает пароль, который надо вводить при попытке загрузки данного
варианта, пароль чувствителен к регистру;
-
SINGLE-KEY
v включает загрузку варианта по нажатию соответствующей клавиши (первая
буква названия варианта или символ, указанный в команде
ALIAS);
-
ALIAS=<symbol>
- указывает символ, который будет соответствовать данному варианту загрузки;
-
INITRD=<name>
- указывает файл, который будет загружен во время загрузки как начальный
RAM-диск,
служит для того же, что и в первом варианте при использовании loadlin;
-
IMAGE=<name> - указывает
имя ядра
Linux для загрузки, используется для реализации загрузки с
несколькими вариантами ядра;
-
OTHER=<file_name>
- указывает файл, содержащий
boot
sector другой
операционной системы, которая загружается в данном варианте загрузки;
В нашем случае, если
Windows
стоит на первом разделе, для получения
boot sector-а
надо выполнить следующую команду:
dd
if=/dev/hda1 of=/boot/boot.sect bs=512 count=1
Где:
if v параметр, указывающий раздел;
of v параметр, указывающий выходной файл;
bs v размер блока;
count v количество читаемых блоков.
Пример конфигурационного
файла:
password
= Cool
single-key
image = /vmlinuz
label =
linux
alias = 1
other =
/dev/hda1
label =
windows
alias = 2
В данном случае
создаются два варианта, причем
lilo будет устанавливаться на текущий раздел, т.е. на раздел
Linux,
который должен быть активным. Для установки
lilo надо набрать команду ?lilo│. Если файл
конфигурации не содержит ошибок, то
lilo
будет установлен. После перезагрузки появится строка, в которой для загрузки
необходимой операционной системы надо будет ввести имя варианта или нажать
соответствующую клавишу, смотря как вы сконфигурируете
lilo.
Третий вариант
используется, если у вас стоит
Windows 2000 и вы хотите реализовать загрузку
Linux
в меню
W2k-загрузчика. Для этого надо сделать так: ставим
lilo в
boot sector Linux-раздела
с одним лишь вариантом загрузки и
TIMEOUT=0, потом делаем слепок данного
boot sector-a,
как это описывалось выше, и копируем его на
Win2k раздел, например как
c:linux.sect.
После чего грузимся в оную операционную систему и добавляем в файл
BOOT.INI
следующую строку:
C:linux.sect=│Linux│
В данном
случае при перезагрузке в меню появится пункт ?Linux│,
выбрав который вы загрузите
Linux.
Стоит сказать, что будет лучше, если
Win2k
стоит на
NTFS v меньше проблем будет. Активным разделом должен быть раздел
Win2k.
Надеюсь, данные методы
помогут вам настроить множественную загрузку.
|