Возможности
Прежде всего, позвольте мне заявить, что на одном ПК может быть более полудюжины операционных систем.
Я не выполнил точное задание, которое вы описываете. Я сделал близко к этому. (В свое время я поместил множество операционных систем на один жесткий диск.) В то время я узнал о многих требованиях. Так что у меня есть хорошее представление о том, о чем я говорю.
Полное руководство было бы слишком обширным для одного ответа SuperUser. В этом ответе я приведу несколько указателей. Не стесняйтесь задавать больше вопросов (включая создание совершенно новых вопросов SuperUser) как полезные. (Кроме того, делайте комментарии @TOOGAM, чтобы привлечь мое внимание, если хотите.)
невозможность
Учитель сказал, что 1 ГБ на компьютере будет достаточно для выполнения этого проекта.
Я вижу, что Windows 10 является частью списка, который вы добавили. Официальные системные требования указывают, что операционной системе требуется 16 ГБ пространства, все для себя. Таким образом, вы не собираетесь сделать это в 1 ГБ. Мой C:\Windows в настоящее время 17,3 ГБ (и использует Windows 10, версия 1607).
Конечно, если вы сделаете оборудование слишком большим / способным / новым, вы можете превысить ограничения, наложенные некоторыми более старыми операционными системами.
Требования к процессору
Windows Server 2012 требует 64-разрядного процессора.
Многие другие операционные системы поддерживают 32-разрядные процессоры x86. Например, вы упомянули Солярис. Может быть, последняя версия Solaris не делает, но более старые версии, вероятно, делают. Более старые версии также, вероятно, будут меньше (занимают меньше места на диске) и могут быть более желательными, чтобы набрать очки для этого конкретного проекта.
Каждая система Win9x (Win95, 98 и ME) нуждается в 32-битном процессоре с поддержкой 16-битного кода. Как я отметил в комментарии в другом месте на этой странице, это должно быть возможно на основе того, что я узнал. Хотя, если бы новые чипы x64 оптимизировали некоторую унаследованную поддержку, на которой я обучался (или если они когда-либо будут в будущем), это могло бы быть проблемой.
Mac OS X когда-то не была предназначена для x86. Однако с тех пор он получил некоторую поддержку для оборудования x86. У меня есть подозрение, что у Mac OS X могут быть какие-то другие требования, которые могут быть немного необычными, поэтому я бы внимательно посмотрел на это (то есть изучил бы это), прежде чем планировать / рассчитывать на эту работу. Другие операционные системы, скорее всего, имели версии, которые работают с x86 или x64.
Один подход: использование образов ОС
В худшем случае это должно быть выполнимо. Даже если это означает:
-
Загрузка прямо в операционную систему, настраиваемая пользователем
-
Эта операционная система использует dd = для установки выбранной вами операционной системы, а затем изменяет загрузочную запись (например, MBR, хотя установка UEFI/GPT может быть немного более сложной) и перезагружается.
-
Это затем загрузит операционную систему, которую вы хотели; все равно вам нужно, чтобы эта операционная система изменила процесс загрузки, чтобы вернуться в вашу операционную систему "меню". (Как бывший инструктор, если бы я дал это задание, я был бы впечатлен размещением всех операционных систем на одном диске и, скорее всего, получил бы полный балл, если:
-
студент не проигнорировал некоторые инструкции ... например, если бы я предоставил более простой способ делать вещи
-
ситуация хорошо сработала. Я был бы счастлив видеть, что если бы была выбрана другая операционная система, то выполнялась резервная копия нужной операционной системы на случай, если пользователь внес какие-либо изменения (или операционная система применила какие-либо обновления), поэтому обновления не были потеряны.
Теперь могут быть более простые способы, но, как показано выше, в теории все должно работать.
Бок о бок
Если вы хотите, чтобы все системы были установлены на жестком диске одновременно, это может оказаться более сложным (и потенциально невозможным для некоторых комбинаций).
Одним из требований является проверка совместимости оборудования. Какие процессоры поддерживаются? Есть ли другие требования к оборудованию, на которые стоит обратить внимание? (Найти минимальные требования обычно довольно просто. Найти максимальные требования, например, сказать, что система не работает так хорошо с некоторым новым оборудованием, может оказаться немного сложнее.)
Один шаг, который я должен сделать внимательно, это выяснить, каковы требования к загрузке каждой операционной системы. Некоторые операционные системы подходят для загрузки с логического диска, другие - нет. К сожалению, это может быть не так заметно задокументировано. В моем старом проекте я обнаружил некоторые эксперименты. Было бы здорово использовать другую машину (возможно, виртуальные машины) для экспериментов, чтобы вы не мешали продвижению основного проекта во время эксперимента.
Кроме того, выясните, какие файловые системы может использовать каждая операционная система. Например, Windows 95 в основном ограничена FAT16 и не поддерживает FAT32, хотя второй выпуск Windows 95 (чаще всего называется "Windows 95 Operating System Release 2", или "Win95 OSR2", и, возможно, также называется Win95B) действительно поддерживал FAT32. Более новые операционные системы Windows захотят поддерживать NTFS (и могут быть разные версии NTFS). Многие другие операционные системы могут поддерживать ext2 (особенно Linux, но также и другие Unix-подобные платформы), но могут предпочесть, по крайней мере, загрузиться с тома, который использует свою собственную файловую систему. Выясните, что там возможно.
Поймите, что есть много загрузчиков, которые могут загружать другие операционные системы. Например, Windows XP / Server 2003 использует загрузчик, который может указывать файл, который содержит байты загрузочного сектора. Кроме того, возможно, чтобы один загрузчик запускал другой загрузчик. Это то, что файл конфигурации grub подразумевает под словом "цепочка". ("загрузка по цепочке") Вам может потребоваться указать значения тайм-аута, чтобы некоторые из более поздних загрузчиков были просто невидимы (даже если используются несколько загрузчиков).
Скрытие перегородок
Также может быть полезно изменить тип раздела / значение ID. например:
-
Определите текущее значение типа / идентификатора раздела. например, FAT32 может использовать 0x0B (или что-то еще, в зависимости от таких вещей, как размер диска)
-
Запишите старое значение типа раздела / идентификатора
-
Измени это. например, до 0xED.
-
Это может быть использовано для эффективного скрытия Win95 / 98, пока вы устанавливаете Win ME
-
Идите вперед и установите желаемую операционную систему (например, Win ME)
-
После установки верните значение типа / идентификатора раздела (например, измените значение с 0xED на 0x08)
-
Посмотрите, хорошо ли загружаются все ваши операционные системы Microsoft. (Буквы дисков могут отличаться от этого процесса. Это может быть проблематично.)
Я предлагаю попробовать:
-
Менеджер разделов
-
Отличный менеджер разделов для DOS
-
или XFDisk (например, возможно, легко доступный как часть загрузочного диска FreeDOS)
-
В противном случае мне больше нравится fdisk для OpenBSD, который можно использовать, загрузив установочный компакт-диск OpenBSD
Первые два из них могут установить загрузчик, что может быть неплохо, за исключением того, что я думаю, что вам может понадобиться более гибкий загрузчик для вашего задания. Я не рекомендую их сейчас из-за их загрузчика, а потому что я ожидаю, что они легко поддержат изменение идентификатора типа раздела. Кроме того, первый (RPM) и последний (OpenBSD) показывают границы с большой ясностью. Эти рекомендации основаны на некотором старом опыте; если есть какие-то несовместимости с жесткими дисками больших размеров, я не осознаю (или вспоминаю) их.
Совместное использование разделов
Некоторые операционные системы могут сосуществовать в одном разделе. В некоторых случаях это может работать очень хорошо, а в других - не очень.
Вот пример: Win98 будет работать с FAT16. Так будет Win95. (Хотя, если у вас Win95 OSR2, я мог бы просто использовать FAT32.) Процесс загрузки Windows 98 может загружать файлы Windows 95. (Это может быть сделано автоматически, если сначала установить Windows 95, а затем выполнить обновление до Windows 98? Хотя, может быть, вам нужен установочный диск Windows 98 Upgrade, чтобы это произошло довольно автоматически?) В принципе, это может быть следующим:
-
Установите Windows 95 на C:\Win95
-
Создайте загрузочный диск, чтобы вы могли вносить изменения, не загружаясь с жесткого диска. (например, используйте "дискету". Или надежно сможет загрузиться с CD и добраться до командной строки. Удержание F8 или F5 или Ctrl, или, возможно, Shift и нажатие либо F8, либо F5, может быть полезным.)
-
Переименуйте command.com в Win95Cmd.com
-
Переименуйте config.sys в config.w40
-
Бежать:
echo SHELL=C:\Win95\Win95Cmd.com >> C:\config.w40
-
Более того, используйте более гибкий интерпретатор командной строки, такой как 4DOS, который будет работать с несколькими операционными системами. Затем, если вы случайно используете неправильный файл CONFIG.SYS, ваша система все равно будет загружаться. Используйте SHELL = C:\ 4DOS\ 4DOS.Com (после размещения там 4DOS).
-
Переименуйте autoexec.bat в autoexec.w40
-
Переименуйте io.sys в io.w40
-
Переименуйте msdos.sys в msdos.w40
-
Избегайте использования любого из указанных выше имен файлов, заканчивающихся на .old (например, autoexec.old)
-
Также не используйте имя файла C:\ winboot.ini
-
Сделайте резервную копию всех этих файлов. Если что-то будет перезаписано, его будет гораздо проще восстановить, если у вас есть удобная резервная копия. (Просто сделайте копию в C:\ SYSBACK\ copy1\ или что-то в этом роде.)
-
Установите Windows 98 в другой каталог (например, C:\Win98)
-
Поместите BootMulti = 1 в раздел [options] в C:\ MSDOS.SYS в Win98 (или C:\WinBoot.ini, если вы переименовали его в это)
-
Кроме того, поместите BootMenu = 1 там.
-
Также, возможно, BootMenuDelay = 15
-
Использование BootMenu = 1 на самом деле плохо для назначения, так как создает видимое меню, но будет полезно для проверки / тестирования.
-
Позже вы можете использовать BootMenuDefault = и, когда все заработает как нужно, перевернуть BootMenu обратно на 0.
-
Снова создайте резервные копии этих файлов (например, в C:\ SYSBACK\ copy2\ или что-то в этом роде)
WinME не может быть так приятно. (Поиск Google: может быть полезным автоматический запуск графического интерфейса Windows ME% windir%\system32\vmm32.vxd 4DOS ?)
Образовательная ценность
В день, когда существует Windows 10, я подвергаю сомнению образовательную ценность игры с Windows ME. Конечно, играть с разными операционными системами может быть более познавательно, чем играть в новейшие видеоигры, но почему бы не включить в них более достойных соперников, например, больше операционных систем BSD, которые могут оказаться более полезными, если технология будет продолжаться. Ностальгическая часть меня хотела бы потратить время на то, чтобы делать это, и учить других тому, как это делать, как я нахожу это забавным. Однако, когда я думаю о том, как это будет полезно для карьеры людей, я должен задаться вопросом. Как преподаватель ИТ в колледже, я не смог придумать хорошее обоснование того, как это будет полезно для студентов. Хотя я не посещаю Профессиональную школу системного проектирования в месте, где в основном говорят по-испански, я полагаю, что лицензионные требования Microsoft ограничат полезность использования некоторых из этих операционных систем.
Если вы попали в ловушку, вы можете попросить инструктора о каких-либо указаниях или, возможно, переговорах. Может быть, успешная реализация другой функции может стоить несколько очков.