Мини-HOWTO: "Использование загрузчика NT OS с Linux"

В этом документе содержится информация о том, как использовать загрузчик Windows NT вместе с Linux

[Bernd Reichert (reichert@dial.eunet.ch). Перевод Станислав Рогин (sam@asplinux.ru)]

Вступление

Этот документ описывает методику использования системы загрузки Windows NT для загрузки Linux. Описанные здесь процедуры тестировались на Windows NT 4.0 WS и Linux 2.0.


Как работает загрузчик NT OS

Загрузчик NT OS сохраняет загрузочные сектора других операционных систем в виде файлов. При старте считывается нужный файл и начинается загрузка или Windows NT в выбранном режиме, или какой-то другой операционной системы.


Советы и подсказки по установке Windows NT и Linux на одном компьютере

Установка Windows NT

Сначала установите Windows NT. Если вы хотите использовать файловую систему NTFS для разделов Windows NT, то помните, что на настоящее время в Linux нет поддержки NTFS. Тестовую версию драйвера (только для чтения) NTFS можно найти по адресу http://www.informatik.hu-berlin.de/˜loewis/ntfs. Для обмена информацией вы можете создать отдельный FAT-раздел, или передавать ее через флоппи-диски, отформатированные под DOS.


Создание разделов на жестком диске

При совместном использовании Windows NT и Linux на одном компьютере не рекомендуется использовать NT "Disk Administartor" для создания основного Linux-раздела и раздела подкачки. Его лучше запускать только для получения информации о свободном для новых разделов месте на винчестере. А вообще, желательно использовать Linux-программу fdisk.


Инсталляция Linux

Загрузите Linux с дискет, создайте основной раздел и раздел подкачки. Fdisk выводит NTFS-разделы, как HPFS. Так и должно быть. Снова перезагрузитесь с дискет, и продолжайте устанавливать Linux так, как вам хочется, в необходимой конфигурации.

Если процедура установки Linux сообщит вам, что у вас есть возможность подключить раздел HPFS, обнаруженный на компьютере, то ПРОИГНОРИРУЙТЕ это предложение.


Lilo

Когда вы начнете работу с Lilo, то определите ваш основной раздел Linux как загрузочное устройство, так как Master Boot Record (MBR) вашего жесткого диска используется Windows NT. Проверьте следующее - записи о корневом (root) и загрузочном (boot) устройстве в конфигурационном файле /etc/lilo.conf должны быть идентичны. Если у вас стоит IDE-винчестер, и Linux установлен на втором разделе, то запись о загрузочном устройстве в файле /etc/lilo.conf будет выглядеть так:

boot=/dev/hda2

Если у вас стоит два винчестера, и Linux установлен на первый раздел на втором диске, то запись о загрузочном устройстве в файле /etc/lilo.conf будет выглядеть так:

boot=/dev/hdb1

Запускайте lilo и Linux соответствующих версий! Если вы не помните номер версии вашей системы, то загрузитесь с дискеты, и посмотрите, какую версию вы используете.

Если сейчас вы, вдруг, не можете загрузить Windows NT, то появились серьезные проблемы. Надеемся, что вы не забыли создать загрузочную дискету.


Bootpart

Для NT существует программа bootpart, созданная G. Vollant, которая может помочь вам выполнить действия, описанные в последующих двух пунктах данного руководства. Bootpart можно найти по адресу http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm.

Если же вы сами хотите понять, как взаимодействуют системы NT и Linux, то проанализируйте и выполните действия, описанные в пунктах 5 и 6 руководства.


Действия в Linux

Пока не исправлены конфигурационные файлы NT, придется загружать Linux с дискет.

Сейчас необходимо получить образ стартового загрузочного сектора с загрузочного раздела Linux. Если этот раздел - /dev/hda2, то команда должна быть такой:

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

Если размер файла bootsect.lnx больше, чем 512 байт, то что-то прошло неправильно.

Теперь скопируем файл bootsect.lnx на отформатированную DOS-дискету (если вы таким образом обмениваетесь информацией с NTFS-Windows-разделом)

Скопировать файл можно командой

# mcopy /bootsect.lnx a:

или командами

# mount -t msdos /dev/fd0 /mnt
# copy /bootsect.lnx /mnt
# umount /mnt


Действия в Windows NT

Скопируйте полученный файл с дискеты в C:\\bootsect.lnx. Не мне вам объяснять, как это делать.

Чем является файл lilo.conf для Linux, тем же является и файл c:\\boot.ini для Windows NT. Снимите с него атрибуты System и Read-Only командой:

C:\attrib -s -r c:\boot.ini 

Поменяем содержимое файла boot.ini (в любом текстовом редакторе, например в "notepad"), таким вот образом:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ... 
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ...
C:\BOOTSECT.LNX="Linux"

В нашем случае, в файл была добавлена только последняя строчка. Восстановите прежние атрибуты файла (после того, как сохраните boot.ini) командой:

C:\attrib +s +r c:\boot.ini 

Теперь, после выключения Windows NT и перезагрузки компьютера, вы должны увидеть следующее:

  OS Loader V4.00
 
  Please select the operating system to start:

  Windows NT Workstation Version 4.0
  Windows NT Workstation Version 4.0 [VGA mode]
  Linux

Выберите пункт меню Linux и получите долгожданную строчку


  LILO loading zImage ....


Все по новой...

Как только во время работы изменится загрузочный сектор основного раздела Linux, вам придется повторить операцию с копированием файла bootsect.lnx в C:\BOOTSECT.LNX. Такое может произойти, например, после того, как вы обновите версию вашей системы или переустановите lilo. Понятно, что подобная комбинация систем совсем не предназначена для отладки и тестирования экспериментальных версий ядер Linux.


Диагностика проблем

Если все работает совсем не так, как вы ожидали, то для начала проверьте саму возможность загрузки и нормальной работы Linux с помощью загрузочной дискеты. Если ваш основной раздел - это /dev/hdb1, то в файле /etc/lilo.conf вы должны увидеть следующие строки:


root=/dev/hdb1
boot=/dev/fd0

Вставьте загрузочную дискету и запустите lilo. Если Linux не запускается с /dev/hdb1, то, соответственно, и загрузчик NT OS не сможет его запустить. Если вы видите много символов 01 01 01 01, то это означает, что основной раздел Linux недоступен. Проверьте, правильно ли определены в BIOS ваши винчестеры.

Если вы, с помощью дискеты, смогли загрузить Linux, то осталось всего лишь скопировать загрузочный сектор с дискеты для загрузчика NT OS.

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

Можно сохранить эту дискету для аварийной загрузки на случай, если вдруг что-нибудь случится с системой Windows NT.


Первоисточники

  • Мини-HOWTO Linux+WindowsNT

  • Часто задаваемые вопросы (FAQ) для FreeBSD 2.X


Благодарности

  • Спасибо Xiaoming Yi <z3c20@ttacs.ttu.edu> за подсказку о том, что описанный здесь алгоритм действий работает не только на первом винчестере, а на любом жестком диске в компьютере.

  • Спасибо Frank Dennler <Frank.Dennler@zkb.ch> за разъяснение способа работы с дискетой


Отзывы и предложения

Мы с уважением примем любые комментарии и примечания о работе вышеописанной системы.


Авторские права

Авторские права на русский перевод этого текста принадлежат © 2000 ASPLinux Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.

Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: или к координатору русского перевода Linux HOWTO компании ASPLinux по адресу

[Источник: www.linuxdoc.ru]

[ опубликовано 26/09/2003 ]

Bernd Reichert (reichert@dial.eunet.ch). Перевод Станислав Рогин (sam@asplinux.ru) - Мини-HOWTO: "Использование загрузчика NT OS с Linux"   Версия для печати