Э. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание (1114666), страница 70
Текст из файла (страница 70)
Более подробную информацию и некоторыеальтернативы можно почерпнуть в руководстве «NTOSloader+Linux miniHOWTO».Для этого понадобится загрузочная дискета Linux, чтобы при необходимости можно было загрузить Linux до изменения загрузчика NT. Также нужначистая, отформатированная в DOS дискета для переноса загрузочного сектора на раздел Windows NT.
Если LILO уже установлен, может понадобитьсяизменить файл /etc/lilo.conf, как показано ниже. В противном случае можноустановить LILO в процессе инсталляции дистрибутива Linux либо с помощью сценария Quicklnst, который входит в комплект поставки загрузчика.После установки LILO можно приступать к настройке двойной загрузки системы.Помните, что нижеследующие инструкции предполагают существование Linux-раздела в /dev/hda2. Если Linux установлен на другом разделе, измените инструкции соответствующим образом.1. Задайте раздел, содержащий корневую файловую систему, в качествеустройства загрузки. Если /etc/lilo.conf редактируется вручную, строкадолжна выглядеть так:boot=/dev/hda2и будет являться копией параметра root=.2.
Выполните команду Шо, чтобы установить LILO в раздел с Linux.3. Теперь, для того чтобы перезагрузить Linux, необходимо воспользоватьсязагрузочной дискетой, потому что загрузчик NT еще не настроен для загрузки Linux.4. В Linux выполните команду dd, для того чтобы создать копию загрузочного сектора.% dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1Эта команда копирует один блок размером 512 байт из исходного файла/dev/hda2 в конечный файл /bootsect.lnx. (Имя конечного файла можетбыть любым, не обязательно bootsect.lnx.)476Глава 4.
Методы загрузки5. Скопируйте bootsect.lnx на дискету, отформатированную в DOS.% mount -t msdos /dev/fdO /mnt% cp /bootsect.lnx /mnt% amount /mnt6. Перезагрузитесь в Windows NT и скопируйте загрузочный сектор с дискеты на диск. Например, с помощью команды копирования:С:> сору a:\bootsect.lnx c:\bootsect.lnxНеважно, где на диске будет расположен загрузочный сектор, потому чтоэто расположение указывается загрузчику NT на шаге 8.7. Измените атрибуты файла boot-ini1, сняв атрибуты «системный» и «только для чтения», чтобы его было можно редактировать.С : > attrib -s -г c:\boot.ini8. Измените файл boot.ini с помощью текстового редактора, добавив следующую строку:C:\bootsect.lnx="Linux"В результате Linux будет добавлен в меню загрузки, а загрузчик WindowsNT «узнает», где находится загрузочный сектор.
Строка может находиться в любом месте раздела [operating systems] файла boot.ini. Расположение строки в файле определяет и расположение ее в меню загрузки, которое отображает загрузчик NT. К примеру, если добавить строку в конецсекции, получится приблизительно следующее (вторая строка multi(O)разбита на две строки, чтобы соответствовать формату книги):[boot loader]timeout = 30default=multi(0)disk(0)rdisk(0)partition(1)\WINNT[operating systems]multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Server Version 4.00"multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Server Version 4.00[VGA mode]" /basevideo /sosC:>bootsect.lnx="Linux"Для того чтобы сделать Linux системой, загружаемой по умолчанию, измените значение строки def ault= на следующее:default=C:\bootsect.Inx9.
Повторно выполните команду attrib, чтобы восстановить атрибуты файла(«системный» и «только для чтения»):С : > attrib +s +r c:\boot.ini1boot.ini является аналогом /etc/lilo.conf в Windows NT. В этом файле определяютсяоперационные системы, которые можно загружать с помощью загрузчика NT.Параметры, передаваемые ядру при загрузке477Теперь можно завершить работу с Windows NT и перезагрузить машину; загрузчик NT предложит меню, которое выглядит приблизительно так:OS Loader V4.00Please select the operating system to start:Windows NT Workstation Version 4.00Windows NT Workstation Version 4.00 [VGA mode]LinuxЕсли выбрать Linux, то загрузчик NT прочитает загрузочный сектор Linux ипередаст управление LILO, установленному на разделе Linux.Если впоследствии пользователь изменит /etc/lllo.conf или пересоберет ядросистемы, то ему необходимо будет выполнить lilo, создать новый файл bootsect.lnx и обновить его на разделе с Windows NT.
Таким образом, надо будетповторить шаги 2-6.Если возникают какие-либо проблемы или просто требуется удалить LILO, можно выполнить всю процедуру в обратном порядке:загрузить Windows NT, изменить атрибуты файла boot.ini, удалитьзапись для Linux, сохранить файл, восстановить его атрибуты, а затем удалить загрузочный сектор Linux с раздела Windows NT.Параметры, передаваемые ядру при загрузкеВ разделах этой главы, посвященных LILO и Loadlin, описывались отдельные параметры, которые можно определять при загрузке. Таких параметровсуществует довольно много. В данном разделе рассматриваются способы передачи параметров загрузки ядру системы, а также описаны наиболее частоиспользуемые параметры ядра (они влияют только на само ядро, а потомудействуют независимо от того, какой применяется загрузчик).Как это обычно бывает с Unix-системами, существует несколько вариантовзагрузки.
Если используется Loadlin, параметры можно передать ядру в командной строке или в файле.Если же выбран загрузчик LILO, то можно добавлять или переопределятьпараметры, описанные в /etc/lilo.conf, в ходе процесса загрузки следующимобразом:• Если в /etc/lilo.conf присутствует ключевое слово prompt, LILO всегдаотображает приглашение командной строки и ожидает ввода. В этот момент пользователь может выбирать, какую систему загружать, и (еслиэто Linux) определять дополнительные параметры.• Если ключевое слово prompt отсутствует, после отображения слова LILOв процессе загрузки можно нажать клавишу <Ctrl>, <Shift> или <Alt>,и приглашение появится.
Также можно нажать клавишу <Scroll Lock>478Глава 4. Методы загрузкидо появления слова LILO, чтобы не ловить потом нужный момент, сосредоточившись над клавиатурой.• В командной строке приглашения загрузчика определите систему, которую собираетесь загрузить, либо нажмите клавишу <ТаЬ>, чтобы получить список доступных систем.
Затем можно ввести имя загрузочного образа. Например:LILO boot: <нажимаем ТаЬ>linux test dosboot: llnuxМожно также добавлять параметры загрузки:boot: linux single• Если ничего не ввести, LILO будет ждать в течение времени, заданногопараметром delay, а затем загрузит операционную систему по умолчаниюс параметрами по умолчанию в соответствии с определениями в /etc/lilo.conf.Некоторые из параметров загрузки уже упоминались ранее.
Прочие являются специфичными для аппаратной части и слишком многочисленны, чтобыих здесь рассматривать. Полный перечень параметров и подробное описаниепроцесса загрузки можно найти в руководстве «Bootprompt-HOWTO». Частьполезных параметров, не рассмотренных ранее, освещены ниже, а оставшиеся - в упомянутом руководстве. Большинство этих параметров служат дляпередачи информации и инструкций ядру, а не загрузчику.debugРежим отладки, все сообщения ядра отображаются на консоли.hd=cylinders, heads, sectorsОпределение параметров геометрии жесткого диска для ядра. Полезно,если Linux испытывает сложности с самостоятельным определением геометрии, в особенности для дисков с IDE-интерфейсом, у которых более1024 цилиндров.load_ramdisk=raПредписание ядру загружать (или не загружать) образ RAM-диска дляиспользования во время установки Linux.
Корректные значения п:0Не загружать образ. Режим по умолчанию.1Загружать образ с дискеты в RAM-диск.mem=sizeОпределяет количество оперативной памяти, доступной в системе. Используется, если BIOS не отображает корректно объем памяти, определяятолько 64 Мбайт, в то время как в системе установлено больше, size — эточисло с модификатором М или k (не чувствительны к регистру):mem=128Minitrd: использование RAM-диска479Чтобы не вводить параметр mem при каждой загрузке, его часто указывают в командной строке, сохраняемой с параметром lock, или добавляя кпараметрам ядра с помощью append.noinitrdНаличие этого ключевого слова запрещает загрузку в два этапа и сохраняет содержимое /dev/initrd, чтобы данные можно было читать послезагрузки ядра, /dev/initrd можно прочесть лишь один раз, затем его содержимое возвращается системе.numberСтартует Linux в режиме (runlevel), определяемом числом number.
Режим — это состояние, в которое можно загрузить систему, например, режим многопользовательской работы или режим конфигурирования системы с запущенной системой X Window. Режим может быть представлен числом от 1 до 6; по умолчанию обычно 3. Режимы и соответствующие им состояния системы определяются в файле /etc/inittab.
Болееподробно режимы описаны на страницах руководства (manpage) пофайлу /etc/inittab.го Монтировать корневую файловую систему в режиме «только для чтения». Применяется, в частности, при проверке целостности файловойсистемы, когда изменение данных нежелательно.rw Монтировать корневую файловую систему в режиме чтения и записи(read-write).
Если не задан параметр го или rw, используется значениепо умолчанию (обычно rw), хранимое в образе загружаемого ядра.singleЗагрузка Linux в однопользовательском режиме. Режим предназначендля задач системного администрирования и восстановления. Производится минимальная инициализация системы и вход в систему суперпользователя. Никакие другие пользователи в систему не допускаются.initrd: использование RAM-дискаСовременные дистрибутивы Linux используют модульное ядро, что позволяет подключать модули без пересборки ядра. Если корневая файловая система расположена на устройстве, доступ к которому обеспечивается модульным драйвером (как это бывает, например, со SCSI-дисками), возможно использование initrd, двухэтапного процесса загрузки, позволяющего сначаласоздать содержащую необходимые модули (например, драйвер SCSI) временную корневую файловую систему на виртуальном диске в памяти (RAMдиск), а затем загрузить модули и смонтировать реальную корневую файловую систему.