В.А.Костромин

ОС Linux на Вашем персональном компьютере

LinuxCenter
Закажите в LinuxCenter

Назад Вернуться к оглавлению. Далее

Книги и CD по Линукс можно заказать в интернет-магазине Bolero

17. Несколько ОС на одном компьютере или загрузка ОС по выбору (продолжение)

17.5. Windows NT-2000 и Линукс (загрузка через OS Loader от NT)
17.6. Использование загрузчика LILO OS Linux
17.7. Загрузка Линукс из MS-DOS с помощью loadlin.exe
17.8. Источники и ссылки

17.5. Windows NT-2000 и Линукс (загрузка через OS Loader от NT)

В этом разделе, говоря о Windows NT, я все время буду иметь в виду и Windows 2000, так как в части установки Линукс тут различий нет. Будем предполагать, что Windows NT/2000 установлена в разделе /dev/hda2. Раз ОС Windows NT на Вашем компьютере уже установлена, значит и OS Loader тоже уже установлен, а, следовательно, вполне логично использовать его и для загрузки Линукс. Я надеюсь, что Вы сделали резервную копию всей ценной для Вас информации с жесткого диска(ов). После этого можно перейти к установке Линукса. Этапы установки можно описать следующим образом.

1. Если Вы не сделали этого ранее, то до начала каких-либо действий по инсталляции Линукс изготовьте загрузочные дискеты для загрузки и восстановления Windows NT (воспользуйтесь пунктом ?????).

2. С помощью программы PartitionMagic освободите часть дискового пространства и создайте на свободном месте раздел типа ext2 (файловая система Линукс) и swap-раздел. О том, как это сделать и что надо при этом учесть, было рассказано в предыдущих разделах.

3. Проведите процедуру инсталляции Linux, следуя рекомендациям, прилагаемым к имеющемуся у Вас дистрибутиву. В ходе процедуры инсталляции учтите следующее:

Во-первых, в процессе установки надо обязательно изготовить загрузочную дискету, для чего при запросе о создании загрузочного диска выбрать пункт "Yes, make a BOOT DISK" ("Создать загрузочный диск"). Этот диск понадобится нам на одном из следующих этапов. Кроме того, в последующем можно будет просто каждый раз, когда надо загрузить Линукс, использовать эту дискету. Это тоже вариант загрузки, тем более, что, в отличие от загрузочной дискеты ДОС, после загрузки система уже о дискете не вспоминает, ее можно убрать из дисковода (даже размонтировать не требуется) и использовать дисковод для работы с обычными дискетами. Однако этот метод все же не совсем удобен, так что я не предлагаю Вам использовать его постоянно. Только как запасной! Но это потом, а при настройке многовариантной загрузки он будет просто необходим!
Во-вторых, при установке Linux надо установить LILO не в главный загрузочный сектор диска (Master Boot Record), а в первый сектор того раздела, который Вы отвели для Linux. Для определенности предположим, что Linux устанавливается в первый сектор раздела hda3.
В принципе, если Вы установите LILO в MBR, то и это не смертельно, конечный результат (загрузка через NT Loader) может быть достигнут и в этом случае, но потребуется больше усилий. Дело в том, что формат MBR, создаваемого LILO и Windows (DOS), различен. Поэтому если Вы поставите LILO в MBR, Вам придется потом восстановить виндоусовый MBR. На всякий случай я потом расскажу, как это делается, но лучше будет, если Вы сразу поставите LILO в первый сектор его собственного раздела.

4. После завершения инсталляции загрузите Линукс с помощью загрузочной дискеты (если Вы установили LILO в раздел Линукс и не трогали MBR, то другой возможности у Вас пока нет). После этого можно убрать загрузочную дискету из дисковода (обратите внимание на то, что ее даже размонтировать не надо).

5. Скопируйте загрузочный сектор Linux в файл; он понадобится для того, чтобы загрузчик Windows NT/2000 мог запускать Linux. Для этого надо смонтировать чистую дискету, например, так:

    [root]# mount -t vfat /dev/fda1 /mnt/floppy
и перейти в каталог /mnt/floppy
    [root]# cd /mnt/floppy
и выполнить команду
    [root]# dd if=/dev/hda3 of=/mnt/floppy/bootsect.lnx bs=512 count=1
которая позволяет записать содержимое загрузочного сектора диска /dev/hda3 в файл /mnt/floppy/bootsect.lnx.

Примечание. Хочу заметить, что если диск C: (hda1) сформатирован в системе FAT (у меня это именно так, поскольку первой была установлена Windows 95, а, кроме того, в случае любых затруднений я всегда могу загрузиться хотя бы в ДОС с дискеты), то можно сразу создать файл bootsect.lnx в корневом каталоге диска C:. Отмечу, что я не знаю (не пробовал) можно ли будет загружаться без дискеты, если первый раздел загрузочного диска отформатирован в NTFS. Но думаю, что проблем и здесь не будет, кроме необходимости переноса boot-сектора через дискету. поскольку пока что поставляемые в дистрибутиве варианты ядра не поддерживают NTFS (для ее поддержки надо переконфигурировать ядро, смотри по этому поводу раздел о конфигурации ядра).

6. Далее необходимо перезагрузиться, чтобы запустить Windows NT, для чего даем в Линукс команду:

[root]# shutdown -h now
Поскольку главная загрузочная запись не была изменена, должна загрузиться Windows NT. После завершения загрузки необходимо перенести файл /mnt/floppy/bootsect.lnx в корневой каталог диска C:, точнее - в корневой каталог того раздела, с которого загружается Windows NT. В зависимости от того, как Вы устанавливали Windows NT, это может быть как FAT16-раздел, так и NTFS-раздел. Признаком нужного раздела является наличие в нем файлов ntldr и boot.ini (эти файлы могут быть скрытыми!). Файлу bootsect.lnx можно присвоить атрибут read-only.

7. После завершения загрузки NT ищем файл boot.ini в корневом каталоге и добавляем в него следующую строчку:
   C:\bootsect.lnx="LINUX"
(естественно, что в кавычках Вы можете поставить все, что Вам угодно).

8. Осталось перезапустить компьютер еще раз, причем при загрузке Вы уже будете иметь возможность выбрать Linux для загрузки. После этого будет запущен LILO, который загрузит Linux.

Теперь отдельно рассмотрим случай, когда Вы (по ошибке или намеренно) установили lilo в главную загрузочную запись диска (Master Boot Record, MBR). В этом случае загрузочная запись Windows NT/2000 будет затерта и загрузить Windows NT (смотри шаг 6 выше) уже будет невозможно. Если Вы все еще намерены пользоваться загрузчиком OS Loader от NT, а не lilo, последовательность действий несколько изменяется: вместо шага 6 необходимо проделать следующее:

6.1. Загрузите Windows NT/2000 с загрузочных дискет (смотри шаг 1). При этом необходимо выбрать в меню загрузчика пункт Recover, а затем - режим Command mode. При запросе следует зарегистрироваться с учетной записью администратора системы (Administrator).

6.2. Восстановите главную загрузочную запись диска. Для этого можно дать команду fdisk /mbr. У меня получалось, хотя в некоторых статьях утверждается, что восстановить таким образом MBR удается не всегда. В Windows 2000 имеются специальные команды fixboot и fixmbr. Выполните их обе в указанном порядке. Теперь Windows 2000 снова будет загружаться нормально.

6.3. Перезапустите компьютер с загрузочной дискеты Linux и зарегистрируйтесь в системе с полномочиями администратора (root).

6.4. Введите команду cd /etc и откройте файл lilo.conf. В начале файла есть ссылка на загрузочный раздел по умолчанию, например, /dev/hda.

6.5. С помощью любого редактора, например, редактора Kedit из KDE, следует изменить это значение на диск и раздел, куда была установлена Linux. Если Linux установлена в раздел /dev/hdc1, то именно это и следует записать, т.е. поменять /dev/hda на /dev/hdc1. Если вы не помните, куда именно установлен Linux, найдите последнюю переменную файла /etc/lilo.conf - переменную image. В ней хранится нужное значение.

6.6. Выполнить lilo для записи загрузчика в раздел /dev/hdc1 (команду lilo нужно выполнить без аргументов). Будет выдано предупреждение о том, что раздел не является первым на диске. Именно это нам и нужно, чтобы загрузочная запись Windows 2000 осталась в целости и сохранности.

6.7. Выполнить шаги 6-8 приведенного выше алгоритма.

Вы легко можете заметить, что сложная последовательность операций 6.1-6.6 с двумя лишними перезагрузками потребовалась только для того, чтобы перенести загрузочный сектор Линукс из MBR в первый сектор раздела, отведенного для Линукс, и восстановить MBR от Windows.

Все, на этом установка завершена и Вы имеете возможность на этапе загрузки выбирать ту ОС, которая будет осуществлять управление Вашим компьютером.

17.6. Использование загрузчика LILO OS Linux

Если Вы не хотите использовать NT Loader, можете использовать программу-загрузчик, поставляемую с ОС Linux, которая называется LILO (LInux LOader). Как уже было сказано в разделе о выборе загрузчика, на мой взгляд этот способ загрузки менее удобен, чем использование OS Loader от NT. Но это дело вкуса, а если у Вас была установлена Windows 98 с файловой системой FAT32, то lilo является наиболее логичным и доступным выбором (альтернативой являются только загрузчики третьих фирм).

Так же, как в случае с Windows NT, приведем пошаговые инструкции того, как в этом случае настроить процесс загрузки.

1. До начала каких-либо действий по инсталляции Линукс изготовьте загрузочную дискету Windows.

2. С помощью программы PartitionMagic освободите часть дискового пространства и создайте на свободном месте раздел типа ext2 (файловая система Линукс) и swap-раздел. О том, как это сделать, рассказано выше. Если обьем Вашего жесткого диска превышает 8,4 ГБ, особенно внимательно прочитайте разделы 17.2-17.4.

3. Проведите процедуру инсталляции Linux, следуя рекомендациям, прилагаемым к имеющемуся у Вас дистрибутиву. Учтите, что если Вы вознамерились использовать загрузчик Lilo, Вам необходимо при инсталляции системы установить Lilo в основную загрузочную запись (Master Boot Record). Изготавливать в процессе установки загрузочную дискету, в принципе, не обязательно, но я очень рекомендую Вам это сделать.

Примечание: В документации по LILO говорится, что загрузчик lilo может устанавливаться не обязательно в главную загрузочную запись диска, а может располагаться в загрузочной записи первичного активного Linux-раздела или даже логического раздела в расширенном разделе. В таком случае в MBR должно быть нечто, способное его загрузить, например, стандартный загрузчик MS-DOS или Windows (записывается командой fdisk /mbr). Но необходимости применения такого варианта я не вижу (раз уж Вы используете lilo в качестве основного загрузчика), поэтому здесь его рассматривать не будем.

4. На следующем шаге нужно заставить lilo загружать ОС по выбору. Lilo конфигурируется с помощью файла /etc/lilo.conf и команды lilo. Эта команда устанавливает (или переустанавливает) Lilo.

Рассмотрим небольшой пример файла конфигурации LILO. Для примера будем считать, что устройство /dev/hda1 является разделом с DOS/Windows, а раздел /dev/hda2 содержит Linux. В таком случае файл /etc/lilo.conf может иметь примерно такой вид:

    boot = /dev/hda2
    compact
    delay = 50
    # message = /boot/bootmesg.txt
    root = current
    image = /boot/vmlinuz-2.2.11-4bc 
         label = linux
         read-only
    other = /dev/hda1
         table = /dev/hda
         label = dos

Дадим некоторые пояснения к этому примеру.

  • Строка boot указывает загрузочное устройство.
  • Строка compact включает режим сжатия map-файла, содержащего характеристики загрузочных ядер; это ускоряет начальную загрузку.
  • С помощью команды message можно заставить загрузчик выдавать при загрузке произвольное сообщение.
  • Начиная со строки image идут секции конфигурационного файла, соответствующие разным операционным системам, которые должны загружаться по выбору пользователя. В каждой такой секции имеется строка label. В этой строке записывается имя, которое вводится в ответ на приглашение LILO и служит для выбора пользователем загружаемой ОС. Если имя не введено по истечении времени, заданного строкой delay (задается в десятых долях секунды), будет загружена ОС, выбираемая по умолчанию. В данном случае по умолчанию будет загружаться Linux, поскольку соответствующая ей секция стоит первой в файле. Можно указать загружаемую по умолчанию систему с помощью строки вида default=dos (то есть, используя метку из соответствующей строки label).

    Строка TABLE=<device> содержит указание на устройство, на котором находится таблица разбиения диска. LILO не передает информацию о разбиении загружаемой операционной системе, если эта переменная не задана. (Некоторые операционные системы имеют другие средства для определения того, из какого раздела они загружены.) Не забывайте, что необходимо выполнить команду /sbin/lilo, если Вы изменили ссылку на таблицу разбиения, задаваемую переменной TABLE.

    Если Вы задали строку (лучше сказать, секцию) other = /dev/hda1 в файле /etc/lilo.conf, то в корневом каталоге диска /dev/hda1 (диска C: в терминологии Microsoft) должен находиться вторичный загрузчик. У меня, например, на одном из компьютеров с многовариантной загрузкой там находится NT Loader (поскольку Windows NT была установлена до Линукс) и lilo успешно загружает Windows NT. Только надо установить задержку времени равной нулю, чтобы не получать собственного меню загрузки NT Loader. Впрочем, если Вы хотите по каким-то причинам видеть это меню, то значение timeout в файле boot.ini надо задать отличным от нуля (задается в секундах). Это может понадобиться, например, для обеспечения возможности загружать Windows 98 как еще один вариант ОС.

    Если вы хотите грузить Win 9? непосредственно из lilo, то добавьте в /etc/lilo.conf:

         other = /boot/bootsect.dos
         label = win
    
    где файл bootsect.dos берется из корневого каталога того диска, на котором стоит NT Loader .

    5. После того, как Вы откорректировали файл /etc/lilo.conf, необходимо выполнить команду /etc/lilo, чтобы изменения вступили в силу. Эта команда (которая в руководстве называется map-installer) устанавливает загрузчик системы, который будет активизирован во время следующей загрузки машины. Прежде, чем запускать /etc/lilo для модификации загрузочных процедур, выполните эту команду с параметром -t. При этом будет выполнена вся процедура инсталляции загрузчика, кроме изменения map-файла, записи модифицированного загрузочного сектора и изменения таблицы разбиения диска, то есть выполнен тест нового варианта. Если добавить еще опцию -v, это позволит убедиться в том, что сделанные Вами изменения разумны.

    Когда /sbin/lilo перезаписывает загрузочный сектор, он автоматически сохраняет старое содержимое в файле, по умолчанию /boot/boot.NNNN, где NNNN соответствует номеру устройства, например, 0300 - это /dev/hda, 0800 - это /dev/sda и так далее. Если такой файл уже существует, он не перезаписывается. Но можно задать альтернативный файл для сохранения загрузочного сектора.

    Файл /boot/boot.NNNN можно использовать для восстановления старого содержимого загрузочного сектора, если более простой метод его восстановления недоступен. Соответствующие команды имеют вид:

      dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1  или 
      dd if=/boot/boot.0800 of=/dev/sda bs=446 count=1 
    
    (bs=446 потому что восстанавливаем только программу-загрузчик и не трогаем таблицу разбиения диска).

    Копию загрузочного сектора лучше сохранить на дискете. В случае, если неприятности произойдут, Вы сможете восстановить старую загрузочную запись MBR, выполнив команду (предполагается, что дискета смонтирована в каталог /mnt):

        [root:~#] dd if=/mnt/MBR of=/dev/hda bs=446 count=1

    Восстановить старый MBR при необходимости можно также командой /sbin/lilo с опцией -u. Только надо иметь в виду, что эта команда отрабатывает корректно при условии, что каталог LILO (а именно, /boot) не изменялся со времени инсталляции.

    Стандартный MBR от MS-DOS может быть восстановлен также, если воспользоваться загрузочной дискетой системы DOS, восстановив MBR командой FDISK /MBR. Она изменяет только код программы-загрузчика в MBR, не изменяя таблицу разбиения диска.

    6. После переустановки загрузчика надо перезагрузить компьютер, опробовав разные варианты загрузки.

    В заключение подраздела приведем некоторые сведения о том, какие затруднения могут возникать при использовании lilo.

    Когда LILO загружается, он выводит на дисплей слово "LILO". Пи этом вывод каждой буквы обозначает завершение определенного действия или этапа загрузки LILO. Если загрузка сорвется, то по числу выведенных букв можно судить о причине возникновения проблемы.

    Установка других операционных систем

    При инсталляции MS-DOS и Windows 95/98 ее стандартный загрузчик независимо от Вашего желания записывается в Master Boot Record (MBR), а признак активности в таблице разделов ставится на раздел MS-DOS (Windows 95/98). А стандартный загрузчик MS-DOS и Windows 95/98 умеет только передавать управление на первый сектор активного раздела. Поэтому, если Вы вначале установите Линукс, а потом будете ставить Windows 95/98 или MS-DOS, то Линукс перестанет загружаться. Говорят, что Windows NT и 2000 загрузчик из MBR не трогают (но учтите, что сам я этот факт не проверял). Восстановить загрузку LILO можно либо путем перезапуска /sbin/lilo (если LILO установлен в MBR), либо сделав активным раздел LILO (если он установлен в первичный раздел).

    С проблемами, возникающими при установке после Линукс другой ОС, обычно можно справиться, загрузившись в Линукс с помощью загрузочной дискеты, откорректировав конфигурационный файл LILO (добавив вызов новой ОС) и запустив /sbin/lilo.

    Перенос каталога /boot в DOS-раздел

    Последние версии ядра Линукс поддерживают возможность размещения файлов, необходимых на этапе загрузки, в файловой системе MS-DOS (или UMSDOS). Поскольку в большинстве случаев разделы DOS занимают как раз те области диска, где связанные с BIOS ограничения не действуют, это позволяет решить многие проблемы больших дисков, возникающие в тех случаях, когда раздел, отведенный для Линукс, не может быть использован для размещения в нем каталога /boot.

    Для того, чтобы реализовать такой вариант загрузки, DOS-раздел монтируется в режиме чтение/запись, создается каталог (например, /dos/linux), в который перемещаются все файлы из каталога /boot и образы ядер Линукс, каталог /boot заменяется символической ссылкой на каталог /dos/linux, новое местоположение каталога /boot указывается в файле /etc/lilo.conf, и, наконец, запускается /sbin/lilo.

    17.7. Загрузка Линукс из MS-DOS с помощью loadlin.exe

    Не только загрузочные файлы и образы ядра могут располагаться в ДОС-разделе, но и вообще вся загрузка Линукс может быть организована из ДОС. Для этого используется специальная программа LOADLIN.EXE, разработанная Хансом Лерменом (Hans Lermen, lermen@elserv.ffm.fgan.de). Эта программа используется в таких дистрибутивах, как Red Hat (и, возможно, в других), для организации процедур установки Линукс с CD-ROM. Поэтому она имеется на дистрибутивном диске, а, следовательно, всегда имеется в Вашем распоряжении.

    LOADLIN предоставляет Вам самый безопасный способ загрузки Линукс с жесткого диска, если Вы имеете на нем загрузочный ДОС-раздел. Большинство новичков, устанавливающих Линукс, слишком нетерпеливы для того, чтобы читать очень хорошее, но очень длинное описание загрузчика LILO, прилагаемое к этой программе (да еще по-английски!). Поэтому они начинают использовать его некорректно, в результате чего теряют возможность вообще загрузить какую-нибудь операционную систему. Для таких людей гораздо удобнее начать освоение Линукс, используя для загрузки LOADLIN.

    LOADLIN не требует какой-либо установки, надо только разместить саму программу и образы ядра на одном из дисков, доступных в ДОС. С помощью LOADLIN можно загрузить Линукс с CD или сетевого диска, не используя загрузочной дискеты. Это делает LOADLIN великолепным инструментом на те случаи, когда необходимо загрузить Линукс после какого-то сбоя в работе загрузчика LILO.

    Версия 1.6 LOADLIN.EXE работает практически при любых конфигурациях ДОС и имеет очень мало ограничений. Она может использовать расширенную память и может загружать большие ядра (bzImages) и образы виртуальных дисков (initrd) непосредственно в верхние области ОП.

    Применение LOADLIN не означает, что Линукс работает под ДОС, так как эта программа обеспечивает "логическую перезагрузку" Вашего компьютера, после чего ДОС полностью заменяется на Линукс. Если Вы хотите вернуться в ДОС, Вы должны перезагрузить компьютер, например, с помощью команды "reboot".

    Итак, что же необходимо для того, чтобы воспользоваться программой LOADLIN.

    1. На Вашей машине (конечно, с процессором 386 или выше) должна быть установлена DOS или WINDOWS 95.
    2. Нужно иметь сжатые образы ядра (zImage, bzImage).
      ПРИМЕЧАНИЕ: zImage - это старый бинарный формат ядра, bzImage - это более новый формат (ядра версии >= 1.3.73), который может иметь размер до 1 МБайта, следовательно, разархивированное ядро может иметь размер до 2 МБайт. Далее будем говорить только о файлах zImage, хотя Вы можете всюду заменить zImage на bzImage.
    3. Саму программу LOADLIN.EXE, которую Вы можете найти на дистрибутивном диске как в разархивированном виде, так и в пакете LODLIN16.TGZ, который содержит, кроме того, руководство по ее использованию DOC\MANUAL.TXT, пример файла задания параметров DOC\TEST.PAR, и руководство по заданию параметров DOC\PARAMS.DOC (не забывайте, что все это ДОС-овские файлы).

    Если Вы запустите команду loadlin без параметров

             C:\LOADLIN> loadlin [Enter]
    
    то получите подсказку по использованию программы. Удобнее может оказаться запустить ту же программу с параметром more (в стиле Линукс):
    C:\LOADLIN> loadlin | more [Enter]
    

    Теперь мы можем рассмотреть последовательность действий по установке Линукс в том варианте, когда загружаться она будет с помощью LOADLIN.

    1. Выделите раздел для Линукс (как это сделать - смотрите в предыдущих разделах).

    2. Установите Линукс в выделенный раздел. При этом lilo установите в первый сектор Линукс-раздела, чтобы не перезаписать MBR и не потерять возможность загружаться в Windows.

    3. После завершения процедур установки загрузите Линукс (если не получается по-другому, то используйте загрузочную дискету). Смонтируйте ДОС-раздел (будем считать, что в Линукс ДОС-раздел именуется как /dev/hda1, а Линукс-раздел - как /dev/hda3)

    [root]# mount -t vfat /dev/hda1 /mnt/C 
    Создайте каталог /mnt/C/loadlin и разархивируйте в него содержимое файла LODLIN16.TGZ с дистрибутивного CD-диска Линукс. Кроме того, поместите туда же файл с образом ядра из каталога /boot. Найти нужный файл образа ядра можно с помощью файла /etc/lilo.conf: найдите в нем строку "image=..." и Вы увидите нужное имя справа от знака равенства. У меня, например, полное имя этого файлы - vmlinuz-2.2.16-3bc, но я при копировании в каталог /mnt/C/loadlin переименовал его в vmlinuz; это имя и буду использовать далее в примерах.

    4. Теперь перезагрузите компьютер в ДОС. Если у Вас есть возможность з агрузить непосредственно ДОС, то делайте это сразу, а если нет, то загружайте Windows, при появлении сообщения "Загрузка Windows 95" нажимайте клавишу F8 и выбирайте вариант "Command prompt only". Если Вы не успели нажать F8, то можно дождаться завершения загрузки Windows 95, после чего в меню "Пуск" выбрать пункт "Завершение работы" и в нем - "Перезагрузить компьютер в режиме эмуляции ДОС".

    После выхода в режим ДОС перейдите в каталог C:\LOADLIN и выполните команду

           C:> CD \LOADLIN
           C:\LOADLIN> LOADLIN vmlinuz /dev/hda3 ro vga=ask
    
    или, если Вы хотите загрузить ядро с установкой RAM-диска:
           C:\LOADLIN> LOADLIN vmlinuz /dev/ram rw initrd=diskimage
    
    Можно также записать все аргументы команды LOADLIN в файл (например, с именем param) и вызвать ту же команду следующим образом:
           C:\LOADLIN> LOADLIN @params
    
    Такая возможность особенно полезна для тех случаев, когда Вы задаете много аргументов командной строки и ее длина становится больше 127 символов. Полное описание всех возможных аргументов (параметров) команды LOADLIN Вы сможете найти в файле PARAMS.DOC или в Интернет на сайтах http://sunsite.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html и http://rsphy1.anu.edu/~gpg109/BootPrompt-HOWTO.html .

    Все, теперь Вы можете пользоваться этим способом загрузки Линукс. Единственное, что остается, это избавиться от необходимости каждый раз при загрузке вводить команду loadlin со всеми параметрами. Для облегчения можно создать bat-файл или прописать вызов loadlin в файл config.sys. Рассмотрим эти возможности подробнее.

    Загрузка Линукс из CONFIG.SYS

    Начиная с версии 6.0 DOS стало возможным выбирать различные конфигурации запуска MS-DOS с помощью стартового меню. Оно выводится во время интерпретации файла CONFIG.SYS. Следовательно, можно добавить в него дополнительный пункт, выбор которого будет приводить к загрузке Линукс.

    Вот пример файла CONFIG.SYS для случая чистого DOS:

          SWITCHES=/F
    
          [MENU]
          menuitem=DOS, Выход в DOS
          menuitem=LINUX_1, Загрузка LINUX
          menuitem=LINUX_2, Загрузка LINUX с помощью файла параметров
          menuitem=LINUX_3, Загрузка LINUX с помощью файла параметров, с указанием загрузочного раздела
          menuitem=LINUX_4, Создание файла сообщений об ошибках
    
          [DOS]
          device=c:\dos\himem.sys
          device=c:\dos\emm386.exe 2048 ram
          DOS=HIGH,UMB
          SHELL=C:\COMMAND.COM C:\ /e:1024 /p
          ...  и так далее
    
          [LINUX_1]
          shell=c:\loadlin\loadlin.exe c:\loadlin\zimage root=/dev/hda3 ro
    
          [LINUX_2]
          shell=c:\loadlin\loadlin.exe @c:\loadlin\linux.par
    
          [LINUX_3]
          shell=c:\loadlin\loadlin.exe @c:\loadlin\linux.par root=/dev/hda3
    
          [LINUX_4]
          shell=c:\loadlin\loadlin.exe c:\loadlin\vmlinuz -d c:\dump.txt root=/dev/hda1
          rem                                            
          rem  Эта команда запускает Линукс в режиме отладки, причем отладочная 
          rem  информация записывается в файл  c:\dump.txt. 
          rem  В этом режиме все происходит как при обычном запуске, но Linux не загружается, 
          rem  ВНИМАНИЕ: Не запускайте таким образом Линукс из CONFIG.SYS, если Вы 
          rem  не используете [MENU] в CONFIG.SYS, потому что тогда Вам необходима 
          rem  загрузочная дискета DOS для того, чтобы загрузиться нормально.
    
          [COMMON]
          rem   Здесь можно расположить все другие команды, общие для всех конфигураций 
          rem   запуска  ....
    

    Пример файла CONFIG.SYS для Windows 95

    Если у Вас на машине установлены Windows 95 и Linux, требуется отключить некоторые опции в скрытом файле C:\MSDOS.SYS (это простой текстовый файл).

    ВНИМАНИЕ: НЕ ПЫТАЙТЕСЬ ЗАПУСТИТЬ LOADLIN ИЗ ГРАФИЧЕСКОЙ ОБОЛОЧКИ !
    Поменяйте атрибуты файла C:\MSDOS.SYS так, чтобы он стал доступным для модификации и отредактируйте его:

          C:\MSDOS.SYS 
          --------------------------------------
          BootGUI=0
          Logo=0
          ...
          ---------------------------------------------------
    
    
    Это позволит избежать загрузки графической оболочки и выбор пункта меню W95 будет вызывать переход к обычной командной строке ДОС. (Чтобы загрузить графическую оболочку, Вы должны будете ввести команду C:> win).
    Logo=0 отключает вывод логотипа Windows. Дело в том, что для некоторых графических адаптеров Линукс может выдавать после загрузки "пустой" экран, если перед его загрузкой отображался логотип Windows.

    Файл CONFIG.SYS в этом случае должен иметь примерно такой вид:

          C:\CONFIG.SYS 
          -------------------------------------
          [menu]
          menuitem=W95, Загрузка DOS
          menuitem=LINUX, Загрузка Linux
          menudefault=W95,10
    
          [W95]
          rem все, что Вам требуется для запуска DOS
          ...
    
          [LINUX]
          shell=c:\loadlin\loadlin.exe @C:\loadlin\linuxpar.1
    
          [COMMON]
          rem ЗДЕСЬ НЕ ДОЛЖНО БЫТЬ НИЧЕГО !
          rem переместите все, что здесь было, в секцию W95 
          ---------------------------------------------------
    
    

    Если Вы почему-либо не хотите запускать Линукс из конфигурационных файлов, но хотите облегчить процедуру запуска его из командной строки, можете создать командный файл (например, linux.bat), с помощью которого просто запускать Линукс, предварительно загрузившись в режиме ДОС. Я думаю, что приведенных выше данных вполне достаточно для создания необходимого bat-файла.

    17.8. Источники и ссылки

    В этом разделе я привожу все источники, которые имеют отношение к вопросу установки нескольких ОС на одном компьютере. Признаюсь, что сам я пока что прочитал не все. Но я перечисляю все найденные мной источники, чтобы Вы могли их найти в случае, если у меня рассмотрено не все и Вы столкнетесь с какими-то сложностями.
    1. В.Альмесбергер (Werner Almesberger) "LILO - Generic Boot Loader for Linux", Version 21, User's Guide, 4 декабря 1998 г. (После инсталляции Линукс Вы найдете этот документ в файле /usr/doc/lilo-x.y/README).

    2.  
    3. Andries Brouwer, "Large Disk HOWTO", v2.0, 22 January 1999 (находится в файле /usr/doc/HOWTO/mini/Large-Disk). Существует перевод на русский язык, причем даже более поздней версии : Large-Disk-HOWTO Перевод: Russian Linux Documentation Project, v2.2j, 5 февраля 2000. Тот же HOWTO есть здесь.

    4.  
    5. Kristan Koehntopp, "Linux Partition HOWTO", v2.4, 3 November 1997,

    6.  
    7. Stein Gjoen, "HOWTO: Multi Disk System Tuning", v0.17, 3 February 1998 (находится в файле /usr/doc/HOWTO/Multi-Disk-HOWTO).

    8.  
    9. Tom Fawcett "The Linux Bootdisk HOWTO", v3.3, November 1998 (находится в файле /usr/doc/HOWTO/Bootdisk-HOWTO).

    10.  
    11. Cameron Spitzer, Alessandro Rubini, "Lilo mini-Howto", v2.02, 16 August 1998 (находится в файле /usr/doc/HOWTO/mini/LILO).

    12.  
    13. Bernd Reichert, "NT OS Loader + Linux mini-HOWTO", v1.11, 2 September 1997 (находится в файле /usr/doc/HOWTO/mini/Linux+NT-Loader).

    14.  
    15. Mike Harlan, "The Linux ``Linux-DOS-Win95-OS2'' mini-HOWTO", v1.3.1, 11 November 1997 (находится в файле /usr/doc/HOWTO/mini/Loadlin+Win95).

    16.  
    17. Jonathan Katz, "Linux+Win95-HOWTO", October 26, 1996, (находится в файле /usr/doc/HOWTO/mini/Linux+Win95). Имеется перевод на русский язык, сделанный Ильгизом Кальметьевым (Ilgiz Kalmetev): Linux+Win95 HOWTO.

    18.  
    19. Renzo Zanelli, "Win95 + WinNT + Linux multiboot using LILO mini-HOWTO", v1.0, 26 March 1998 (находится в файле /usr/doc/HOWTO/mini/Multiboot-with-LILO).

    20.  
    21. Chris Fischer, "The Loadlin+Win95 mini-HOWTO", v1.4.6, 13 March 1999, (находится в файле /usr/doc/HOWTO/mini/Linux+DOS+Win95+OS2).

    22.  
    23. Paul Gortmaker "The Linux BootPrompt-HowTo", v1.14, 1 February 1998 (находится в файле /usr/doc/HOWTO/BootPrompt-HOWTO).

    24.  
    25. А.Московских "Как поставить много операционных систем на одном компьютере", (см. http://www.infocity.kiev.ua/os/content/os038.phtml).

    26.  
    27. Джон Сэвилл Двойная загрузка Windows 2000 и Linux с помощью NTLoader .

    28.  
    29.  Проблемы с большими жесткими дисками

    * * * * *

    В заключение хочется отметить, что следуя рекомендациям настоящего раздела, Вы получите только возможность загружать по выбору ту или иную ОС. Совершенно другой подход предлагает компания VMWare Inc., которая создала систему виртуальных машин. Эта система позволяет одновременно иметь на компьютере две (или даже несколько ОС). Виртуальным машинам посвящен отдельный раздел настоящей энциклопедии.


    Назад Вернуться к оглавлению. Далее

    В.А.Костромин
    Последние изменения
    в содержание файла внесены
    2 февраля 2001 г.
    TopList Aport Ranker