Загрузчик операционной системы GRUB: настройка, описание. Установка и восстановление GRUB

  • Софт
  • Этот рассказ - частный случай того, через какие дебри знаний приходится пробираться при желании свободно работать с несколькими ОС на одном диске. Факты показывают, что порядка в этой дисциплине нет, и новые комплектующие привносят, вероятно свои новые проблемы в порядок установки операционных систем. Возможно, это даст энтузиастам, не имевшим такого опыта, общий взгляд на то, что установка ОС не всегда окажется простой и однозначной. Впрочем, драматизма в этом деле меньше, чем в случаях с телекомами, ОпСОСами, ПР и Сбербанком. Всё так или иначе, но решается.

    Здесь нет набора инструкций, как сделать установку - все они есть, уже написанные и разбросанные по форумам и блогам. По ключевым словам и ссылкам можно будет найти всё необходимое. Суть в том, что чётких инструкций нет. Есть основополагающие правила строения разделов на дисках компьютера, стандартизированные ещё в 90-х. В зависимости от новизны биоса и системы в известный порядок всегда внесутся свои проблемы, и важно уметь искать решения, примерно зная общее положение дел. С таким подходом и были даны ссылки, а главное - как же нечётко это всё настраивается!

    Случилось так, что на субноутбук Acer Aspire One 756 (Sandy Bridge Celeron 887), приобретённый изначально почти без ОС (установлена Linpus без иксов), были установлены операционные системы (в порядке установки):
    1) WinXP 32 bit - из сборки размером примерно 720 MБ;
    2) Win7 64 bit - из некоторой сборки размером около 2 ГБ;
    3) Xubuntu 13.04 64 bit - из свежего дистрибутива на 800 МБ;

    Работают не все загрузочные флешки

    Ноутбук - достаточно свежий по времени выхода на рынок (примерно апрель 2012), а сейчас (в 2013) появились в продаже и его более новые модификации на процессоре Ivy Bridge. Новизна решений и биоса, поддержка только новых ОС, скорее всего привели к сумме проблем, которых практически не наблюдается при работе с другими компьютерами и ноутбуками. Трудности установки систем через загрузочные флешки отмечается многими, у кого система не установилась сразу и пришлось искать варианты. Пример данного ноутбука - яркий случай подобных проблем, скорее всего, связанных с особенностями биосов некоторых моделей.

    Все системы загружались из загрузочных флешек, и в этом была некоторая проблема, потому что не все из них могли установиться. Сначала много флешек при установке вызывали зависание ноутбука, как только нажималась какая-либо клавиша клавиатуры. Поэтому первой системой установилась та (Win XP), которая почему-то смогла загрузиться с флешки (видимой как USB-CDROM в отличие от USB-FDD и USB-HDD на других флешах). Наверное, всё бы работало с настоящего USB-CDROM, но покупать его ради установки системы - как-то нелогично, если для этого есть флешки.

    У ноутбука, как у каждого устройства, есть свои особенности. Например, видимая в WinXP память была всего 2.6 ГБ, а не 3.25 (видеопамять занимает только 128 ГБ ОЗУ, поэтому почему система не видит 3.1 ГБ - загадка). Вообще, для этой модели ноутбука Acer не выпустила драйверов для Win XP и для Linux - только Win7 и Win8. Драйверы собирались по частям по мере обновлений для устройств, входящих в компьютер. Подбор драйверов занял не менее 3 дней. В результате, в WinXP драйверы кое-что не умели:
    1) не чувствовали разрада батареи - никогда. Поэтому компьютер был слеп к разраяду.
    2) пропадал звук при выходе из гибернации. Поэтому приходилось перезагружать для появления звука (возможно, подбор и обновление драйверов системы и звука исправил бы ситуацию).
    3) упомянутая видимая память 2.6 ГБ.
    Остальное работало: Bluetooth, хорошо работающий тачпад с массой настроек и без сбоев, WiFi, вебкамера и микрофон, звук, SD-ридер.

    Изначально на ноутбуке была система Linpus без графической оболочки. Диск был разделён надвое и в старшую часть установлена WinXP. Установлена система временно, потому что объём доступной памяти для 32-разрядной ОС изначально был недостаточен для всех целей применения.

    Устанавливаются не все сборки Win7/Win8

    С этим букетом долго протянуть было нельзя, поэтому при первой возможности на вторую половину диска поставлена Win7 как система, поддержанная производителем. Попыток установки было несколько - Сначала Win8 - под конец установки бодрое сообщение, что система не может быть установлена и следует переустановить. И так - раза 4 подряд. C другой сборкой другого автора - тоже (сборка - тоже урезанная, 1.9 GB). Но уже хорошо то, что найдена флеш и способ формирования загрузочной записи (через Ultra-ISO), который не вешает компьютер в самом начале. Правда, и те, которые вешали, тоже формировались через Ultra-ISO. Разница была в носителях и их чипсетах и, возможно, в выборе типа копирования (USB-HDD с плюсом или без).

    Ладно, с имеющейся сборкой Win8 (Optim, 1.7 ГБ) не получилось. Пробуем Win 7 x86 Optim того же автора-сборщика. Интересно, что симптомы те же - отбой в конце загрузки и просьба переустановить. Ладно, для данного «железа» не сохранилось в дистрибутиве что-то важное. Берём другую сборку - тот же Optim, но x86+x64 (а надо было установить в конце концов x64) - 1.9 Гб. На этот раз почему-то удалось установить. Итого, из нескольких компактных сборок сработала одна, но зато не надо было искать и освобождать большую флеш для установки. Для флеша будет важно, что в сборке имеется режим восстановления системы - поможет для восстановления MBR.

    После установки 80% драйверов работали, но хорошо работали меньше половины - видео распозналось как стандартный монитор, хотя могло работать с номинальным разрешением и небольшой скоростью. Наибольшие проблемы вызвал WiFi Atheros - подошёл только самый новый драйвер версии 10 для Win7 x64. Практически все драйверы пришлось загрузить из сети и установить, пользуясь как сайтом официальной поддержки, так и некоторыми другими. В списке драйверов приходилось вычитывать, какие из них работают под Win7x64. Иногда информация была ошибочной, и поиски драйвера продолжались. Так, часов за 7 удалось собрать и установить все драйверы для этой ОС. Тачпад продолжал и в этой системе работать очень хорошо, что, как известно для тачпадов - редкость (из-за драйверов и их поддержки). Всё в системе стало работать абсолютно корректно. Нормально читается память размером 6 ГБ (планки 2+4, апгрейжена одна планка). Хотя тоже как-то странно много её забирается системой - порядка 1 ГБ, не считая программ, видимых в диспетчере задач. Возможно, так и надо, а возможно, есть скрытые траты сверх видеопамяти, как это наблюдалось в WinXP. Но там это было сильно критично, а в x64 - не очень. Память можно расширить и до 8, и до 12 ГБ, и до 16.

    Но теперь, кроме Win7, которая стала видеть оба раздела диска, нужно установить на оставшиеся свободные 26 ГБ Линукс (Ubuntu). Необходимо для специфических задач разработки, несмотря на то, что, скорее всего, будут некоторые проблемы с драйверами после идеальной работы Win7.

    Аппаратная мощность этого компьютера невелика - стоит 2-ядерный Celeron, показывающий в тестах производительность примерно в 60% от мощности средних нормальных ноутбуков. Он - субноутбук, поэтому за компактность и вес приходится платить. Догнать производительность можно будет за счёт SSD, который для этого субноубука требуется низкий - 7 мм. Поэтому установки систем носят предварительный характер, и их, возможно, придётся повторить на SSD.

    Xubuntu 12 с флеш не ставилась, но Xubuntu.13 - без проблем

    Как раз в день установки линукса вышла Ubuntu 13.04 , которая была выбрана в поставке Xubuntu (800МБ). В отличие от прежней попытки создания загрузочной флешки на предыдущей Xubunu 12, она запускалась и устанавливалась на ноутбуке, а прежняя - запускалась на стационарном компьютере без проблем, но висла при первом же нажатии на клавиатуру в этом ноутбуке. Вероятно - это проблемы поддержки нового «железа». В новой версии появвился формат EFI в дистрибутиве, и именно он смог работать на ноутбуке, а видимый в том же меню загрузки USB-HDD, как обычно, не смог (да, одна флеш в меню выбора устройства загрузки виделась в 2 вариантах, в 2 строчках, и это наблюдалось в 13-й Xubuntu и не наблюдалось в 12-й).

    Что имеем с Xubuntu:
    1) регулятор яркости экрана - отображается, но яркость не регулируется.
    2) с подхватом WiFi, питания, звука и BlueTooth - порядок. SD-ридер - тоже автоматически монтируется.
    3) управление настройками системы Xfce намного беднее, чем в Гноме 3 в стандартной поставке. Придётся что-то доустанавливать для удобств, но это уже детали системы.

    Доступ к 3 системам ОС

    Зато появился вопрос, как теперь сделать доступными все 3 сисемы из меню загрузки. 2 системы научились грузиться с помощью программы-загрузчика ЕasyBCD довольно легко. После установки Win 7 она одна появлялась поначалу при загрузке системы, без альтернатив. Её загрузчик просто затёр MBR (Master Boot Record) WindowsXP. В ЕasyBCD есть механизмы восстановления MBR для ряда популярных систем. Несколько кликов мышью и несколько пробных перезагрузок - и принцип формирования меню в этой программе понятен, хотя нельзя сказать, что интерфейс прост. Он несколько запутан тем, что программа умеет много, и эти продвинутые возможности (написать собственный загрузчик на базе Grub4dos) надо отразить.

    Но после доустановки на 2-й раздел новой системы Linux этот загрузчик не смог так же подхватитьпросто свежесозданную систему. Вероятно, дело было в том, что процесс установки предполагал создание MBR для линукса с дальнейшей доустановкой после перезагрузки, а в условиях 3 разделов и 3 систем получилось, что я потребовал наличие загрузчика сразу, да ещё встроенного в ЕasyBCD. Прямой переход на Линукс-раздел показывал, что там загрузчика нет. Решение нашлось с другой, неожиданной строны. Я просто стал искать способы восстановления Ubuntu. Попалась программа Boot-Repair для восстановления загрузки Ubuntu из Ubuntu Live CD - она и пригодилась, чтобы стереть неработающий (почему-то) Grub2 установленного Линукса и поставить сверху всех загрузчиков новый Grub.

    Теперь стало 2 загрузчика на диске, что, конечно, излишне. Но уже хорошо, что все 3 системы работают. Теперь, повторив попытку установки Линукса в загрузчик ЕasyBCD через Grub2, получаем успешную загрузку этого загрузчика. Сохранив ЕasyBCD в MBR, получаем искомое меню из 3 систем. С 3 системами уже можно независимо работать, видеть все их файлы и развивать, устанавливая программы.

    Итоги

    В отличие от беспроблемных случаев десктопов, которые и с компакт-дисков устанавливают системы, и с флешек, и часто их аппаратура поддержана более полно на уровне драйверов, на бюджетных ноутбуках можно столкнуться с проблемами, отсутствующими у других компьютеров. Это надо иметь в виду при работе с настройкой таких ноутбуков.

    Почему нет желания разобраться и сделать полные инструкции, полноценные загрузчики? Есть подозрение, что бороться приходится с отдельными проявлениями сырости биосов, которые встречаются тем чаще, чем дешевле модели ноутбуков. Для хорошей установки надо построить свой загрузчик на базе Grub4dos (а это - десятки команд) и заодно разобраться, как построить конфигурацию Grub2 для линукса - т.е. стать специалистом по загрузчикам, изучить 1-2 маленьких специализированных языка. Несомненно, для этого дела есть энтузиасты, которые прошли и скажут, что это просто и интересно. Но, к сожалению, отнимает много времени, когда задачи использования систем ставят свои, совершенно другие задачи, а ресурс времени и энтузиазма ограничен. Проще взять и попробовать несколько известных вариантов установок и остановиться на работающем.

    Это - совершенно обычные будни пользователя, который решил работать с несколькими системами сразу. На специализированных форумах по системам (OsZone, Ru-Board, ...) проблемам и решениям в установке систем уделены десятки страниц. Новое «железо», к сожалению, тоже привносит сложности в этот процесс. То, что вчера работало на десктопах, почему-то перестаёт работать (биос, новые решения, новые ОС) на некоторых ноутбуках. Некоторые старые разработки (

    По мере того как увеличивается количество операционных систем для сегмента настольных компьютеров все более интересным и актуальным становится вопрос двойной, тройной и так далее загрузки. То есть возможности запускать на одном компьютере более одной операционной системы.

    Ubuntu Linux поверх Windows XP или Vista, Windows XP вместе с Vista, FreeBSD и Windows - можно придумать и гораздо больше комбинаций. Ничто не мешает, не только придумывать, но и реализовывать самые замысловатые комбинации операционных систем. Причем это можно делать не только на одном компьютере, но и на одном диске - емкость современных жестких дисков (они же HDD, они же винты, они же винчестеры) позволяет "впихнуть" на один такой диск хоть 20 различных операционных систем.

    Немного теории

    Процесс загрузки компьютера, относящегося к семейству IBM PC выглядит следующим образом:

    При подаче питания на материнскую плату, первым делом загружается и выполняется небольшая программа, записанная в специальной микросхеме материнской платы - BIOS. Эта программа проверяет наличие и правильность функционирования критичных компонентов - оперативной памяти, видеоадаптера, дисков. После выполнения такого теста программа BIOS проверяет подключенные к материнской плате диски - на каждом из них она ищет специальную отметку, которая указывает на то, что диск загрузочный. Если такая отметка обнаруживается, то программа BIOS загружает с этого диска записанную на нем программу-загрузчик и передает ей управление.

    И вот этот загрузчик, записанный на диске, и загружает ту или иную операционную систему. Он представляет собой небольшую программу, которая выполняет только два действия:

    1. Обнаружить на определенной файловой системе определенный программный файл (или файлы)
    2. Загрузить этот файл (или файлы) в оперативную память и передать им управление.

    Такие программы-загрузчики бывают двух типов:

    • "Абстрактные" - созданные для загрузки различных операционных систем.
    • "Семейные" - программы, которые умеют загружать лишь одну операционную систему или несколько ОС одного семейства, но разных версий.

    Из первых самый популярный загрузчик под названием GRUB. Он умеет загружать более десяти типов операционных систем. Самый распространенный среди "семейных" это ntldr - загрузчик ОС Windows 2k, XP, 2k3 и его новейшая версия bootmgr загружающий Windows Vista и Windows 7. Кроме этих двух существует еще десятка два различных загрузчиков.

    Почему так много? Причина проста - пока еще не существует универсального загрузчика, пригодного на все случаи жизни.

    К примеру, GRUB, самый мощный на сегодняшний день, не может загружать образы дисков в формате ISO, но это умеет делать syslinux.

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

    Например, через один из "примитивных" загрузчиков ntldr можно при помощи простого трюка запустить любое количество других загрузчиков, а это дает возможность реализовать самые изощренные фантазии по мультизагрузке.

    От старта одной лишь MS Windows, до запуска всех версий Windows, плюс десяток версий Linux, плюс BSD, плюс Apple, плюс десяток файлов-образов дисков и дискет, плюс …

    Иными словами тот вариант мультизагрузки, который нужен вам, быть может, нельзя реализовать при помощи какого-то одного загрузчика, но комбинацией из двух или трех загрузчиков можно запускать любой пакет операционных систем и файлов-образов.

    Наличие большого количества загрузчиков и возможность их запуска друг из друга дают еще и вариативность при решении одной и той же задачи. Например, двойную загрузку Windows XP плюс Linux можно реализовать как минимум двумя путями - либо использованием одного загрузчика GRUB для обеих ОС, либо комбинацией загрузчиков ntldr + GRUB.

    Еще немного теории

    Помимо теоретических вопросов по загрузке операционных систем, для организации мультизагрузочных систем важно разбираться в теории использования адресного пространства дисков, на которых эти самые операционные системы размещаются.

    Та часть парадигмы компьютеров семейства IBM PC, которая относится к использованию дисков, определяет, что так называемое "сырое" дисковое пространство должно быть поделено на разделы, затем на этих разделах должны быть созданы файловые системы и только после этого, уже на эти файловые системы можно записывать программы и данные, в том числе операционные системы.

    В рамках парадигмы IBM PC допускается деление "сырого" адресного пространства жесткого диска (HDD), на четыре первичных раздела. То есть, упрощенно говоря, применительно к нашей теме, на одном жестком диске можно разместить четыре операционные системы. Это очень мало. Однако не все так грустно. Уже давно эта проблема решена при помощи расширенных разделов. Расширенный раздел это первичный раздел диска, который можно поделить еще на 255 разделов.

    То есть для того, чтобы организовать мультизагрузочную систему, нужно разделить диск как минимум на два раздела и создать на этих разделах необходимые файловые системы.

    От теории к практике

    Итак, отталкиваясь от теории, построение мультизагрузочной системы выглядит следующим образом:

    1. Разделение диска на разделы
    2. Создание на разделах файловых систем
    3. Выбор основного загрузчика или комбинации загрузчиков
    4. Установка операционных систем

    Вроде все коротко и просто. Но только на первый взгляд. Дело в том, что на каждом из этапов возможны различные варианты и итоге получается столько различных способов создания мультизагрузочной системы, что я даже не буду пытаться их рассмотреть.

    Мы пойдем другим путем.

    Просто ответим на вопросы:

    1. Как наилучшим образом разделить диск на разделы?
    2. Какие файловые системы выбрать?
    3. Какой загрузчик выбрать?

    После многих лет работы и экспериментов на первый вопрос у меня ответ такой:

    Первичный раздел относительно небольшого размера. На нем размещается основной загрузчик и возможно одна из операционных систем.

    Второй раздел расширенный. Он занимает основную часть диска и содержит столько логических разделов, сколько необходимо для установки всех операционных систем, которые хочется установить - 5, 10 или 20.

    В чем преимущество такого подхода?

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

    Во-вторых, при использовании расширенного раздела в нем можно создать столько логических разделов, сколько никогда не потребуется, то есть в такой схеме не столкнешься с ситуацией, когда хочется установить еще одну операционную систему, но некуда. Конечно, для 20-й ОС может не хватить места на диске, но это уже другая тема.

    Вопрос второй - файловая система и размер первичного загрузочного раздела.

    Если изначально планируется установка более чем двух или трех ОС, а также их регулярная переустановка, то лучше всего делать размер первичного раздела совсем небольшим 1-2 Гб, а файловую систему для этого раздела использовать FAT или FAT32. Никакую серьезную ОС на этот раздел не ставить, разве что-нибудь легкое типа MS DOS.

    Какой-нибудь знаток тут может сказать, что FAT это каменный век, да и FAT32 тоже древность изрядная и что у них куча недостатков. Это так, но у этих файловых систем есть достоинство очень важное в контексте мультизагрузочной системы. Практически, пожалуй, нет ОС или прикладной программы, которая бы не умела работать с этими файловыми системами. И это очень большое преимущество - если в процессе установки какой-нибудь очередной ОС или очередного загрузчика, возникнет проблема, то можно будет легко получить доступ к разделу и к файлам загрузчиков при помощи даже самых примитивных средств. Кроме того, использование файловых систем FAT или FAT32 расширяет количество загрузчиков, которые можно будет установить на этот раздел. К примеру, загрузчик syslinux можно установить только на файловую систему FAT или FAT32.

    В более распространенном случае - когда устанавливается только две-три ОС, размер первичного раздела лучше выбрать таким, чтобы на него можно было установить ОС Windows с базовым набором программ, то есть не менее 10 - 15 Гб. Соответственно файловую систему в этом случае выбирать NTFS.

    Первичный раздел NTFS я рекомендую делать, даже если не планируется установка ОС Windows. Сегодня не планируется, а завтра понадобится и вот тогда, при отсутствии первичного раздела с файловой системой, которую понимает Windows заставит совершать лишние телодвижения. Впрочем, это не критично, поскольку лишних телодвижений не нужно будет делать много.

    И, наконец, какой загрузчик использовать в качестве первичного.

    Я уже давно остановил свой выбор на ntldr. Хотя он вполне "тупой", кроме Windows ничего больше не умеет загружать, но есть в нем одна интересная особенность - он может загружать файловые образы дисковых секторов (физические сектора диска, записанные в файл). А это означает, что ему можно скормить файл с головой любого другого загрузчика. То есть из ntldr можно загрузить любое количество других загрузчиков, достаточно сделать файлы с их головами и по списку скармливать их ntldr.
    Примечание. "Голова" загрузчика это сектор MBR или Boot. Это может быть и более одного сектора, например голова GRUBа - 16 секторов начиная с MBR.

    Примечание. В том случае если голова загрузчика более одного сектора, копировать в файл для ntldr нужно только первый сектор (MBR сектор), поскольку ntldr может загружать только односекторные файлы. Это накладывает ограничение на количество одновременно установленных загрузчиков с "длинной", головой. То есть в схеме с ntldr нельзя использовать два GRUBа.

    Схема мультизагрузочной системы выглядит следующим образом:

    Для редких случаев - маленький первичный раздел с файловой системой FAT или FAT32 и без ОС, только загрузчик. При этом все ОС устанавливаются в логические разделы расширенного раздела.

    Для более распространенных случаев - небольшой первичный раздел с файловой системой NTFS, куда устанавливается ОС Windows и загрузчик. Остальные пара-тройка ОС в логические разделы расширенного раздела.

    Все очень просто.

    Примечания

    Если вариант мультизагрузки совсем уж простой, что-то типа Linux поверх Windows, когда Linux устанавливается на компьютер где уже есть Windows, то можно не заморачиваться с ntldr. При установке любого современного, популярного дистрибутива Linux есть возможность автоматически установить загрузчик GRUB, а он умеет загружать обе эти ОС.

    Установить загрузчик ntldr можно вручную, отдельно от ОС Windows. Однако установить его можно только на раздел с файловыми системами FAT, FAT32 или NTFS. При установке ntldr нужно помнить, что его голова записывается в Boot сектор, а потому для его старта нужен еще и стандартный предзагрузчик типа MS DOS в MBR секторе (то есть выполняющий "прыжок" на Boot сектор). Если в MBR была записана голова другого загрузчика (например, GRUBа), то помимо установки ntldr нужно еще записать предзагрузчик Microsoft в MBR. Один из способов сделать это команда fdisk /mbr . Естественно, что fdisk в данном случае от компании Microsoft (из MS DOS).

    Хотя при установке любой современной ОС, можно создавать разделы и файловые системы непосредственно в процессе установки, тем не менее, я советую делать это отдельно. Сначала при помощи программы типа fdisk или Partition Magic создаете нужные разделы, а уже затем запускаете установку ОС и в процессе указываете раздел, куда нужно ставить систему.

    При установке любой ОС на мультизагрузочную систему нужно быть очень внимательным на этапе выбора типа разметки диска и выбора раздела. Некоторые установщики, например c диска Ubuntu Live, по умолчанию предлагают опции типа "установка на весь диск" или "автоматическая разметка диска". Если пропустить эти опции, то ваша мультизагрузочная система будет уничтожена. Также нужно быть аккуратным, когда вручную указываешь установщику раздел для установки - по невнимательности можно записать новую ОС в используемый раздел и тогда все, что на нем было ранее, будет уничтожено.

    Прежде чем устанавливать новую ОС или новый загрузчик заранее приготовьте "ремкомплект" - набор данных и программ, который позволит вам восстановить загрузку системы в ее текущем состоянии. Может, получиться так, что после установки новой ОС или нового загрузчика, часть старых ОС не будет загружаться.

    Мультизагрузка с флеш-диска, по своей организации, ничем не отличается от описанной здесь загрузки с HDD. С той лишь поправкой, что на флеш-диске нецелесообразно устанавливать файловые системы иные, чем FAT / FAT32. Если используется USB HDD, то с ним можно работать так же как с обычным HDD.

    Однако загрузиться с флеш или USB диска можно не на каждом компьютере. Будьте готовы к тому, что на каком-либо компьютере вы не сможете это сделать. Чаще всего такие проблемы возникают с компьютерами, на которых используются BIOS Award или чипсеты nVidia, SiS, Amd. Реже всего проблема загрузки возникает, если на материнской плате BIOS AMI и чипсет Intel.

    Яндекс Кошелек № 410011416229354 . Или на телефон +7 918-16-26-331 .

    Даже небольшая сумма может помочь написанию новых статей:)

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

    Не будем заострять внимание на необходимости установки нескольких операционных систем. Каждый руководствуется своими доводами.

    Поэтому будем считать, что проблема обозначена: нам необходимо обеспечить мирное сосуществование нескольких операционных систем на одном компьютере. В силу несовместимости файловых систем, каждая из них должна жить в своем разделе на жестком диске. При этом видеть (либо не видеть) остальные разделы жесткого диска.

    И для начала небольшой экскурс в принципы хранения информации на жестком диске вообще.

    Как хранится информация на жестком диске?

    Жесткий диск, как и всякое другое блочное устройство, хранит информацию фиксированными порциями, которые называются блоками. Блок является наименьшей порцией данных, имеющей уникальный адрес на жестком диске. Обмен информацией с жестким диском предполагает указание этого адреса в качестве параметра команды, выдаваемой контроллеру. Размер блока со временем стал стандартным для всех жестких дисков — 512 байт.

    Для организации систем дисковое адресное пространство блоков разделяется на части, называемые разделами (partitions). Разделы полностью подобны целому диску в том, что они состоят из смежных блоков. Благодаря такой организации для описания раздела достаточно указания начала раздела и его длины в блоках. Разделы являются контейнерами всего своего содержимого. Этим содержимым является, как правило, файловая система. Под файловой системой с точки зрения диска понимается система разметки блоков для хранения файлов. После того, как на разделе создана файловая система и в ней размещены файлы операционной системы, раздел может стать загружаемым. Загружаемый раздел имеет в своем первом блоке небольшую программу, которая производит загрузку операционной системы.

    Диск разбивается на разделы программным путем. То есть вы можете создать произвольную конфигурацию разделов. Информация о разбиении диска хранится в самом первом блоке жесткого диска, называемым главной загрузочной записью (Master Boot Record (MBR)).

    Исторически сложилось, что диск может быть разделен на четыре раздела с целью изолировать разные операционные системы, если таковые появятся. Точнее, MBR содержит таблицу, в которой могут быть описаны четыре раздела. Только один из четырех разделов имеет право быть помеченным как активный, что будет означать, что код загрузки должен загрузить в память первый сектор именно этого раздела и передать туда управление.

    Решение

    Отвечая на вопрос вынесенный в название статьи, приходим к выводу: чтобы установить на компьютер несколько операционных систем с разными файловыми системами нам необходимо поделить диск на разделы. Отформатировать каждый в соответствии с требованиями операционных систем. Установить операционные системы, каждую в свой раздел. Установить менеджер загрузок операционных систем. Который будет определять какой раздел загрузочный и запускать соответствующую операционную систему.

    Как это сделать?

    Все современные операционные системы содержат программы разбивки диска на разделы. В DOS и Windows это — FDISK.EXE. Но эти программы не дружат с инородными файловыми системами. То есть с помощью FDISK от Windows Вы сможете создать раздел только с Windows-совместимой файловой системой (FAT16, FAT32), а для Linux нет. Сами файловые системы этими программами не создаются в принципе (необходимо форматирование), но они ставят метку в MBR о типе файловой системы. И FDISK от Windows ставит только метки FAT(16/32). Но этот тип может быть неподдерживаемым устанавливаемой операционной системой. Хотя на FAT16, кажется, устанавливаются все системы. Кроме того с помощью FDISK от Windows можно создать только два раздела «Primary DOS partition» и «Extended DOS partition». Первый из них (primary) — это обычный досовый диск C:. Второй — это контейнер логических дисков. Которые в нем болтаются в виде цепочки подразделов. Хотя не запрещено создавать несколько Primary DOS partition, важно чтобы загружаемым был только один из них. Еще более важно то, что если у Вас уже есть раздел с инородной файловой системой, то FDISK от Windows может его просто не увидеть. И в случает модернизации MBR с помощью этой программы раздел с чужой файловой системой может быть потерян. Несколько лучше дела с программами типа FDISK у других операционных систем. Они имеют представление о FAT(16/32), но часто ничего не знают о какой-нибудь другой экзотике вроде себя. Поэтому пользоваться такими программами, при наличии нескольких разделов с разными несовместимыми файловыми системами, следует очень осторожно. А лучше вообще их не трогать, а воспользоваться универсальными программами разбивки. (Перечислять их не буду, так нашел универсальное средство — FDISK и менеджер загрузки операционных систем в одном флаконе. О котором ниже.)

    Отметим еще одно важное обстоятельство. Когда на чистый жесткий диск устанавливается DOS, то при загрузке нет никаких альтернатив в выборе операционных систем. Поэтому загрузчик выглядит весьма примитивно, ему не надо спрашивать у пользователя, какую систему тот хочет загрузить. С желанием иметь сразу несколько систем возникает необходимость заводить программу, позволяющую выбирать систему для загрузки. В случае OS/2 предлагается ставить Boot Manager, который умеет выбирать системы, но он занимает один цилиндр диска и один раздел в таблице разделов. В более общем случае можно поставить System Commander, но эта программа тоже довольно громоздка и, что более критично, она располагается в разделе DOS, что может привести к печальным последствиям в случае вирусов или просто сбоев в файловой системе DOS.

    Универсальное средство

    Более года назад я нашел в интернете очень мощное универсальное средство, которое сочетает в себе менеджер загрузки со встроенным редактором диска и утилитой типа FDISK — Это SyMon — System Monitor (Монитор Операционных Систем).

    Монитор представляет собой программу, позволяющую организовывать на диске до 36 разделов и размещать в них до 20 операционных систем. Как уже было сказано ранее, основным препятствием для подобных улучшений является проблема сохранения совместимости с существующим программным обеспечением. Первое, чего требует совместимость, — это представление всего четырех разделов в таблице, находящейся в MBR. Снятие этого ограничения осуществляется путем организации внутренней таблицы разделов, принадлежащей исключительно монитору и неизвестной другим программам. Поскольку все существующие операционные системы изначально рассчитаны на совместимость с таблицей разделов, находящейся в MBR, то они не занимают более четырех разделов. Учитывая это обстоятельство, можно использовать все разделы из внутренней таблицы монитора, выбирая, однако, для каждой операционной системы любые четыре из них. Таким образом, для монитора описание операционной системы заключается в указании разделов, которые должны быть помещены в MBR и указания активного раздела, с которого надо производить загрузку. Для организации и содержания 36 разделов монитор имеет встроенные мощные средства. Эти средства доступны вам всегда, независимо от того, какими операционными системами вы предпочитаете пользоваться. К этим средствам относятся: редактор разделов и автопоиск разделов. Монитор размещается на нулевой дорожке жесткого диска, которая для современных жестких дисков составляет ~32K. Эта дорожка не используется, так как ее первый блок — это MBR, и поэтому он не может принадлежать какому-либо разделу. Разделы принято выравнивать на границу цилиндров. В случае нулевого цилиндра это невозможно из-за MBR, но жертвовать целым цилиндром слишком накладно, поэтому самый первый раздел на диске начинается с первой дорожки, оставляя нулевую дорожку свободной. Это позволяет разместить на ней монитор без ущерба для уже установленных операционных систем. В соответствии с требованиями совместимости таблица разделов для MBR компонуется всякий раз при старте операционной системы. То есть каждый раз происходит запись первого блока диска. Если в вашем биосе стоит защита от вирусов, то она выдаст предупреждение. Разумеется, такое предупреждение, выдаваемое каждый раз при запуске любой системы, очень быстро вам надоест. Поэтому эту защиту лучше отключить. Это не сильно ослабит иммунитет вашего компьютера, потому что поврежденный вирусом монитор просто не заработает и физически не даст вам загрузить системы, которая могла бы стать жертвой вируса. После старта монитор предоставляет вам меню для выбора операционной системы. Помимо загрузки операционной системы можно выбрать также загрузку с дискеты или другого жесткого диска. На компьютерах с ATX блоком питания можно также выключить питание компьютера, что иногда бывает весьма удобно. Выбор из меню является повседневной операцией каждого пользователя. Но помимо выбора операционной системы можно воспользоваться любым из инструментов монитора. К ним относятся:

    • Редактор разделов (FDISK)
    • Редактор диска
    • Автопоиск разделов
    • Установка пароля на доступ к инструментам

    Некоторые замечания

    Начинающим мультисистемщикам следует знать, что BIOS видит только первые 8 ГБ Вашего жесткого диска. Для работы с дисками большего объема все современные системы уже не пользуются BIOS’ом, а используют собственные драйвера для работы с дисками. Поэтому ограничение в 8ГБ на них не распространяется. Но следует понимать, что прежде чем система сможет использовать собственный драйвер, она должна как минимум его загрузить. Поэтому на этапе начальной загрузки любая система вынуждена пользоваться BIOS’ом. Это и вызывает ограничения на размещение многих систем за пределами 8ГБ, они не могут оттуда загружаться, но могут читать и писать туда информацию. То есть загрузочный раздел должен находится в пределах первых 8 ГБ. А MS-DOS вообще может запускаться только из первых 2 ГБ!

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

    Описываемый, Монитор Операционных Систем, создает собственные дополнительные таблицы. Используя которые, вышеуказанная проблема может быть решена для некоторых операционных систем. На сайте поддержки SyMon , содержится специальная утилита для операционной системы QNX.

    Где взять?

    SyMon существует в двух версиях Lite и Pro. Различаются наличием редактора диска. В интернете версии весят чуть более 60 и 90 кБ соответственно. Он бесплатен, имеет русский интерфейс и подробную документацию. Закачать его можно по адресу http://symon.ru .

    Впечатления от использования

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

    P.S. При подготовки этой статьи была использована документация программы.

    MultiBoot – программа, восстанавливающая загрузчик операционной системы. По сути это графическая оболочка для системных утилит BcdBoot, BcdEdit и BootSect.

    Достаточно скачать бесплатно MultiBoot, чтобы спасти систему, если она не загружается после установки более старой системы. Такое постоянно происходит, если пользоватеть устанавливает Windows XP параллельно Vista или Seven. Загрузчик более новой ОС просто стирается и кажется, будто вот он, конец. Но MultiBoot поможет избежать проблем. С его помощью можно организовать возможность загрузки одной из нескольких систем на выбор.

    Программа MultiBoot просто-напросто восстанавливает нужную запись в загрузчике, что позволяет и далее использовать ранее установленную систему параллельно с вновь установленной. Конечно, не обошлось и без стандартных настроек экрана загрузки системы: выбор системы по умолчанию, таймаут для выбора, порядок отображения операционных систем.

    Это простой и удобный способ настроить загрузчик без специальных знаний по синтаксису языка ini-файлов. Проблемы с загрузкой теперь может решить даже новичок, не знающий в принципе, какие файлы отвечают за это. Не важно, чем вызваны неполадки, MultiBoot поможет их решить.

    Операционная система обычно хранится во внешней памяти компьютера – на диске. При включении компьютера она считывается с дисковой памяти и размещается в оперативной памяти. Этот процесс называется загрузкой операционной системы.

    Диск, на котором находятся файлы ОС и с которого производится ее загрузка, называется системным .
    Программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы ОС необходимо загрузить в оперативную память.
    После включения компьютера производится загрузка ОС с системного диска в оперативную память. Загрузка должна выполняться в соответствии с программой загрузки – загрузчика ОС.
    Поэтапно загрузку ОС можно представить следующим образом:
    В компьютере находится ПЗУ, содержащее программы тестирования компьютера и первого этапа загрузки ОС, которые называются BIOS (Basic Input/Output System – базовая система ввода-вывода). После включения компьютера эти программы начинают выполняться. Причем информация о ходе этого процесса высвечивается на экране дисплея. Сначала производится тестирование и настройка аппаратных средств, затем начинается загрузка ОС. На этом этапе процессор обращается к диску и ищет в 1 секторе диска наличие небольшой программы-загрузчика Master Boot .

    Master Boot ищет на диске основной загрузчик Boot Sector , загружает его в память и передает ему управление. Boot sector (сектор начальной загрузки) – часть диска, зарезервированная для программы самозагрузки ОС. В этом секторе обычно содержится короткая программа на машинном языке, которая загружает ОС.
    Далее основной загрузчик ищет остальные модули операционной системы и загружает их в оперативную память.
    После окончания загрузки ОС управление передается командному процессору. В случае использования интерфейса командной строки на экране появляется приглашение системы, в противном случае загружается графический интерфейс.
    В зависимости от вида ОС, процесс ее загрузки будет отличаться. В состав ОС обязательно входят файлы, отвечающие за процесс загрузки. Рассмотрим «работу» файлов в процессе загрузки Windows XP .

    1. Начальная фаза загрузки.
    2. Выбор системы.
    3. Определение «железа».
    4. Выбор конфигурации.

    В начальной фазе NTLDR переключает процессор в защищенный режим. Затем загружает соответствующий драйвер файловой системы для работы с файлами любой файловой системы, поддерживаемой XP (FAT-16, FAT-32 и NTFS).

    Если в корневой директории есть BOOT.INI, то его содержание загружается в память. Если в нем есть записи более чем об одной операционной системе, NTLDR останавливает работу — показывает меню с выбором и ожидает ввода от пользователя определенный период времени.

    Если такого файла нет, то NTLDR продолжает загрузку с первого раздела, первого диска, обычно это C:\.
    Если в процессе выбора пользователь выбрал Windows NT, 2000 или XP , то проверяется нажатие F8 и показ соответствующего меню с опциями загрузки.
    После каждой удачной загрузки XP создает копию текущей комбинации драйверов и системных настроек известную как Last Known Good Configuration. Этот коллекцию можно использовать для загрузки в случае если некое новое устройство внесло разлад в работу операционной системы.

    Если выбранная операционная система XP, то NTLDR находит и загружает DOS программу NTDETECT.COM для определения «железа», установленного в компьютере. NTDETECT.COM строит список компонентов, который потом используется в ключе HARDWARE ветки HKEY_LOCAL_MACHINE реестра.

    Если компьютер имеет более одного профиля оборудования программа останавливается с меню выбора конфигурации. После выбора конфигурации NTLDR начинает загрузку ядра XP (NTOSKRNL.EXE). В процессе загрузки ядра (но перед инициализацией) NTLDR остается главным в управлении компьютером. Экран очищается и внизу показывается анимация из белых прямоугольников. Кроме ядра загружается и слой Hardware Abstraction Layer (HAL.DLL), для того чтобы ядро могло абстрагироваться от «железа». Оба файла находятся в директории System32.

    NTLDR загружает драйвера устройств, помеченные как загрузочные. Загрузив их, NTLDR передает управление компьютером дальше. Каждый драйвер имеет ключ в HKEY_LOCAL_MACHINE\SYSTEM\Services. Если значение Start равно SERVICE_BOOT_START, то устройство считается загрузочным. Для каждого такого устройства на экране печатается точка.

    NTOSKRNL в процессе загрузки проходит через две фазы — так называемую фазу 0 и фазу 1. Первая фаза инициализирует лишь ту часть микроядра и исполнительные подсистемы, которая требуется для работы основных служб и продолжения загрузки. Фаза 1 начинается когда HAL подготавливает систему для обработки прерываний устройств. Если на компьютере установлено более одного процессора, они инициализируются. Все исполнительные подсистемы реинициализируются в следующем порядке: Object Manager, Executive, Microkernel, Security Reference Monitor, Memory Manager, Cache Manager, LPCS, I/O Manager, Process Manager.

    Инициализация Менеджера ввода/Вывода начинает процесс загрузки всех системных драйверов. С того момента где остановился NTLDR загружаются драйвера по приоритету. Сбой в загрузке драйвера может заставить XP перезагрузиться и попытаться восстановить Last Known Good Configuration. Последняя задача фазы 1 инициализации ядра — запуск Session Manager Subsystem (SMSS). Подсистема ответственна за создание пользовательского окружения, обеспечивающего интерфейс NT. SMSS работает в пользовательском режиме, но в отличии от других приложений SMSS считается доверенной частью операционной системы и «родным» приложением (использует только исполнительные функции), что позволяет ей запустить графическую подсистему и login. SMSS загружает win32k.sys — графическую подсистему. Драйвер переключает компьютер в графический режим, SMSS стартует все сервисы, которые должны автоматически запускаться при старте. Если все устройства и сервисы стартовали удачно, процесс загрузки считается удачным и создается Last Known Good Configuration.

    Процесс загрузки не считается завершенным до тех пор, пока пользователь не залогинился в систему. Процесс инициализируется файлом WINLOGON.EXE, запускаемым как сервис и поддерживается Local Security Authority (LSASS.EXE), который и показывает диалог входа в систему. Это диалоговое окно показывается примерно тогда, когда Services Subsystem стартует сетевую службу.