12.11. Добавление Windows 95/98/ME в систему Linux
Проблема
Требуется организовать на одном компьютере альтернативную загрузку Linux и Windows 95/98/ME. Допустим, вы работаете с приложениями на обеих платформах или администрируете небольшую тестовую сеть и хотите установить как можно больше разных операционных систем, чтобы использовать разные комбинации операционных систем без использования множества компьютеров. Возможно, вы уже пытались установить Windows 95/98/ME в системе Linux, но у вас ничего не получилось — программа установки заявила, что не может отформатировать диск C: (и хорошо, иначе бы она стёрла установленные экземпляры Linux). Вы не хотите использовать эмуляторы типа VMWare, позволяющие работать с двумя системами одновременно без перезагрузки, потому что они стоят слишком дорого, или ваше оборудование не справится с такой нагрузкой.
Решение
Известно несколько хитроумных приёмов для добавления Windows 95/98/ME в систему Linux. Вам придётся скрыть разделы и восстановить GRUB в записи MBR после установки Windows, потому что Windows заменяет системный загрузчик. Для установки Windows 95/98/ME необходимо заранее подготовить первичный раздел. К сожалению, GRUB не поддерживает загрузку с CD-ROM, поэтому вам потребуется загрузочная дискета Windows. Если у вас ещё нет такой дискеты, создайте её в Windows.
Установка Windows 95/98/ME в раздел /dev/hda4 производится следующим образом:
- Загрузите командную консоль GRUB.
- Вставьте загрузочную дискету Windows.
- Скройте все существующие разделы в командной строке GRUB:
grub> hide (hd0,0) grub> hide (hd0,1) grub> hide (hd0,2)
- Загрузите Windows с дискеты:
grub> chainloader (fd0) +1 grub> boot
- Создайте первичный раздел DOS для установки Windows, используя команду MS-DOS fdisk. После создания разделов вставьте компакт-диск Windows и запустите программу установки:
D:\> setup
- После того как система установится, Windows заменит MBR. Восстановите GRUB:
grub> root (hd0,0) grub> setup (hd0)
- Извлеките дискету GRUB, перезагрузите компьютер, загрузите Linux и отредактируйте файл
menu.lst
:title Windows 98 on /dev/hda4 hide (hd0,0) hide (hd0,1) hide (hd0,2) unhide (hd0,3) rootnoverify (hd0,3) makeactive chainloader +1
Комментарий
Последние три параметра стоит рассмотреть подробнее:
- rootnoverify — не пытаться читать или монтировать раздел;
- makeactive — установить флаг загрузочного раздела (необходимо для Windows);
- chainloader +1 — ссылка на загрузчик операционных систем, не поддерживаемых GRUB напрямую (Windows относится к их числу).
Более простой способ организации совместной работы Windows 95/98/ME с Linux — это сначала установить Windows, а затем добавить Linux. В этом случае программа установки Linux автоматически запишет GRUB в MBR и создаст запись для Windows в меню GRUB.
См. также
Microsoft Knowledge Base Article 217210: «How to Multiple Boot Windows XP, Windows 2000, Windows NT, Windows 95, Windows 98, Windows ME, and MS-DOS»; раздел 9.16; The Grub Manual (http://www.gnu.org/software/manual/grub.html).