Linux. Полное руководство.

1.7. Системы с двойной загрузкой.

Прежде чем устанавливать на своем компьютере вторую операционную систему, обязательно сделайте резервное копирование важных данных, потому что процесс установки операционной системы включает в себя переразбиение жесткого диска на разделы и форматирование созданных разделов. Переразбиение жесткого диска необходимо, потому что Linux и Windows используют разные файловые системы. Хотя существуют средства установки Linux в раздел FAT/FAT32 — Lin4Win, но я не рекомендую их использовать, т.к. в этом случае Linux работает крайне нестабильно и медленно.

Рассмотрим два наиболее распространенных варианта установки нескольких операционных систем:

1. Вы устанавливаете Windows 9x и Linux.

2. Вы устанавливаете Windows NT, Windows 9x и Linux.

1.7.1. Установка Windows 9x и Linux.

Главное правило при такой установке заключается в том, что сначала следует устанавливать Windows 9x, и только после этого Linux. Дело в том, что при установке Windows 9x перезаписывает главную загрузочную запись MBR (Master Boot Record) и загрузить Linux с диска вы уже не сможете. При этом очень напрашивается следующий совет: создайте загрузочную дискету для Linux! Если вы в очередной раз переустановите Windows, без этой дискеты загрузить Linux не удастся.

Что делать, если вы переустановили Windows и Linux больше не загружается:

♦ У вас есть загрузочная дискета для Linux. Загрузитесь, используя эту дискету. Затем зарегистрируйтесь в системе как пользователь root и введите команду lilo. Затем перезагрузите машину (команда reboot).

♦ У вас нет загрузочной дискеты: используйте программу loadlin — ее описание будет приведено ниже.

♦ Нет загрузочного диска и нет программы loadlin: переустановите Linux — после установки Windows, естественно. При установке Linux не форматируйте разделы, и ваши данные останутся неповрежденными.

Оптимальным загрузчиком при данной схеме установки (Windows 9x + Linux) будет LILO. Я бы не рекомендовал использование каких-либо посторонних загрузчиков, как бы стабильно они ни работали. Во время инсталляции Linux программа установки спросит, куда устанавливать LILO — выберите MBR.

В случае деинсталляции Linux (после того, как вы уже удалили разделы Linux) восстановить MBR, то есть удалить LILO, поможет команда fdisk /mbr. При этом нужно использовать программу fdisk из комплекта загрузочного диска Windows.

1.7.2. Установка Windows 9x, Windows NT/2000/XP и Linux.

Первый способ.

В этом способе используется загрузчик NTLoader. Выполните установку Windows 2000 в раздел NTFS, a Windows 9x — в раздел FAT/FAT32. Не забудьте приготовить четыре системных дискеты для восстановления! Напомню, что если вы хотите установить Windows 95, то ее нужно устанавливать первой, а потом Windows 2000. При установке Windows 98 и Windows 2000 порядок установки не имеет значения.

Устанавливать Linux нужно после установки Windows 2000. При этом необходимо учесть, что раздел Linux должен находиться до 1024 цилиндра! Это связано с «барьером 1024 цилиндра» — Linux может использовать разделы, расположенные после цилиндра 1024, но не может загружаться с таких разделов. В последних версиях Linux данная проблема устранена, но рассматриваемый способ установки требует, чтобы вы создали раздел Linux до цилиндра 1024 — иначе вам придется загружать Linux с дискеты.

Еще раз напоминаю: обязательно создайте загрузочную дискету для Linux. При установке LILO выберите MBR — Linux перезапишет главную загрузочную запись. Далее загрузите с четырех загрузочных дискет Windows 2000 и выберите пункт «Recover» в меню загрузчика и режим «Command mode». Затем зарегистрируйтесь в системе как Administrator. Выполните команды fixboot и fixmbr — теперь Windows 2000 будет нормально загружаться.

Примечание. Утилиты fixboot и fixmbr используются в Windows 2000 для восстановления главной загрузочной записи (MBR). Команда fixmbr практически аналогична команде fdisk /mbr в Windows 9x.

Затем загрузитесь с системной дискеты Linux и войдите в систему как root. Откройте в любом текстовом редакторе файл /etc/lilo.conf. В начале файла есть ссылка на загрузочный раздел по умолчанию, например, /dev/hda. Вам нужно изменить это значение на диск и раздел, в который была установлена ОС Linux, например /dev/hdb1.

Введите команду lilo и увидите, что загрузочный раздел не является первым на диске — именно это вам и нужно. В этом случае загрузочная запись Windows 2000 не будет повреждена. Запишите загрузчик Linux в файл /bootsect.lnx:

# dd if=/dev/hdb1 bs=512 count=1 of=/bootsect.lnx.

Теперь этот файл нужно скопировать на дискету:

# mount -t msdos /dev/fd0 /mnt.

# copy /bootsect.lnx /mnt.

# umount /mnt.

Перезагрузите Linux командой reboot и загрузите Windows 2000. Скопируйте файл bootsect.lnx в корневой каталог диска С: и присвойте ему атрибут read-only. Добавьте строку в файл boot.ini:

С:\bootsect.lnx ="Linux".

В результате при перезагрузке компьютера вы сможете загрузить Linux с помощью NTLoader.

Второй способ.

Существует более простой способ установки Linux и любой операционной системы семейства Microsoft Windows — Windows 9x, NT, 2000. Сначала нужно установить все ОС Windows, а потом установить Linux. При этом вместо начального загрузчика будет использоваться не NTLoader, a LILO. В этом случае вы получите двойное меню: сначала нужно выбрать между загрузкой Linux и Windows, а потом выбрать нужную вам ОС Windows — Windows 9x или NT/2000 — в зависимости оттого, какую систему вы установили, кроме Windows NT. Второе меню — это как раз меню загрузчика NTLoader.

Использование loadlin.

В этой книге я просто не мог не упомянуть о компактном загрузчике loadlin, который позволяет загрузить Linux из-под DOS или Windows 95.

Если вы используете Windows 98, loadlin работать у вас не будет — нужно перезагрузиться в режиме MS DOS. Кроме этого, следует учесть, что при использовании loadlin могут возникнуть проблемы с разделами FAT32. В этом случае создайте загрузочную дискету DOS ( format a: /s) и в autoexec.bat этой дискеты пропишите loadlin. Загрузить Linux из-под операционных систем Windows 98, Me или Windows 2000/NT вам не удастся в любом случае.

Использовать loadlin я рекомендую лишь в том случае, если при очередной переустановке Windows оказался «затертым» MBR (а вместе с ним и LILO), а системную дискету Linux вы не создали. Вызов программы loadlin имеет следующий формат (описание параметров приведено в табл. 1.2):

Loadlin <ядро> <root=корневая_ФС> <опции>

Или.

Loadlin @файл_с_параметрами.

Параметры программы loadlin Таблица 1.2.

Параметр Описание
Ядро Ядро, которое вы используете. Если у вас на данный момент нет именно того ядра, которое было установлено, можно взять практически любое (лучше не самое древнее). Обычно ядро можно взять на компакт-диске с дистрибутивом Linux. Оно вам потребуется всего один раз — нужно только загрузиться и перезаписать lilo (команда lilo)
root= корневая_ФС Корневая файловая система, например root=/dev/hda3
опции Опции, которые будут переданы ядру во время загрузки. Обычно используется ro vga=normal
@файл_с_параметрами Если параметры, которые вы передаете loadlin (а не ядру!) окажутся слишком длинными, то их можно записать в отдельный файл, а затем указать его имя в качестве параметра

Совет: можно включить загрузку Linux в стартовое меню DOS. Для этого отредактируйте свой config.sys следующим образом (см. листинг 1.1).

Листинг 1.1. Фрагмент файла config.sys.

[MENU].

МЕNUIТЕМ=DOS, Load DOS.

MENUITEM=LINUX, Load Linux.

MENUDEFAULT=DOS,5.

[LINUX].

Install=c:\loadlin\loadlin.exe c:\loadlin\kernel\vmlinuz root=/dev/hda3 ro vga=normal.

[DOS].

; ваш предыдущий config.sys.