Теперь обратимся непосредственно к процессу установки Linux. Будем предполагать, что Windows NT/Windows 2000 установлена в разделе /dev/hda2.
Изготовим загрузочные дискеты для загрузки и восстановления NT. Для создания загрузочной дискеты достаточно скопировать на отформатированную дискету файлы ntldr, ntdetect.com и boot.ini из корневого каталога загрузочного диска. Программу создания дискеты аварийного восстановления для Windows 2000 можно запустить из панели управления (пункт ), а в Windows NT 4.0 найдите ее с помощью поиска в справочной системе ().
С помощью программы PartitionMagic освободим часть дискового пространства и создадим на свободном месте раздел типа ext2 (файловая система Linux) и раздел подкачки.
Проведем процедуру инсталляции Linux. В процессе установки необходимо изготовить загрузочную дискету. Этот диск понадобится нам на одном из следующих этапов. Кроме того, в последующем можно будет просто каждый раз, когда надо загрузить Linux, использовать эту дискету. Это тоже вариант загрузки, тем более что, в отличие от DOS, после загрузки система о дискете уже не вспоминает. Установим LILO не в главный загрузочный сектор диска, а в первый сектор того раздела, который отведен для Linux. Для определенности предположим, что Linux устанавливается в первый сектор раздела hda3. В принципе, если установить LILO в MBR, то и это не смертельно. Конечный результат (загрузка через NT Loader) может быть получен и в этом случае, но усилий потребуется больше, так как формат главного загрузочного сектора, создаваемого LILO и Windows, различен. Поэтому, если поставить LILO в MBR, придется потом восстанавливать MBR от Windows.
После завершения инсталляции загрузим Linux с помощью загрузочной дискеты.
Скопируем загрузочный сектор Linux в файл; он понадобится для того, чтобы загрузчик Windows NT мог запускать 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.
Если раздел hda1 сформатирован в системе FAT, можно сразу создать файл bootsect.lnx в корневом каталоге диска C:.
Далее необходимо перезагрузиться, чтобы запустить Windows NT, для чего в Linux следует выполнить команду: [root]# shutdown -h now
Поскольку главная загрузочная запись не была изменена, должна загрузиться NT. После завершения загрузки необходимо перенести файл /mnt/floppy/bootsect.lnx в корневой каталог диска C:, точнее, в корневой каталог того раздела, с которого загружается NT. В зависимости от того, как устанавливалась NT, это может быть как раздел FAT16, так и раздел NTFS. Признаком нужного раздела является наличие в нем файлов ntldr и boot.ini (эти файлы могут быть скрытыми). Файлу bootsect.lnx можно присвоить атрибут read-only.
После завершения загрузки NT найдем файл boot.ini в корневом каталоге и добавим в него строчку: C:\bootsect.lnx=
Осталось перезапустить компьютер еще раз, причем при загрузке уже будет возможность выбора. Если выбрать пункт Linux, будет запущен LILO, который и загрузит Linux.
Отдельно рассмотрим случай, когда по ошибке или намеренно LILO был установлен в MBR. В этом случае загрузочная запись Windows NT будет затерта, сделав невозможной загрузку NT. Если есть намерение пользоваться загрузчиком OS Loader от NT, а не LILO, последовательность действий несколько изменяется: вместо шага 6 необходимо проделать приведенную ниже последовательность действий.
Загрузить Windows NT/2000 с загрузочных дискет. При этом необходимо выбрать в меню загрузчика пункт Recover, а затем - режим Command mode. При запросе следует зарегистрироваться с учетной записью администратора системы.
Восстановить главную загрузочную запись диска, например, при помощи команды fdisk /mbr. (У меня это получалось, хотя в некоторых статьях и утверждается, что восстановить таким образом MBR удается не всегда.) В Windows 2000 имеются специальные команды fixboot и fixmbr; они запускаются из консоли восстановления. Если выполнить их обе в указанном порядке, Windows 2000 вновь будет загружаться нормально.
Перезапустить компьютер с загрузочной дискеты Linux и зарегистрироваться в системе с полномочиями root.
Ввести команду cd /etc и открыть файл lilo.conf. В начале файла есть ссылка на загрузочный раздел по умолчанию, например, /dev/hda.
С помощью любого редактора следует изменить это значение на те диск и раздел, куда была установлена Linux. Если она установлена в раздел /dev/hdc1, именно это и следует записать, т.е. поменять /dev/hda на /dev/hdc1. Если вы не помните, куда именно установлена Linux, найдите переменную image файла /etc/lilo.conf: в ней хранится нужное значение.
Выполнить команду /etc/lilo (без аргументов) для записи загрузчика в раздел /dev/hdc1. В ответ будет выдано предупреждение о том, что раздел не является первым на диске; именно это и нужно, чтобы загрузочная запись Windows 2000 осталась в целости и сохранности.
После этого следует выполнить шаги 6-8 приведенного ранее алгоритма.
Заметим, что эта сложная последовательность операций с двумя лишними перезагрузками потребовалась только для того, чтобы перенести загрузочный сектор Linux из MBR в первый сектор раздела, отведенного для Linux, и восстановить MBR от Windows.