Сторонние загрузчики операционных систем. От теории к практике

Не один десяток новых пользователей отличных от Windows, с изрядной долей сомнения и скептицизма встречают фразу «начальный загрузчик» в наши дни. И тому есть абсолютно логичная причина: большинство новичков до своего перехода к использованию других, менее распространённых на рынке операционок, в повседневной жизни использовали ту же самую Windows. В ней этот загрузчик реализован максимально примитивно и прозрачно. И хоть это в некоторой степени прибавляет удобства для рядового пользователя, однако вместе с тем и урезает функциональные возможности уже и без того наиболее популярной и универсальной ОС. Поэтому всем тем, кто решил обратить внимание на иные продукты IT-индустрии, непременно следует ознакомиться с универсальным загрузчиком GRUB, что в дальнейшем ощутимо поможет в работе сразу с несколькими ОС, установленных на одном компьютере.

Универсальный инструмент для не универсальных систем

Прежде всего начнём разбираться с наименования GNU GRUB. Эта аббревиатура с английского переводится как "главный унифицированный загрузчик". Его создателем является некоммерческая организация «Проект GNU», которая прославилась в IT-сфере своими свободно распространяемым программным обеспечением. Сам же GRUB по своей сути представляет меню выбора загрузки нужной пользователю ОС из целого перечня поддерживаемых систем:

  • Linux.
  • FreeBSD.
  • Solaris.

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

Путь развития технологии

Непрерывно растущая популярность GRUB была основополагающей причиной, побуждающей неуклонно развивать и совершенствовать загрузчик в дальнейшем. Самая первая версия загрузчика, именовавшаяся как GRUB Legacy, до сих пор отлично справляется с задачами унифицированного загрузчика для UNIX-подобных систем. Широкая поддержка серьёзных компаний (наподобие RedHat и Novell) и серверных дистрибутивов обеспечили ей ещё продолжительный срок существования в целом.

Однако даже это обстоятельство совершенно никак не повлияло на дальнейшее совершенствование загрузчика, благодаря чему пользователи получили последнюю на данный момент времени версию GRUB 2. Будучи переписанным с чистой строки, GRUB 2 едва ли обладает хоть чем-то общим с устаревшим GRUB Legacy, кроме самого названия. Сегодня, будучи по умолчанию используемой с версии 9.10 операционной системе Ubuntu, GRUB второй ревизии благодаря своей более совершенной и мощной структуре полностью остановил какую-либо дальнейшую разработку уже и так отлично себя зарекомендовавшей в прошлом Legacy.

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

  • Скриптовая поддержка (циклов, условий, переменных и функций).
  • Графический интерфейс добавляет возможность гибких изменений внешнего вида загрузчика под индивидуальный вкус пользователя (GRUB 2 может быть легко изменён от чёрно-белой таблицы до стильного разноцветного окна).
  • Возможность динамичной подгрузки модулей. Это позволит расширять функционал не на сборочном этапе, а непосредственно во время выполнения.
  • Совместимость с разными архитектурами.
  • Добавлена поддержка загрузки Mac OS.
  • Добавлена стабильная работа с такими файловыми системами, как: FAT16 , FAT32 , NTFS , любая версия ext , XFS и ISO
  • Кроссплатформенный тип установки даст возможность инсталлировать GRUB2 с другой архитектуры
  • Введение безопасного режима в случае возникновения проблемных ситуаций.
  • Исправлены ошибки от старой GRUB Legacy, которые изначально не могли быть пофиксены из-за требований

Все слышали о LILO?

Разумеется, не единым лишь GRUB"ом ограничивается выбор пользователей среди загрузчиков ОС. Подобным аналогом является LILO - начальный загрузчик Linux (LInux LOader), который до сих пор не утрачивает полностью свою актуальность. Однако же в пользу GRUB следует учесть несколько отличительных особенностей, которыми прямой конкурент пока что похвастаться определённо не может:

  • LILO поддерживает лишь 16 конфигураций загрузки, когда GRUB имеет поддержку неограниченного числа таких конфигов.
  • GRUB может загружаться по локальной сети, чего не скажешь о LILO.
  • Наконец, у LILO нет того самого командного интерактивного интерфейса, к удобству которого уже давно привыкли пользователи последней версии GRUB.

Единственной общей особенностью обоих загрузчиков является необходимость каждый раз компилировать все внесённые изменения в меню. Функция автоматического сохранения издавна отсутствовала в фирменном загрузчике Linux. GRUB 2 также не может похвастаться столь удобной фичей. Но даже учитывая этот неудобный для повседневного использования нюанс, LILO по нескольким пунктам проигрывает своему конкуренту, благодаря чему тот получает все более широкое распространение среди домашних компьютеров пользователей.

Установка GRUB: все нюансы и подробности процесса

С самого начала убедитесь, что у вас имеется либо установленная Ubuntu, либо имеется её загрузочный диск (LiveCD). Запустив систему, необходимо вызвать терминал сочетанием клавиш Ctrl+Alt+F2, после чего прописать в нём следующие команды:

Sudo add-apt-repository ppa:cjwatson/grub,

Sudo add-get update && sudo add-get install grub2,

Sudo update-grub2.

И даже если у вас не установлена Ubuntu, но имеется LiveCD, то процедура остаётся одна и та же с одной лишь крохотной разницей. Загрузившись именно с этого выберите опцию "Попробовать Ubuntu" - так вы запустите систему без каких-либо изменений на своём компьютере. После этого продолжайте устанавливать загрузчик GRUB по той же схеме с этапа вызова терминала.

Проверить установленную версию загрузчика можно командой grub-install -v , а также непосредственно при самой загрузке Ubuntu.

Алгоритм запуска GRUB

По мере завершения работы GRUB Install загрузчик в первую очередь изменяет код MBR на свой собственный. MBR - это сектор, содержащий главную загрузочную запись (от англ. содержащий в себе:

  • код основного загрузчика (446 байт);
  • таблицу разделов с описанием как основных, так и вторичных разделов жёсткого диска (64 байта).

Из-за малого объёма сектора MBR, запуск GRUB укладывается в два условных этапа:

  1. В MBR размещается ссылка к конфигурационному файлу (который может находиться в любом жёстком диске, на усмотрение самого пользователя). Именно по ней и будет определяться весь загрузочный этап, начинающийся на втором этапе.
  2. Их конфигурационного файла учитываются все настройки и данные, необходимые для работы GRUB. Если же на втором этапе конфигурационный файл не был найден, то процесс загрузки будет прекращён и пользователю уже придётся вручную выбирать загрузочную конфигурацию из командной строки.

Такая структура загрузки позволяет быть GRUB"у более широко конфигурируемым и гибким, нежели множество других аналогов, в которых этот процесс упрощён до максимальной компактности.

Наиболее часто используемые консольные команды

Немалый простор рабочих возможностей в консольном режиме последней версии GNU GRUB, настройка и конфигурационные возможности также не оставят равнодушными пользователей. Для того чтобы попасть в него, достаточно нажать клавишу «С» во время отображения загрузочного меню, после чего останется лишь верно ввести нужные вам команды:

Команды Описание Пример ввода в консоль
ls Универсальная команда для работы со списками жёстких дисков и разделов. Может использоваться для вывода содержимого папки. ls /boot/grub
Её использование даст полную информацию абсолютно о любом разделе. При этом будет указан тип файловой системы на нём, его метка, UUID, а также дата внесения последних изменений.
cat Вывод информации о содержимом конкретно указанного файла. cat /путь/имя_файла
linux Аналог kernel-команды GRUB из старой-доброй версии Legacy, позволяющей загружать указанное ядро Linux.

linux файл_ядра

опция1=значение

опция2 опция3

chainloader Передача контроля загрузки другому загрузчику по цепочке. Загрузчик будет искаться исключительно в разделе, который задан в качестве root (разумеется, с указанием конкретного исполнительного файла).

chainloader /путь/ имя_файла

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

*,* - номер диска и номер раздела на нем соответственно

set Чаще всего благодаря своей стабильности и работоспособности используется для переназначения root-раздела на диске.

set root= (hd*,*)

*,* - номер диска и номер раздела на нем соответственно

search

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

  • u (или --fs-uuid) - поиск раздела по UUID;
  • l (или --label) - поиск по метке раздела;
  • f (или --file) - поиск по определенному файлу;
  • n (или --no-floppy) - пропуск при проверке флоппи-дисковода;
  • s (или --set) - установить найденный раздел в качестве значения заданной переменной.

Команда пригодится в случае, если нумерация дисков и разделов "полетит", из-за чего команда set root либо приведёт в никуда, либо в не тот раздел не того диска.

search -u uuid_нужного_раздела

search -l метка раздела

search -f /путь/имя файла

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

help s - вывод справки на все команды, начинающиеся на s.

help set - отображение справки о команде set.

terminal_output.console Переключение на чёрно-белую цветовую гамму отображения. terminal_output.console
background_image

Изменение фонового изображения в реальном времени. Помогает лишь в подборе такого варианта оформления шрифтов, чтобы те были различимы на заданном фоне.

Обратите внимание: команда не изменяет настроек оформления - изображение остаётся на фоне только лишь на текущем сеансе до следующего выключения.

background_image /путь/имя_файла

boot Загрузить компьютер. boot
reboot Перезагрузить компьютер. reboot
Выключить компьютер. halt

Послеустановочный GRUB: настройка и полезный в работе софт

Основным конфигурационным файлом в GRUB2, в отличие от предыдущей версии Legacy, является не /boot/grub/menu.lst , а уже /boot/grub/grub.cfg. Однако напрямую его редактировать бессмысленно - он будете генерироваться с каждым сохранённым изменением в файле настроек /etc/default/grub и в директории скриптов /etc/grub.d.

В /etc/default/grub настройка в основном ограничена изменением стандартного пункта загрузки и/или времени показа меню:

  • За первый пункт изменений отвечает параметр GRUB_DEFAULT , значением которого обозначается номер пункта в меню загрузки. Выбирая какой-либо другой пункт, пользователь должен знать его очерёдность из общего списка (для этого нужно просмотреть содержимое /boot/grub/grub.cfg и найти по счёту нужную запись). При этом не стоит забывать правила нумерации: первому пункту присваивается значение 0, второму - 1, третьему - 2 и так далее.
  • За задержку отображения меню загрузки отвечает параметр GRUB_TIMEOUT , чьё присвоенное значение в кавычках обозначает количество секунд, в течение которых эта заставка появится. В редактировании этого параметра есть одна хитрая особенность: выставив значение "-1", заставка будет висеть ровно до тех пор, пока пользователь не выберет какой-либо пункт.

Набор скриптов в /etc/grub.d находят на компьютере все установленные системы и ядра, формируя загрузочное меню в grub.cfg. За поиск ядер и других ОС соответственно отвечают два основных: 10_linux и 30_os-prober. Файл 40_custom позволяет изменить GRUB путём добавления собственных пунктов загрузки, что полезно для работы с особыми типами запуска системы (обратите внимание, что при любых изменениях он должен заканчиваться пустой строкой, иначе последний пункт загрузки из всех предложенных банально не будет отображён).

Однако ещё более простой способ отредактировать GRUB в системе Ubuntu - утилита Grub-Customizer. Благодаря своей простоте и интуитивно понятному интерфейсу, это наилучший вариант для настройки загрузчика, более всего подходящий неопытным новичкам. Для установки запускаем терминал (Ctrl+Alt+T), затем поочерёдно вводим в нём следующие команды:

Sudo add-apt-repository ppa:danielrichter2007/grub-customizer,

Sudo add-get update,

Sudo add-get install grub-customizer.

И хоть перевод программы Grub-Customizer оставляет желать наилучшего исполнения, разобраться в ней очень легко:

  • List configuration - настройки меню при загрузке системы. Тут осуществляется изменение очерёдность его пунктов.
  • Основные настройки - выбор системы, загружаемой по умолчанию, а также определение времени ожидания.
  • Внешний вид - редактирование внешнего оформления загрузочного меню.

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

  • Super Grub Disk - простой и удобный инструмент для быстрого восстановления загрузчика. При этом умеет работать не только лишь с GRUB и LILO, но даже и с самой Windows. Запускается с CD, флешки или же дискеты.
  • GParted - редактор разделов дисковых разделов, запускающийся непосредственно с CD. С её помощью можно проводить такие операции с разделами и файловыми системами на них, как: создание, удаление, изменение размера, проверка, перемещение и копирование.
  • SystemRescueCD - дистрибутив Linux, специальным образом предназначенный для аварийного восстановления.
  • TestDisk - утилита, позволяющая диагностировать и восстанавливать как отдельные разделы, так и загрузочные диски целиком.

Как загрузчик управится с ОС Windows?

Напрямую, к сожалению, GRUB никоим образом не может загружать Windows x86 (64-битная версия также не исключение), из-за чего приходится создавать соответствующий цепной механизм запуска. Для этого в конфигурационном файле grub.cfg необходимо добавить несколько строк определённых команд:

Title Windows,

Rootnoverify (hd*,*),

Chainloader +1,

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

  • rootnoverify (hd*,*) - тот же самый аналог set root . Она информирует GRUB о местоположении раздела, на котором находится следующая часть загрузочного кода, однако не монтирует его (по той ясной причине, что для GRUB это сделать невозможно). Обратите в очередной раз внимание, что часть (hd*,*) - это номер диска и номер раздела соответственно, на котором установлена ОС Windows.
  • makeactive - команда предоставляет указанному корневому разделу статус загрузочного.

Теперь та самая команда chainloader +1, которое передаёт весь дальнейший контроль загрузки непосредственно загрузчику Windows.

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

Случается и так, что на жёстком диске установлена не одна, а две или даже больше версий Windows. И тогда осуществить стабильный запуск без дополнительных команд скрытия/показа (hide/unhide ) разделов просто нереально. Суть такова, что если в конфигурационном файле GRUB прописано скрытие какого-либо раздела накопителя, то Windows банально не сможет его прочесть. А если раздел видимый, то с него соответственно можно будет загрузиться.

При наличии нескольких операционных систем сначала определитесь, какой именно экземпляр вы желаете загрузить, затем проверьте её точное расположение - необходимо знать, на каком разделе жёсткого диска она установлена. К примеру, имеются две различные версии Windows, расположенных соответственно на первом и втором разделах одного накопителя, и пользователю нужно загрузить именно вторую. Для этого в файле menu.lst нужно внести следующие изменения:

Title Windows,

Unhide (hd0,1),

Rootnoverify (hd0,1),

Chainloader +1,

В сравнении с предыдущим образцом кода были добавлены команды hide и unhide , благодаря которым пользователь сможет загрузить нужную операционную систему с заданного раздела жёсткого диска.

Переустановка GRUB на случай критических неполадок

Даже в случае технических неполадок восстановить GRUB совершенно несложная задача. Для начала загружаем установочный LiveCD, открываем терминал сочетанием клавиш CTRL +ALT +T.

После этого поочерёдно вводим команды:

  • sudo grub-install /dev/sda - установка GRUB непосредственно в MBR (sda - загрузочный диск);
  • sudo update-grub - поиск других загрузочных записей на жестком диске (к примеру, Windows).

Теперь остаётся лишь перезагрузить компьютер и убедиться в полной работоспособности переустановленного загрузчика.

Вопрос о защите от зацикливания перезагрузки

Необходимость в подобной интегрированной в загрузчик GRUB системе защиты появляется тогда, когда размеры логов, расположенных в каталоге /var/log, из-за неконтролируемой записи информации в них растут до непозволительных объёмов. В нормально работающей системе предусмотрены специальные сервисы, архивирующие и подчищающие эти логи в автоматическом режиме. Таким образом, в большинстве случаев пользователю абсолютно не нужно тратить время, контролируя их объём.

Однако эти же службы запускаются лишь после загрузки операционной системы. До этого размеры лог-файлов абсолютно ничем не мониторятся, из-за чего в случае непредвиденного падения системы и дальнейших перезагрузок логи будут только лишь расти в объёме. И этот неконтролируемый их рост будет продолжаться ровно столько, сколько длятся перезагрузки из-за сбоя в системе. Впоследствии это всё может привести к полному заполнению того раздела, на котором расположен каталог /var/log, что чревато зависанием системы наглухо и невозможности запуска даже режима восстановления.

Именно от этого катастрофического положения и спасает интегрированная в GRUB система защиты от циклических перезагрузок, вывода "зависшее" меню GRUB, ожидающее явного вмешательства пользователя. Сама защита ориентируется на значение переменной recordfail, прописанного в скрипте /boot/grub/grub.cfg. В ходе каждой загрузки она устанавливается как recordfail=1 , а на финальной загрузочной стадии сбрасывается до recordfail=0 . И если именно такого сброса не произошло, то автоматическая загрузка полностью предотвращается и активируется та самая защита GRUB.

Для этого в /etc/defaul/grub находим переменную GRUB_RECORDFAIL_TIMEOUT и присваиваем ей значение в то количество секунд, в течение которых меню GRUB будет ждать вмешательства пользователя в случае отсутствия сброса recordfail с 1 до 0. После чего сохраняем изменения командой sudo update-grub , отключив тем самым защиту от зацикленной перезагрузки.

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

Деинсталляция GRUB и возвращение к Windows: быстро, просто и безболезненно

В случае если возникнет вопрос "Как удалить GRUB и оставить загрузчик другой операционной системы?", то в первую очередь пользователю потребуется её установочный диск/флешка. Разберём всё на конкретном простом примере: пользователь удаляет со своего компьютера Linux, оставляя в итоге одну лишь Windows, но при этом не может её загрузить ввиду ошибки Grub error . Для полного решения проблемы необходимо восстановить загрузчик Windows x86/64 bit:

  1. Загружаемся с установочного накопителя, предварительно выставив в его на первом приоритете при загрузке в BIOS
  2. Загрузившись с установочного носителя, выбираем раздел восстановления системы.
  3. Из появившегося списка инструментов выбираем командную строку, в которой пропишем поочерёдно следующие команды:
  • BOOTREC.EXE /FixBoot.
  • BOOTREC.EXE /FixMbr.

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

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

Диск, на котором находятся файлы ОС и с которого производится ее загрузка, называется системным .
Программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы ОС необходимо загрузить в оперативную память.
После включения компьютера производится загрузка ОС с системного диска в оперативную память. Загрузка должна выполняться в соответствии с программой загрузки – загрузчика ОС.
Поэтапно загрузку ОС можно представить следующим образом:
В компьютере находится ПЗУ, содержащее программы тестирования компьютера и первого этапа загрузки ОС, которые называются 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 стартует сетевую службу.

Давным-давно, когда я был маленьким работал в институтской лаборатории на большом компьютере СМ-3 (что-то вроде знаменитой PDP-11), bootstrapping (загрузка) ЭВМ выглядела так. В фотосчитыватель заправлялась коротенькая бумажная перфолента с пробитой на ней программой начальной загрузки, запускался процесс считывания, а дальше … как повезет.

Дело в том, что бумажная ленточка постепенно изнашивалась, начинала плохо читаться, и ЭВМ могла с первого раза «не завестись». В этом случае процесс нужно было повторять, порой несколько раз, до победного конца. Когда ленточка окончательно выходила из строя и машина никак не хотела «оживать», приходилось временно вводить программу начальной загрузки вручную при помощи расположенных на передней панели переключателей. Тут, главное, было не торопиться и не делать ошибок.

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

Основные определения и этапы загрузки операционной системы

Включение компьютера, POST, BootMonitor

Начальный этап загрузки операционной системы после включения компьютера начинается в BIOS (Basic Input/Output System — базовая система ввода-вывода). В настройках BIOS мы указываем загрузочное устройство, или ряд загрузочных устройств в порядке их приоритета. Возможны различные варианты загрузки и их комбинации: с жесткого диска, CD/DVD – диска, USB-flash и другие.

Сразу после прохождения POST (Power-On Self-Test — самотестирование после включения) BIOS компьютера начнет поочередно перебирать указанные загрузочные устройства до тех пор, пока на одном из них не найдет подходящую специальную запись, в которой содержится информация о дальнейших действиях.

Загрузчик 1-го уровня. Master Boot Record

Master Boot Record — главная загрузочная запись, расположена в первых физических секторах загрузочных устройств хранения. Она содержит таблицу разделов (Partition Table) и исполняемый код.

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

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

Загрузчик 2-го уровня. Partition Boot Sector

Следующим этапом загрузки компьютера является передача управления исполняемому коду, записанному в PBS (Partition Boot Sector — загрузочный сектор активного раздела). PBS расположен в первом секторе (секторах) соответствующего раздела диска. В коде PBS прописано имя файла загрузчика операционной системы, которому и передается управление на этом этапе.

Начальный этап загрузки операционной системы. Менеджер загрузки ОС

Первоначально в Linux загрузчиком являлся LILO (Linux Loader). В силу имевшихся в нем недостатков, главным из которых была неспособность понимать используемые в Linux файловые системы, позднее начал использоваться загрузчик GRUB (GRand Unified Bootloader) в котором недостатки LILO были исправлены.

Если речь идет о версиях Windows до Vista, например, Windows XP, то будет загружен Ntldr. Он, в свою очередь, считывает информацию из текстового файла Boot.ini, в котором записана информация об установленных операционных системах.

Загрузка ядра операционной системы

Завершающим этапом загрузки операционной системы является загрузка ядра ОС и передача ему управления.

Несколько лет назад в моей практике был такой забавный случай.

Меня попросили помочь одному человеку купить и привести в порядок компьютер для дома. Товарищ этот на тот момент времени только-только вышел на пенсию, а до этого работал в должности начальника и компьютер видел, по большей части, издалека, на столе у своей секретарши. После выхода на пенсию у него появилось время и желание компьютер освоить. Ну что, по-моему, замечательно. Компьютер мы ему подобрали недорогой, но добротный и с хорошим, по тем временам, монитором. Я поставил и настроил кое-какие программы, показал как ими пользоваться. Господин обзавелся книжкой из серии «Что-то там для чайников » и мы расстались абсолютно довольные друг другом.

Примерно через неделю мой подопечный позвонил мне по телефону и чуть не плача сообщил, что все пропало и компьютер больше не работает. Благо, запираться он не стал и честно рассказал, как было дело. А дело было так. Товарищ полез исследовать содержимое своего компьютера и нашел в корне диска С:\ несколько подозрительных и «ненужных», на его взгляд, файлов. Он решил освободить место и файлики эти попросту удалил. Думаю, что все уже догадались, что это были boot.ini, ntldr, ntdetect и др. Поправить ситуацию сложности не представляло, разве что пришлось ехать к нему еще раз.

К слову сказать, для того, чтобы получить проблемы с загрузкой Windows XP, можно было и ничего не стирать, а слегка «подправить», например, boot.ini.

Видимо Microsoft как то узнала об этом случае и в следующей версии своей ОС решила припрятать файлы загрузчика получше.

Особенности загрузки операционных систем Windows Vista / 7 / 8

В Windows Vista или Windows 7 / 8 диспетчер загрузки называется Bootmgr. Он читает список установленных операционных систем не из простого текстового файла, коим является boot.ini, а из системного хранилища BCD (Boot Configuration Data), доступ к которому осуществляется посредством специальной утилиты bcdedit.exe .

Но это еще не все. Откроем “Управление компьютером” –> “Управление дисками” >

Процесс стандартной инсталляции операционной системы Windows Vista / 7 / 8 создает в начале диска дополнительный раздел «Зарезервировано системой». Ему не присваивается буква диска, благодаря чему, если не сделать дополнительных шагов, и сам раздел и его содержимое будут скрыты от пользователя. Этот основной раздел имеет статус «Системный» и «Активный» и, следовательно, удалить его тоже нельзя.

В Windows 7 размер такого раздела составляет 100 МБ, из которых занято около 30 МБ, в Windows 8 – уже 350 МБ, причем занято из них 105 МБ. Такая разница объясняется тем, что в Windows 8 на этот раздел перенесена папка “Recovery”.

Посмотрим содержимое раздела «Зарезервировано системой». Для этого назначим ему букву диска, например, «W» в “Управление дисками”. Дополнительно откроем «Панель управления» –> «Параметры папок» и на вкладке «Вид» снимем галку с «Скрывать защищенные системные файлы» и поставим отметку на «Показывать скрытые файлы, папки и диски».

Если в системе установлен файловый менеджер FAR Manager, то для просмотра можно воспользоваться им и не заниматься настройкой видимости скрытых файлов.

Так выглядит содержимое раздела «Зарезервировано системой» в Windows 8 >

Как и ожидалось, в корне раздела мы видим загрузчик Bootmgr.

А так выглядит часть содержимого папки «Boot» >

В папке мы находим базу хранилища данных конфигурации загрузки BCD и сопутствующие ей папки с языковыми файлами и файлами шрифтов.

Для полноты картины осталось сказать о том, какой раздел называется загрузочным. Ответ уже показан на картинке с томами Windows 7. Очевидно, что это раздел, на котором находятся все основные файлы операционной системы.

Ну что же, запомнить названия разделов диска очень легко по принципу «всё наоборот» — на системном нет системы (операционной), но расположен загрузчик третьего уровня, на загрузочном как раз отсутствует загрузчик, но находится сама система. Естественно, эта «запоминалка» работает только тогда, когда есть несколько разделов. Если раздел один, то он может быть сразу системным, активным и загрузочным.

Главной задачей загрузчика 3-го уровня, в роли которого выступает, в зависимости от типа ОС, Bootmgr, Ntldr или GRUB, является чтение с загрузочного диска и загрузка ядра операционной системы. Кроме того, в случае множественной загрузки, когда на компьютере установлено несколько операционных систем, загрузчик 3-го уровня позволяет выбирать нужную при каждом запуске компьютера.

Классической ошибкой, которой Microsoft посвятила , является установка Windows XP после Windows Vista / 7 /8. Установщик Windows XP помечает свой раздел как активный, после чего, во время загрузки, MBR передает управление PBS этого раздела а он, в свою очередь, — Ntldr. Загрузчик Windows XP ничего не знает о более поздних версиях операционных систем Windows и их загрузка становится невозможной. Лечится достаточно легко, но неискушенного пользователя такая ситуация может поставить в тупик.

Добавить к этому практически нечего и можно переходить непосредственно к редактированию загрузочного меню. Начнем с .

9 комментариев

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

  1. Подскажите пожалуйста как именно лечить?:
    «Загрузчик Windows XP ничего не знает о более поздних версиях операционных систем Windows и их загрузка становится невозможной. Лечится достаточно легко, но неискушенного пользователя такая ситуация может поставить в тупик.»

    Поставил ХР после Vista на ноутбук — в итоге запуск системи доходит до начала загрузки ХР и все по новой перезагружаєтса, а если отключить (на время загрузки ОС) адаптер питания то все загружается нормально. Если загружать в безопасном режиме, то адаптер отключать не надо. Что ето может бить и как с етим бороться?

    ПОЖАЛУЙСТА ОТПИШИТЕ. ЗАРАНИЕ СПАСИБО. ИЗВИНИТЕ ЗА «ЛОМАННИЙ» РУССКИЙ.

    • По поводу влияния адаптера питания на загрузку ХР ничего не скажу — конкретных идей нет. По поводу восстановления загрузки Vista, если это актуально, то в конце поста есть ссылка на статью суппорта Microsoft (919529), посвященную непосредственно этой теме. Для восстановления потребуется установочный диск Vista. В командной строке с правами администратора нужно выполнить:
      Х:\boot\bootsect.exe /nt60 all
      где X: — буква оптического привода.
      А вот загрузку XP нужно будет добавлять вручную с помощью редактора . Набор команд будет таким:
      Bcdedit /create {ntldr} /d "Microsoft Windows XP"
      если данная команда завершиться неудачей, то:
      Bcdedit /set {ntldr} description "Microsoft Windows XP"
      далее:
      bcdedit /set {ntldr} device partition=X:
      Х: - буква диска раздела, на котором находятся файлы загрузчика XP, и путь к нему:
      bcdedit /set {ntldr} path \ntldr
      bcdedit /displayorder {ntldr} /addlast

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

    • Юрий! Боюсь, что тех сведений, которые Вы сообщили, явно недостаточно для каких-либо рекомендация. Какая Windows и о каких этапах идет речь? Уточните.

    Доброго здоровья, Александр.
    Как понять, предотвратить, а если повторится — правильно выйти из вот такой ситуации.
    Ноутбук. Установлена Windows-7. После включения и ввода пароля выдал «missing operating system» — то бишь «отсутствует операционная система». Выключения с повторным включением дали тот же результат. Запуститься удалось только вынув и спустя некоторое время вставив аккумулятор.
    Накануне, правда, имело место быть некорректное выключение: предварительно не были отключены флешка и модем. Раньше такая забывчивость тоже случалась, но подобного эффекта не было.
    Буду признателен за доступный старому «чайнику» ответ (мне лет на десять больше, чем господину в забавном случае, но познакомился с КОМПом примерно в том же возрасте).

    • Владимир, здравствуйте. С наступающими праздниками и всех благ.
      В данной ситуации Вы сделали все правильно — сбросили «залипший» глюк.
      Как поется в песенке: «Одна дождинка — еще не дождь. Одна снежинка — еще не снег». Возможно, что ничего подобного больше и не произойдет. Вот если с запуском начнутся регулярные проблемы, тогда надо будет разбираться. А вообще, Windows 7 и выше достаточно устойчивы к нештатным выключениям.
      Что делать? Вы сами ответили на свой вопрос — стараться штатно отключать устройства. И если есть возможность подключить по USB внешний диск, то я обязательно сделал бы (на самом деле делаю достаточно регулярно) бекап системы, например с помощью .

Общие сведения

SyMon - это ПРЕВОСХОДНЫЙ загрузчик операционных систем. Гибкая система настроек и мощные встроенные средства позволят Вам установить и использовать любые предпочитаемые Вами операционные системы, причем практически в любом сочетании.

Историческая справка

В последнее время наметился разрыв между емкостью жестких дисков и размерами программ. Так, если в начале 1990х годов размер жесткого диска порядка 210Мб соответствовал системе Windows 3.1 размером около 15-20Мб, то сегодня диск размером 500Гб соответствует Windows Vista размером 2-3Гб. То есть, отношение емкости дисковой памяти к размеру современной ему системы возросло с 10-15 раз до 100-200 раз! И это при том, что производители операционных систем, в частности фирма Microsoft, стремятся включить в поставку ОС как можно больше функций, которые ранее реализовывались с помощью дополнительных программ. Таким образом, пользователи получили дешевую и большую дисковую память, которую необходимо осваивать.

А зачем вообще нужен SyMon?

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

Хочется хотя бы раз в жизни взглянуть на другие операционные системы. Нет ничего хуже, чем отсутствие свободы выбора. обучение навыкам работы в новых ОС;

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

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

Вы используете компьютер дома, чтобы заниматься работой? Или, возможно, у Вас есть другие важные домашние дела, связанные с компьютером? А ребенок хочет играть с ним? Вы опасаетесь, что его игры могут кончиться полной переустановкой ОС и заодно многих программ, которые Вам пришлось так долго настраивать? Нет ничего проще, чем поставить ребенку вторую ОС и поставить пароль на загрузку своей. Вы сможете полностью изолировать обе ОС друг от друга, так что дети не будут подпущены ни к одному Вашему файлу! Такое решение, к тому же, гораздо дешевле, чем покупка второго компьютера специально для детских шалостей. использование ОС на разных языках;

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

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

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

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

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

    Здесь нет набора инструкций, как сделать установку - все они есть, уже написанные и разбросанные по форумам и блогам. По ключевым словам и ссылкам можно будет найти всё необходимое. Суть в том, что чётких инструкций нет. Есть основополагающие правила строения разделов на дисках компьютера, стандартизированные ещё в 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, ...) проблемам и решениям в установке систем уделены десятки страниц. Новое «железо», к сожалению, тоже привносит сложности в этот процесс. То, что вчера работало на десктопах, почему-то перестаёт работать (биос, новые решения, новые ОС) на некоторых ноутбуках. Некоторые старые разработки (