С какого диска загружается операционная система в озу
Вы когда-нибудь задумывались о том, как загружается компьютер? Независимо от аппаратуры и операционной системы, все компьютеры при загрузке используют или традиционный метод BIOS-MBR, или более современный UEFI-GPT, реализованный в последних версиях ОС.
В этой статье мы сравним структуры разделов GPT и MBR; GPT означает GUID Partition Table, а MBR — Master Boot Record. Начнём с того, что разберём сам процесс загрузки.
В следующих главах выделяются различия между стилями разделов GPT и MBR, в том числе приводятся инструкции, как осуществить преобразование между двумя стилями, и советы, какой из них выбрать.
Когда вы нажимаете кнопку питания на своём ПК, стартует процесс, который в итоге приведёт к загрузке операционной системы в память. Первая команда зависит от того, какова структура разделов на вашем жёстком диске.
Если два вида структур разделов: MBR и GPT. Структура разделов на диске определяет три вещи:
- Структура данных на диске.
- Код, который используется при загрузке, если раздел загрузочный.
- Где начинается и заканчивается раздел.
Как узнать, где на жёстком диске MBR находится активный раздел вместе с загрузчиком операционных систем (при наличии на HDD нескольких установленных Windows и отсутствии Скрытого раздела System Reserved (Зарезервировано системой)?
Привет друзья! Все мы знаем, что при установке операционной системы на компьютер с обычным БИОС (не UEFI), установка происходит на жёсткий диск MBR и при этом в начале диска автоматически создаётся скрытый раздел System Reserved (Зарезервировано системой, объём 350-500 МБ), главным назначением этого раздела является хранение и защита файлов загрузки операционной системы. Р аздел System Reserved (Зарезервировано системой) имеет атрибуты: Активен, Система, Основной раздел и с этого раздела происходит запуск одной или нескольких операционных систем, установленных на вашем компьютере.
Но в некоторых случаях р аздел System Reserved (Зарезервировано системой) не создаётся при установке Windows или этот раздел специально удаляется пользователями для экономии дискового пространства. В этом случае при работе на компьютере может возникнуть много вопросов: Какой раздел на HDD активен? Где находятся файлы загрузки Windows? Как перенести файлы загрузки на другой раздел жёсткого диска и т.д? На все эти вопросы, я постараюсь ответить подробно в сегодняшней статье.
Узнать, где на жёстком диске MBR находится активный раздел вместе с загрузчиком операционных систем очень просто.
Во-первых, откроем окно «Управление дисками», установленной на компьютере нашего читателя, операционной системы Windows 7.
Раздел, который помечен как "Система, Активен. ", это и есть активный раздел и на нём находятся файлы загрузки Windows.
Как видите, в случае с нашим читателем, активен раздел (D:) с установленной Windows 10 и именно на нём находится загрузчик обоих операционных систем.
Управление дисками Windows 10
В большинстве случаев с активного раздела запускается операционная система. Н а активном разделе находятся файлы загрузки Windows: папка «Boot» (содержащая хранилище конфигурации загрузки файл - BCD), и менеджер загрузки файл «bootmgr».
Увидеть эти файлы можно, если у вас включено в системе отображение скрытых файлов и папок.
Во-вторых, узнать, где на жёстком диске MBR находится активный раздел можно с помощью командной строки.
Ещё одна команда, также покажет нам активный раздел:
bcdedit (данная команда предназначена для управления данными конфигурации загрузки), запущенная без параметров, покажет нам содержимое хранилища загрузки BCD. Как видим, активный раздел находится на первом разделе жёсткого диска (D:) с установленной Windows 10. Также видим, что хранилище загрузки содержит в себе запуск двух операционных систем: Windows 7 и Windows 10.
Примечание : Важно знать, что сделать активным можно любой «Основной» раздел жёсткого диска, рассмотрим этот вопрос далее.
Наш читатель спросил, что будет, если он форматирует или удалит раздел с установленной Windows 7, загрузится ли после этого Windows 10? Или наоборот, если он удалит раздел с установленной Windows 10, загрузится ли после этого Windows 7?
Ответ. Так как загрузчик двух операционных систем и активный раздел находятся на первом разделе (D:) с установленной Windows 10, то при удалении этого раздела, оставшаяся операционная система Windows 7 естественно не загрузится, выйдет ошибка « An operating system was not found. » (Операционная система не найдена)
Если из работающей Windows 10 удалить раздел с установленной Windows 7, то загрузка Win 10 не будет нарушена.
Как же поступить нашему читателю, если к примеру, он хочет удалить Windows 10 и оставить себе Windows 7?
В этом случае нужно создать операционной системе Windows 7 свой отдельный загрузчик, сделать это можно так.
Находясь в работающей OS Windows 7 открываем командную строку от имени администратора и вводим команды:
DISKPART> lis dis (выводим в список все подключенные к компьютеру накопители)
DISKPART> sel dis 0 (выбираем единственный подключенный жёсткий диск)
DISKPART> lis par (выводим в список все разделы жёсткого диска)
DISKPART> sel par 2 (выбираем раздел с установленной Windows 7, размер 55 Gб)
Выбран раздел 2
DISKPART> activ (помечаем раздел с Windows 7 как активный)
DiskPart: раздел помечен как активный.
Завершение работы DiskPart.
C:\Windows\system32> bcdboot C:\Windows (данная команда создаёт отдельный загрузчик на разделе с установленной Windows 7)
Файлы загрузки успешно созданы.
Данными действиями мы создали для Windows 7 отдельный загрузчик. Теперь диск (C:) с установленной Windows 7 имеет атрибуты: Система, Активен.
После этого вы смело можете форматировать или удалять раздел с Windows 10, загрузка Windows 7 от этого не пострадает!
Создаём загрузчик для Windows 7 прямо в работающей Windows 10
Друзья, в конце статьи хочу вам сказать, что создать загрузчик для Windows 7 можно прямо в работающей Windows 10, сделаем это так.
Загружаемся в Windows 10.
Открываем командную строку от имени администратора и вводим команды:
DISKPART> lis dis (выводим в список все подключенные к компьютеру накопители)
DISKPART> sel dis 0 (выбираем единственный подключенный жёсткий диск)
DISKPART> lis par (выводим в список все разделы жёсткого диска)
DISKPART> sel par 2 (выбираем раздел с установленной Windows 7, размер 55 Gб)
Выбран раздел 2.
DISKPART> activ (помечаем раздел с Windows 7 как активный)
DiskPart: раздел помечен как активный.
Завершение работы DiskPart.
C:\Windows\system32> bcdboot D:\Windows (данная команда создаёт отдельный загрузчик на активном разделе (D:) для Windows 7 .
Файлы загрузки успешно созданы.
Данными действиями мы также создали для Windows 7 отдельный загрузчик.
Загружаемся в Windows 7.
Теперь диск (C:) с установленной Windows 7 имеет атрибуты: Система, Активен и если удалить Windows 10, то Windows 7 прекрасно загрузится.
Примечание: Статья написана о дисках MBR. Если у вас OS установлена на диск GPT, а на дисках gpt нет активного раздела, загрузчик в этом случае создаётся на разделе - EFI system partition (ESP), отформатированным в fat32.
Всем привет в моих видео на ютубе я показывал как записать игру в оперативку или как закинуть файл подкачки в оперативную память или как увеличить производительность браузера гугл хрома с помощью заброски его кеша в оперативку. Многие задали вопрос можно ли установить Windows в оперативку и будит ли от этого толк? Сейчас я все расскажу.
Как установить Windows в оперативку?
Для этого нам понадобится набор инструментов:
- 16 гб RAM, или больше. Хотя можно попробовать и на 8. 4 хватит только для XP
- Grub4Dos
- Wincontig
- BootIce
- Partition Wizard или что-то подобное для клонирования разделов
- драйвер Firadisk
- образ Windows желательно x64 (можно и x32, но свободной памяти будет макс 3.2гб).
- установленная и работающая винда от 7 до 10
Grub4Dos — это менеджер загрузки, для организации мультизагрузочных систем. он так же может создавать виртуальные диски - VHD и работать с ними так же как и с обычными дисками. VHD может быть смонтирован в память что нам и нужно. При монтировании в память содержимое файла-источника копируется в память и дальнейшая работа ведется уже оттуда. Как источник можно использовать файлы .ima (образы дискет), .iso (образы CD/DVD) а также .img (RAW образы HDD). Родные для Windows файлы .vhd (фиксированного размера, не динамические и не дифференциальные) представляют собой те же .img, но с небольшим заголовком и их тоже можно подключать.
Созданные при помощи Grub4Dos виртуальные диски доступны в реальном режиме. Windows сможет работать с ними только при наличии специального драйвера - Firadisk (работает с дисками в памяти) и WinVBlock (работает с образами в файлах). При наличии в Windows Firadisk она сможет работать с дисками, созданными в Grub4Dos. К сожалению, драйверы не подписаны и для их работы нужно отключить проверку подписей драйверов. Делаем так: создаем VHD с установленной Windows, где отключаем проверку подписей, устанавливаем Firadisk, затем подгружаем VHD еще до загрузки Windows через Grub4Dos и загружаемся уже в виндовс которая записана целиком в оперативную память.
Устанавливаем Grub4dos. Запускаем BootIce, выбираем диск, с которого будем загружатся, ставим Grub4dos в MBR, кладем в корень любого раздела файлы grldr и menu.lst.
В menu.lst пишем:
Потом через управление компьютером - управление дисковыми устройствами создаем в корне нашего рабочего раздела файл VHD фиксированного размера гигабайт этак на 10 (можно больше, при наличии большого количества оперативки), форматируем в NTFS, отключаем диск и дефрагментируем его файл при помощи Wincontig.
Нужно из этого VHD получить образ диска с готовой к работе Windows, драйверами для вашего оборудования и поддержкой загрузки из VHD, а еще такой образ можно просто скачать. Если качать образ то только с отвязаными драйверами, так как ваш компьютер может отличаться. После загрузки инсталлятора жмем Shift-F10, и выполняем:
где «D:\win10.vhd» — путь к файлу VHD. Буквы дисков могут отличаться от вашей основной системы, их можно посмотреть запустив, к примеру notepad и открыв в нем диалог выбора файла.
VHD появится в списке устройств для установки. После установки в вашем загрузочном меню Windows появится новая запись и окажется по умолчанию. Это и есть загрузка в VHD.
Загружамем виндовст и создаем родной загрзчик так:
Отключаем в загрзчике проверку цифровых подписей так:
И в том загрузчике с которого мы загрузились тоже отключаем:
Перезагружаем компьютер для включения тестового режима и устанавливаем драйвер Firadisk: hdwwiz, установливаем все устройства в ручную с файлов .inf
Сжимаем VHD до размера что бы влез в опеартивку можно накинуть пару лишних гигов если оперативки много, я вообще сделал диск на 32 гига.
Грузимся в предыдущую винду, монтируем win10.vhd, создаем еще один vhd уже конечного размера и копируем один в другой через редактор разделов вроде Partition Expert. Заменяем тот файл на новый, опять дефрагментируем через Wincontig. Попробуем загрузиться в новый VHD. Все должно быть норм.
Наконец таки пришло время загружать винду в оперативку, прописываем в грубе так:
Загружамемся, после копирования винды в оперативку запустится Windows которая целиком и полностью будет находится в оперативке. Можно проверить скорость диска и вы будуите крайне приятно удевлины, посмотрите сами это сюрприз!
Что бы ввсе изменения в windows сохранялись нам нужно сделать кое что еще, прописываем груб:
Таким образом все из Windows в ОЗУ будет сохранятся в файл VHD на диске или флешке вашего ПК. Теперь ты установил Windows в оперативку! Знаешь еще способы пиши о этом комментариях.
Главная загрузочная запись
MBR — традиционная структура для управления разделами диска. Поскольку она совместима с большинством систем, то по-прежнему широко используется. Главная загрузочная запись расположена в первом секторе жёсткого диска или, проще говоря, в самом его начале. Она содержит таблицу разделов — информацию об организации логических разделов на жёстком диске.
MBR также содержит исполняемый код, который сканирует разделы на предмет активной ОС и инициализирует процедуру загрузки ОС.
Диск MBR допускает только четыре основных раздела. Если вам нужно больше, то можно назначить один из разделов расширенным разделом, и на нём можно создавать больше подразделов или логических дисков.
MBR использует 32 бита для записи длины раздела, выраженной в секторах, так что каждый раздел ограничен максимальным размером 2 ТБ.
- Совместима с большинством систем.
- Допускает только четыре раздела, с возможностью создания дополнительных подразделов на одном из основных разделов.
- Ограничивает размер раздела двумя терабайтами.
- Информация о разделе хранится только в одном месте — в главной загрузочной записи. Если она повреждена, то весь диск становится нечитаемым.
Процесс загрузки MBR
Вернёмся к процессу загрузки. Если в вашей системе используется структура разделов MBR, то первый процесс выполнения загрузит BIOS. Базовая структура ввода-вывода (Basic Input/Output System) включает в себя микропрограмму загрузчика. Микропрограмма загрузчика содержит низкоуровневые функции, такие как ввод с клавиатуры, доступ к видеодисплею, осуществление дисковых операций ввода-вывода и код для загрузки начальной стадии загрузчика. До того как BIOS может определить загрузочное устройство, он выполняет последовательность функций системной конфигурации, начиная со следующих:
- Самотестирование при включении питания.
- Обнаружение и инициализация видеокарты.
- Отображение стартового экрана BIOS.
- Осуществление быстрой проверки памяти (RAM).
- Конфигурация устройств plug and play.
- Определение загрузочного устройства.
- Первая стадия загрузчика (446 байт).
- Таблица разделов диска (16 байт на раздел × 4 раздела) — MBR поддерживает только четыре раздела, подробнее об этом ниже.
- Подпись (2 байта).
VBR обычно содержит начальный загрузчик программ — Initial Program Loader (IPL), этот код инициирует процесс загрузки. Начальный загрузчик программ включает в себя вторую стадию загрузчика, который затем загружает операционную систему. На системах семейства Windows NT, таких как Windows XP, начальный загрузчик программ сначала загружает другую программу под названием NT Loader (аббревиатура NTLDR), которая затем загружает операционную систему.
Для операционных систем на ядре Linux используется загрузчик GRUB (Grand Unified Bootloader). Процесс загрузки похож на описанный выше, единственная разница в наименовании загрузчиков на первой и второй стадии.
В GRUB первая стадия загрузчика называется GRUB Stage 1. Она загружает вторую стадию, известную как GRUB Stage 2. Вторая стадия загружает получает список операционных систем на жёстких дисках и предоставляет пользователю список для выбора ОС для загрузки.
Процесс загрузки GPT
На том же этапе загрузки в структуре разделов GPT происходит следующее. GPT использует UEFI, в котором нет такой как у MBR процедуры хранения в загрузочном секторе первой стадии загрузчика с последующим вызовом второй стадии загрузчика. UEFI — унифицированный расширяемый интерфейс прошивки (Unified Extensible Firmware Interface) — является более продвинутым интерфейсом, чем BIOS. Он может анализировать файловую систему и даже сам загружать файлы.
После включения вашего компьютера UEFI сначала выполняет функции системной конфигурации, также как и BIOS. Это управление энергопотреблением, установка дат и других компонентов управления системой.
Затем UEFI считывает GPT — таблицу разделов GUID. GUID расшифровывается как «глобальный уникальный идентификатор» (Globally Unique Identifier). GPT располагается в первых секторах диска, сразу после сектора 0, где по-прежнему хранится главная загрузочная запись для Legacy BIOS.
GPT определяет таблицу разделов на диске, на которой загрузчик EFI распознает системный раздел EFI. Системный раздел содержит загрузчики для всех операционных систем, установленных на других разделах жёсткого диска. Загрузчик инициализирует менеджер загрузки Windows, который затем загружает операционную систему.
Для операционных систем на ядре Linux существует версия GRUB с поддержкой EFI, которая загружает файл, такой как grub.efi, или загрузчик EFI, который загружает свой файл, такой как elilo.efi.
Вы можете заметить, что и UEFI-GPT, и BIOS-MBR передают управление загрузчику, но сами напрямую не грузят операционную систему. Однако в UEFI не требуется проходиить через несколько стадий загрузчика, как в BIOS. Процесс загрузки происходит на самой ранней стадии, в зависимости от вашей аппаратной конфигурации.
Если вы когда-нибудь пытались установить Windows 8 или 10 на новый компьютер, то скорее всего видели вопрос: какую структуру разделов использовать, MBR или GPT.
Если вам хочется узнать больше или вы планируете установить новую операционную систему на компьютер, то читайте дальше. Мы уже рассмотрели различия в процессах загрузки, которые стоит держать в уме, разбивая диск или выбирая структуру разделов.
GPT — более новая и продвинутая структура разделов, и у неё много преимуществ, которые я перечислю ниже. MBR используется давно, она стабильная и обладает максимальной совместимостью. Хотя GPT со временем может вытеснить MBR, поскольку предлагает более продвинутые функции, но в некоторых случаях можно использовать только MBR.
Процесс загрузки MBR
Вернёмся к процессу загрузки. Если в вашей системе используется структура разделов MBR, то первый процесс выполнения загрузит BIOS. Базовая структура ввода-вывода (Basic Input/Output System) включает в себя микропрограмму загрузчика. Микропрограмма загрузчика содержит низкоуровневые функции, такие как ввод с клавиатуры, доступ к видеодисплею, осуществление дисковых операций ввода-вывода и код для загрузки начальной стадии загрузчика. До того как BIOS может определить загрузочное устройство, он выполняет последовательность функций системной конфигурации, начиная со следующих:
- Самотестирование при включении питания.
- Обнаружение и инициализация видеокарты.
- Отображение стартового экрана BIOS.
- Осуществление быстрой проверки памяти (RAM).
- Конфигурация устройств plug and play.
- Определение загрузочного устройства.
- Первая стадия загрузчика (446 байт).
- Таблица разделов диска (16 байт на раздел × 4 раздела) — MBR поддерживает только четыре раздела, подробнее об этом ниже.
- Подпись (2 байта).
VBR обычно содержит начальный загрузчик программ — Initial Program Loader (IPL), этот код инициирует процесс загрузки. Начальный загрузчик программ включает в себя вторую стадию загрузчика, который затем загружает операционную систему. На системах семейства Windows NT, таких как Windows XP, начальный загрузчик программ сначала загружает другую программу под названием NT Loader (аббревиатура NTLDR), которая затем загружает операционную систему.
Для операционных систем на ядре Linux используется загрузчик GRUB (Grand Unified Bootloader). Процесс загрузки похож на описанный выше, единственная разница в наименовании загрузчиков на первой и второй стадии.
В GRUB первая стадия загрузчика называется GRUB Stage 1. Она загружает вторую стадию, известную как GRUB Stage 2. Вторая стадия загружает получает список операционных систем на жёстких дисках и предоставляет пользователю список для выбора ОС для загрузки.
Таблица разделов GUID (GPT)
GPT — более новый стандарт для определения структуры разделов на диске. Для определения структуры используются глобальные уникальные идентификаторы (GUID).
Это часть стандарта UEFI, то есть систему на основе UEFI можно установить только на диск, использующий GPT, например, таково требование функции Windows 8 Secure Boot.
GPT допускает создание неограниченного количества разделов, хотя некоторые операционные системы могут ограничивать их число 128 разделами. Также в GPT практически нет ограничения на размер раздела.
- Допускает неограниченное количество разделов. Лимит устанавливает операционная система, например, Windows допускает не более 128 разделов.
Не ограничивает размер раздела. Он зависит от операционной системы. Ограничение на максимальный размер раздела больше, чем объём любых существующих сегодня дисков. Для дисков с секторами по 512 байт поддерживается максимальный размер 9,4 ЗБ (один зеттабайт равен 1 073 741 824 терабайт)- GPT хранит копию раздела и загрузочных данных и может восстановить данные в случае повреждения основного заголовка GPT.
- GPT хранит значения контрольной суммы по алгоритму циклического избыточного кода (CRC) для проверки целостности своих данных (используется для проверки целостности данных заголовка GPT). В случае повреждения GPT может заметить проблему и попытаться восстановить повреждённые данные из другого места на диске.
- Может быть несовместима со старыми системами.
- GPT допускает неограниченное количество основных разделов, в то время как MBR допускает только четыре основных, а остальные — дополнительные.
- GPT позволяет создавать разделы любого размера, в то время как MBR имеет ограничение в 2 ТБ.
- GPT хранит копию данных раздела, позволяя восстановить их в случае повреждения основного заголовка GPT; MBR хранит только одну копию данных раздела в первом секторе жёсткого диска, что может привести к потере всей информации в случае повреждении информации о разделах.
- GPT хранит значения контрольной суммы для проверки, что данные не повреждены, и может выполнить необходимое восстановление из других областей диска в случае повреждения; MBR не имеет способа узнать о повреждении данных, вы можете узнать об этом только если компьютер откажется загружаться или исчезнет раздел.
Первый сектор (сектор 0) на диске GPT содержит защитную запись MBR, в которой записано, что на диске один раздел, который распространяется на весь носитель. В случае использования старых инструментов, которые читают только диски MBR, вы увидите один большой раздел размером с весь диск. Защитная запись сделана для того, чтобы старый инструмент ошибочно не воспринял диск как пустой и не перезаписал данные GPT новой главной загрузочной записью.
MBR защищает данные GPT от перезаписи.
Apple MacBook'и используют GPT по умолчанию, так что невозможно установить Mac OS X на систему MBR. Даже хотя Mac OS X может работать на диске MBR, но установка на него невозможна. Я пыталась сделать это, но безуспешно.
Большинство операционных систем на ядре Linux совместимы с GPT. При установке ОС Linux на диск в качестве загрузчика будет установлен GRUB 2.
Для операционных систем Windows загрузка из GPT возможна только на компьютерах с UEFI, работающих под 64-битными версиями Windows Vista, 7, 8, 10 и соответствующими серверными версиями. Если вы купили ноутбук с 64-битной версией Windows 8, то с большой вероятностью там GPT.
Windows 7 и более ранние системы обычно устанавливают на диски с MBR, но вы всё равно можете преобразовать разделы в GPT, как будет рассказано ниже.
Все версии Windows Vista, 7, 8, 10 могут считывать и использовать данные из разделов GPT — но они не могут загружаться с таких дисков без UEFI.
Вы можете комфортно себя чувствовать и с MBR, и c GPT. Но учитывая преимущества GPT, упомянутые ранее, и факт постепенного перехода современных компьютеров на эту технологию, вы можете предпочесть GPT. Если цель заключается в поддержке старого оборудования или нужно использовать традиционный BIOS, то вы застряли на MBR.
Проверьте тип раздела жёсткого диска
На каждом жёстком диске под Windows можно проверить тип разделов с помощью «Управления дисками» (Disk Management). Для запуска «Управления дисками» сделайте следующее:
Нажмите сочетание «горячих клавиш» Windows+R, откроется окно для запуска программ.
Наберите diskmgmt.msc и нажмите клавишу Enter.
Windows просканирует жёсткие диски и вскоре покажет их. Для проверки типа разделов любого жёсткого диска нажмите правой кнопкой мыши на плашку диска в нижней части интерфейса. Нужно нажимать на «Диск 0», «Диск 1» и так далее, а не на разделы.
В появившемся контекстном меню выберите «Свойства». Откроется окно со свойствами выбранного диска.
Перейдите на вкладку «Тома» и посмотрите на значение «Стиль раздела».
В списке перечислены все диски. В колонке Gpt указан стиль раздела для каждого диска. Если видите звёздочку в колонке, то это GPT, если её нет — это MBR.
- Ошибка № 1: «Windows не может быть установлена на этот диск. Выбранный диск не имеет стиль разделов GPT».
- Ошибка № 2: «Windows не может быть установлена на этот диск. Выбранный диск имеет стиль разделов GPT».
Как вы уже знаете, MBR и GPT — это две абсолютно разные структуры разделов жёсткого диска. MBR — это традиционная структура разделов, а GPT — более новая.
Ошибка № 1 возникает, когда вы пытаетесь установить Windows на компьютер с UEFI, а раздел жёсткого диска не сконфигурирован для режима UEFI или совместимости с Legacy BIOS. Microsoft TechNet предлагает два варианта решения проблемы.
- Перезагрузить компьютер в режиме совместимости с Legacy BIOS. Этот вариант позволит сохранить текущий стиль раздела.
- Переформатировать диск под UEFI, используя стиль раздела GPT. Этот вариант позволит вам использовать функции прошивки UEFI. Переформатирование можно сделать самостоятельно, следуя инструкциям ниже. Всегда сохраняйте резервную копию данных перед форматированием.
С помощью Windows Setup
Инструкции для преобразования жёсткого диска с GPT на MBR
«Windows не может быть установлена на этот диск. Выбранный диск имеет стиль разделов GPT»
После включения компьютера в его оперативной памяти нет операционной системы. Само по себе, без операционной системы, аппаратное обеспечение компьютера не может выполнять сложные действия, такие как, например, загрузку программы в память. Таким образом мы сталкиваемся с парадоксом, который кажется неразрешимым: для того, чтобы загрузить операционную систему в память, мы уже должны иметь операционную систему в памяти.
Решением данного парадокса является использование специальной маленькой компьютерной программы, называемой начальным загрузчиком, или BIOS (Basic Input/Output System). Эта программа не обладает всей функциональностью операционной системы, но её достаточно для того, чтобы загрузить другую программу, которая будет загружать операционную систему. Часто используется многоуровневая загрузка, в которой несколько небольших программ вызывают друг друга до тех пор, пока одна из них не загрузит операционную систему.
В современных компьютерах процесс начальной загрузки начинается с выполнения процессором команд, расположенных в постоянной памяти (например на IBM PC — команд BIOS), начиная с предопределённого адреса (процессор делает это после перезагрузки без какой бы то ни было помощи) . Данное программное обеспечение может обнаруживать устройства, подходящие для загрузки, и загружать со специального раздела выбранного устройства (чаще всего загрузочного сектора данного устройства) загрузчик ОС.
Начальные загрузчики должны соответствовать специфическим ограничениям, особенно это касается объёма. Например, на IBM PC загрузчик первого уровня должен помещаться в первых 446 байтах главной загрузочной записи, оставив место для 64 байт таблицы разделов и 2 байта для сигнатуры AA55, необходимой для того, чтобы BIOS выявил сам начальный загрузчик.
Данный пример основан на начальном загрузчике одного из миникомпьютеров, выпущенного в 1970-х годах фирмой Nicolet Instrument Corporation.
0: записать в регистр P число 106
1: проверить что устройство считывания с перфолент может начинать считывание
2: если не может, перейти к п. 1
3: прочитать байт с устройства считывания с перфолент и записать его в аккумулятор
4: если перфолента закончилась, перейти к п. 8
5: записать значение, хранимое в аккумуляторе, в оперативную память по адресу, хранящемуся в регистре P
6: уменьшить значение регистра P на единицу
7: перейти к п. 1
В наш век мы все любим скорость. Мы любим быстрый транспорт, быстрые службы доставки, скоростной интернет. И, разумеется, быстрые компьютеры. У нас есть шестое чувство, которым мы детектируем милли/микросекундные задержки. Частенько появляется желание что-нибудь да разогнать.
Но что же разгонять? Что тормозит нам работу и создает дискомфорт? Наши процессоры работают на многогигагерцовых частотах, гоняют электроны на релятивистских скоростях. Не отстают от них и память с шинами передачи данных. Но как только дело касается периферии… здесь притаился неторопливый макромир. Это не электронами жонглировать. Будьте добры дождаться, пока диск в DVD-приводе раскрутится, пока придет очередной байт из порта ввода/вывода, пока HDD подведет свою считывающую головку в нужное место пластины. Ну ладно, DVD и COMпортами мы пользуемся нечасто(если вообще пользуемся), а вот HDD… У нас на нем все-таки ОС лежит, а в ней многие тысячи файлов, и кто знает, в какой момент они могут понадобиться. То лог записать, то dll подгрузить, то шрифт, то реестр, то еще что-то. А на некоторых HDD множество одновременных обращений может приводить к хабраэффектусущественному падению скорости работы — наблюдаю такое на своих WD Green.
Казалось бы, тут нам должны помочь команда славных защитников вселенной по имени Файловый Кэш, Prefetch, Superfetch, и их помощник ReadyBoost. Да, они помогают, но частенько бывает, что и промахиваются — и тогда приходится наблюдать курсор ожидания.
Но что это? Я слышу в зале шум, там скандируют — SSD! SSD! Что тут сказать, SSD — однозначно круто. 200-300мб/с и даже выше, практически мгновенный доступ, никакого шума… ну просто чудеса. Но про SSD и так написана куча тем, а раз уж разгонять… может, есть чего побыстрее? Хм. Есть у нас что-нибудь быстрее флеш-памяти в SSD? SSD подороже? Raid0 из SSD? А еще быстрее? RevoDrive? О! DDR3! (Кто там крикнул «L1 cache»? Юморист!)
Мы знаем про RAM-диски, иногда используем их как временное хранилище — чтоб быстрей работало. Так что если взять да и переместить всю систему в RAM? Должно работать намного быстрее любого SSD, и уж подавно быстрее HDD, не так ли? Или файловый кэш и так должен давать нам похожий эффект? Возможно, разницы и не будет заметно. Ну так почему бы не попробовать? В моем компьютере 16 гб ОЗУ, хватает на все и еще остается. Неплохо бы задействовать то самое оставшееся. Поехали!
0) Чеклист:
— 16 гб RAM, или больше. Хотя можно попробовать и на 8. А вот 4 хватит разве что для XP.
— Grub4Dos
— Wincontig
— BootIce
— Partition Wizard или что-то подобное для клонирования разделов,
— драйвер Firadisk
— дистрибутив Windows x64 (можно и x86, но свободной памяти будет не более 3.5гб). Я проверял на WinXP(x86), Win7, Win8. Весьма желательны «облегченные» версии, ведь память ОЗУ не резиновая.
— установленная и работающая Win7 (или Win8)
1) Внимание! если у вас несколько жестких дисков — во избежание проблем делайте все последующее на HDD, отличном от системного. Системный вообще лучше не трогать и по возможности отключить, а Win7 установить для опытов на другой диск. Мне не известна ваша конфигурация, какие-то действия могут поломать вам загрузку. Неплохо бы предварительно запастись восстановительным LiveCD/USB, или хотя бы установочным диском Windows а также хотя бы примерно понимать, что делаете и как вернуть все назад. Для уверенности можно сначала провести опыт на виртуальной машине.
Сначала немного теории. Grub4Dos — это менеджер загрузки, для организации мультизагрузочных систем. Среди всего прочего — может создавать виртуальные устройства и работать с ними так же как и с обычными дисками. Виртуальный диск может быть смонтирован на файл, или же в память. При монтировании в память содержимое файла-источника копируется в память и дальнейшая работа ведется уже оттуда. Как источник можно использовать файлы .ima (образы дискет), .iso (образы CD/DVD) а также .img (RAW образы HDD). Родные для Win7 файлы .vhd (фиксированного размера, не динамические и не дифференциальные) представляют собой те же .img, но с небольшим заголовком и их тоже можно подключать.
Созданные при помощи Grub4Dos виртуальные диски доступны в реальном режиме. Windows же увидит их только при наличии специального драйвера. Такие драйверы существуют — это Firadisk (работает с дисками в памяти) и WinVBlock (работает с образами в файлах). При наличии в ОС нужного драйвера она сможет работать с дисками, созданными в Grub4Dos. К сожалению, драйверы не подписаны и для их работы в x64 системе нужно отключить проверку подписей драйверов. Таким образом, ход действий: готовим VHD с установленной Windows, где отключаем проверку подписей, устанавливаем Firadisk, затем подгружаем VHD еще до загрузки Windows через Grub4Dos и вперед.
Сначала установим на нашу машину Grub4dos. Запускаем BootIce, выбираем диск, с которого будем грузиться, ставим Grub4dos в MBR, кладем в корень любого раздела файлы grldr и menu.lst.
В menu.lst пишем:
Команда «find --set-root» выполняет поиск указанного файла и делает первый раздел, где этот файл был найден, текущим. Поэтому проверьте, не лежат ли у вас лишние файлы bootmgr на других разделах. Если вам известно, что системный диск — это hd0, можно написать прямо — chainloader (hd0,0)/bootmgr
Далее через управление компьютером-управление дисковыми устройствами создаем в корне нашего рабочего раздела файл VHD фиксированного размера гигабайт этак на 10 (можно и больше, чтобы хватило для установки), форматируем в NTFS, отключаем диск и дефрагментируем его файл при помощи Wincontig.
Сейчас надо из этого VHD получить образ диска с готовой к работе Windows, драйверами для вашего оборудования и поддержкой загрузки из VHD. Этого можно добиться разными способами.
Способ 1, рекомендуемый. Для Win7 редакций Корпоративная и Максимальная, и для Win8. Установка системы в VHD штатными средствами.
После загрузки инсталлятора жмем Shift-F10, и выполняем:
где «D:\win7.vhd» — путь к файлу VHD. Буквы дисков могут отличаться от вашей основной системы, их можно посмотреть запустив, к примеру notepad и открыв в нем диалог выбора файла.
Продолжаем, VHD появится в списке устройств для установки. После установки в вашем загрузочном меню Windows появится новая запись и окажется по умолчанию. Это и есть загрузка в VHD.
Способ 2. Для всех систем. Установка в отдельный раздел на диске. Устанавливаем Windows туда стандартно, и в самом конце после всей подготовки клонируем раздел в VHD.
Способ 3. Для всех систем. Устанавливаем систему в VHD на виртуальной машине, проделываем всю подготовку, а затем грузимся с этого VHD на реальном железе. Есть вероятность возникновения проблем с драйверами оборудования при переносе на реальное железо. Лучше перед переносом выполнить sysprep.
Способ 4. Для WinXP. Используем драйвер WinVBlock.
В menu.lst добавляем вот такие три записи.
Что здесь делается:
-подключается winxp.vhd как жесткий диск (файл VHD обязательно нужно дефрагментировать при помощи WinContig, иначе Grub4Dos откажется его подключать)
-подключается образ дискеты winvblock.ima с драйверами WinVBlock, грузится в память.
-подключается образ установочного CD xp.iso, грузится в память.
-записей для установки две, т.к. установка WinXP состоит из 2х стадий — текстовый и графический режим. Сначала выбираем TXT, при второй загрузке — GUI. Разница лишь в том, откуда грузимся — с CD или HDD.
-нажимать F6 и выбирать драйвер не нужно, интегрировать в дистрибутив тоже, достаточно иметь его на образе дискеты.
-после установки в Grub4Dos выбираем Boot и загружаемся в систему, которая установилась в VHD.
Для Win7, а тем более для x64 редакций это так просто не сработает. Нужна особая, уличная магия.
Впрочем, у меня так и не получилось заставить WinVBlock работать с Win7. Может, у вас получится.
Cпособ 5. Для Win7 любых редакций. Используем VBoot. Это тоже драйвер, позволяющий грузиться в VHD. Он подписан и позволяет устанавливать x64 системы. К сожалению, платный, но доступна демо-версия, которой для установки достаточно.
Выставляем время на 2011 год. (иначе при загрузке получите BSOD)
В корень диска кладем папку VBoot, vbootldr и vbooldr.mbr.
В vboot\grub\grub.cfg ищем записи Windows 7 VHD и Windows 7 Install и меняем на вот такие:
Метку раздела, на котором лежат файлы win7.vhd и win7.iso (дистрибутив Win7) — меняем на SYS (хотя не важно какую, лишь бы совпадало). У меня Vboot почему-то не хочет распознавать пути вида (hd0,1). Еще можно обращаться по UUID, но метки проще.
В menu.lst добавляем запись:
Перезагрузка. В Grub4Dos идем в Vboot, а в нем — в Windows 7 Install. После загрузки инсталлятора жмем shift-F10, запускаем notepad, открываем диалог выбора файлов и смотрим, на какой букве находится диск с Vboot. Допустим, это D:. Возвращаемся в командную строку и пишем для 64-битных редакций — или для 32-битных Это установит драйвер Vboot и примонтирует виртуальные устройства. Затем продолжаем установку на появившийся в списке устройств VHD, и грузимся через запись Windows 7 VHD. После окончательной настройки (см. ниже) удаляем Vboot командой vbootctl uninstall и тогда можно вернуть время на текущее.
И вот Windows установлена и загрузилась.
Во первых, проверим через Bootice, не снес ли нам установщик Grub4Dos из MBR. Если снес — снова ставим.
Во вторых, проверим, есть ли на системном разделе загрузчик Windows — файл bootmgr и папка Boot (в случае Win7/8). Они имеют атрибуты скрытых и системных, включите их отображение. Если нет — значит установщик увидел этот загрузчик где-то еще и добавил опцию своей загрузки туда, или же создал скрытый 100мб раздел и разместил все там. Это не дело, загрузчик на системном разделе нам нужен. Поэтому создаем его:
И отключаем в нем проверку подписей драйверов:
В действующем загрузчике тоже отключаем:
Перезагрузка для включения тестового режима и устанавливаем драйвер Firadisk: hdwwiz (hdwwiz.cpl в XP), установка вручную, все устройства, установить с диска и выбираем .inf файл.
Теперь ужимаем VHD до приемлимого размера (я добавил пару гб на всякий случай, получилось 6). Кстати, а как определить доступный размер? На экране меню Grub4Dos в верхней строке есть строка вроде Mem: /639K/13582M/512M.
Это доступные области памяти, в которые он может загрузить образ. Но он может загружать образ только целиком в одну область, так что размер нового VHD не должен превышать самое большое значение из этой строки, иначе получите ошибку.
Грузимся в предыдущую Win, монтируем win7.vhd, создаем еще один vhd уже конечного размера и копируем один в другой через редактор разделов вроде Partition Expert. (Если вы решили последовать способу установки 2 — сейчас самое время склонировать ваш системный раздел в VHD) Заменим прежний файл на новый, опять дефрагментируем через Wincontig. Попробуем загрузиться в новый VHD. Проблем возникнуть не должно.
Можно вместо всего этого использовать специальную программу для урезания и сжатия уже установленной Win7 — VHD_W7_Compact. Заявляется, что может урезать до 600мб.
5) Пора таки загрузиться из RAM! Добавим в menu.lst еще несколько строчек:
(для XP вместо /bootmgr пишем /ntldr)
И наконец загружаемся, выбрав Boot Win7 from RAM.
Минуту-две VHD копируется в память, несколько секунд загрузки и… появляется рабочий стол. Ура, семерка работает без использования HDD, причем вроде неплохо работает.
Можно еще добавить хитрый способ загрузки Win7 напрямую из VHD с сохранением изменений:
Чтобы это работало — в .inf файле Firadisk нужно заменить «LoadOrderGroup = Boot Bus Extender» на «LoadOrderGroup = SCSI miniport».
Здесь Firadisk заставляем работать с образом не в памяти, а на диске. Оно заметно тормозит, так что лучше все же применять способ установки 1 с родным VHD boot.
Вот тут есть еще одна статья о загрузке Win7 из RAM.
Ну а c линуксами можно попробовать вот так.
Я использую такую конфигурацию на домашнем компьютере с прошлой осени, уже более полугода. Попробую упорядочить субъективные впечатления:
Плюсы:
+ Действительно, работает быстренько. Программы из памяти запускаются мгновенно (что очевидно). По стабильности работы нареканий нет — компьютер работает неделями и месяцами.
+ Нет лишних звуков от HDD.
+ Понятия «износ», «количество циклов чтения/записи» — для RAM несущественны.
+ Побочный плюс — получилась неизменяемая, неубиваемая система. Можно одноразово ставить всякие кривые программы (к примеру, для восстановления USB flash — они обычно ставят свои драйверы, которые потом трудно выковырять) не рискуя что-либо испортить. Перезагрузка и как ничего и не было.
+ Побочный плюс — VHD это круто. Никаких больше разделов диска, просто файлы, которые элементарно копируются/перемещаются/удаляются/бэкапятся без всяких акронисов/парагонов/gparted-ов.
Минусы:
— Честно говоря, разницы с хорошим SSD по скорости не заметно. В обоих случаях придраться к быстродействию негде.
— Конечно же, тратится драгоценная память. Вынь да положь 6-8 гигабайт. В моем случае остатка в 10гб мне хватает, а если будет мало — можно и в режиме VHD загрузиться.
— 6-8 гб для Windows 7 — все же очень мало. Одни обновления Windows Update быстро съедят все место. А еще захочется установить любимые программы… кому-то и 100гб системного раздела может быть мало (а некоторые пропагандируют вообще не разбивать диски на разделы). В моем случае я разместил на системном разделе только самые востребованные программы, а все остальное в виде portable версий держу на HDD. Все-таки это домашний компьютер, на нем нет жадных до памяти и места на системном диске монстров вроде SQL Server, Visual Studio, Adobe CS, MS Office (хватает и портабельного LibreOffiсe). Пока все хорошо.
— temp приходится переносить на другой диск. Некоторые инсталлеры никого не спрашивая распаковываются именно туда и свободного места может не хватить.
— Приходится отключать проверку подписей драйверов. Тут уж ничего не поделать.
— У неубиваемости есть другая сторона. Для каждого изменения в настройках, для каждого обновления, для каждой установки программы/драйвера для постоянного использования необходимо перезагружаться в режим работы с VHD — иначе все будет потеряно при перезагрузке. Если какая-то ваша программа хранит что-то свое в профиле (например, игры держат там сохранения) — то и профиль желательно переносить на другой раздел.
— Загрузка 6-8гб в память занимает много времени — не похвастаешься 10 секундной загрузкой.
— По понятным причинам невозможно использовать гибернацию. Но в обычный сон система уходит и нормально просыпается.
Но я снова слышу крики в зале. «И чего только не придумают, лишь бы SSD не покупать!», «Да это ж бред, выкидывать столько памяти за просто так!», «Какие-то левые кривые дрова ставить?», «Не нужно!». Согласен. Рекомендовать такой подход я не буду. Это скорее занятный эксперимент, чем рабочее решение. Спасибо за внимание, теперь можно постить картинки с хлебными троллейбусами.
P.S. Большая благодарность разработчикам Firadisk и WinVBlock — karyonix и Shao Miller, а также форуму reboot.pro.
Приветствую всех! Вопрос: «Как узнать, где на жёстком диске MBR находится активный раздел вместе с загрузчиком операционных систем (при наличии на HDD нескольких установленных Windows и отсутствии Скрытого раздела System Reserved (Зарезервировано системой)? Прилагаю скриншот Управления дисками своего компьютера». Как видите, на моём жёстком диске есть два раздела: на первом разделе установлена Windows 10, а на втором разделе Windows 7, а скрытого раздела System Reserved (Зарезервировано системой) у меня нет. И я хочу знать, какой из двух разделов активен и содержит загрузчик операционных систем? Ещё хотел спросить, что будет, если я форматирую раздел с установленной Windows 7, загрузится ли после этого Windows 10 или наоборот, форматну раздел с установленной Windows 10, загрузится ли после этого Windows 7?
Если загрузиться в Windows 10, то окно «Управление дисками» выглядит так.
При включении компьютера выходит меню загрузки, где я могу выбрать для загрузки Win 7 или Win 10.
Читайте также: