Как стать автором
Обновить

Комментарии 33

НЛО прилетело и опубликовало эту надпись здесь
На виртуалбокс может вылететь в BSOD из-за наличия драйверов на реальные железяки. Хотя, у меня так же и экспи установлена (с допилкой с помощью драйвера WinVBlock), и она грузилась в виртуалбоксе. Но это спорно
Upd: А нет, вот сейчас попробовал — загрузилась! Та винда, что на последнем скрине в статье
И она же после этого на реальном железе


Так что да — можно!

При загрузке на виртуалке выдает сообщение-предупреждение о том, что надо бы установить нормальные дрова на видео
Отлично, спасибо большое! Попытаюсь на днях проверить, уже достаточно давно была необходимость в чем-то похожем, а тут вдруг ваша статья.
НЛО прилетело и опубликовало эту надпись здесь
Что-то до меня не дошёл основной посыл статьи. Хотим поставить винду, но не хотим создавать новых разделов — без проблем, поставим на образ, только для хранения образа сначала создадим новый раздел… Далее, с образов грузиться умеет только Win7 Ultimate — тоже не проблема, будем загружать через Grub2. Но для установки на образ возьмём ту же самую Win7 Ultimate…

Если мы и так уже берём Ultimate и создаём новый раздел, почему бы не поставить сразу по-нормальному?
1. Раздел может быть первичным или логическим. Он может и не быть активным. Любой раздел в любом месте винта
2. При установке не перезаписывается MBR, загрузчик линуксовый остается нетронутым.
для установки на образ возьмём ту же самую Win7 Ultimate…

3. Установка в образ производится с помощью VirtualBox, работающего в Linux. Винда использована только для создания образа и настройки bootmgr, и она опять таки работает на виртуальной машине в линуксе.

Собственно речь идет о том, что сидя в линуксе мы устанавиваем Windows в файл VHD-образа, а потом используем по целевому назначению уже в реальном окружении
К тому же — я недавно менял HDD, новый купил, большего объема. Перенес систему со старого винта на новый, как описано тут. Все винды, что на образах установлены, перекопировались просто. Удобно.

Чтобы перенести систему с виндой установленной в раздел по-настоящему надо приложить горазбо больше усилий. А тут обходимся просто копированием файлов с винта на винт рекурсивно с сохранением атрибутов
Теперь более понятно, спасибо. Возможно, стоило перечислить во введении ключевые преимущества именно такого способа установки и работы. А то поначалу лично у меня, скажем, сложилось ощущение, что сейчас поставим не-Ultimate винду на образ, да ещё и находящийся на linux-разделе, и будем грузиться с него. С интересом начал читать, а в итоге схема оказалась совсем другой.
Учту, поправлю, спасибо за критику
«Раздел может быть первичным или логическим»
Давно пора забыть эти слова и переходить на GPT.
Пора, да только моя материнка на десктопе выпущена в 2011 году и не имеет UEFI и не понимает GPT. На ноуте, купленном в декабре 2013 таковые возможности уже канеш имеются
Вы же используете Grub2, а он поддерживает загрузку в Legacy-режиме с GPT таблицы.

Вообще говоря, ни один BIOS не должен понимать ни GPT, ни MBR. Просто брать первый сектор с диска, загружать в память и передавать туда управление. Ну а там у нас может быть Grub, Lilo, Syslinux, загрузочный сектор Windows, всё что угодно.
То есть, если я использую grub2, я могу разметить свой диск в GPT и загружаться, даже не имея uefi?

Можно поподробнее об этом?
Да, нужно только создать дополнительный раздел размером пару мегабайт и пометить его флагом «bios_grub» (в gparted так флаг именуется). На этом разделе grub разместит загрузчик второй стадии (первой будет в первом секторе, т.к. там очень мало место, то его задача лишь в нахождении и загрузке второй стадии).
Установка ничем не отличается от MBR, только в качестве устройства нужно указать не активный раздел, а сам диск (sda).
en.wikipedia.org/wiki/BIOS_Boot_partition
Устанавливал точно так же 8-ку в VHD файл второй системой на ноут с 7-кой. Всё хорошо кроме двух моментов: не работает гибернация и нельзя обновить до 8.1
Есть небольшой вопрос, возможно ли такое провернуть с хакинтошом?
Ответ на него зависит от того, поддерживает ли Mac OS X работу на VHD. У ультимейта имеется родной драйвер, для WinXP/2k3 подобное осуществимо с использованием драйвера WinVBlock. Что касается мака — этот вопрос я не изучал, хотя интересно.

P. S.: Сам мак на VirtualBox у меня имеется установленный.
Что касает линукса, тоже сложно сказать. Arch вроде как можно так запускать, на арчефоруме есть ветка посвященная этому.
Интересная тема!
А можете сделать тест HDD и индекс производительности показать?
надо попробовать. Сравнить с реальным HDD? Думается, если и будет замедление, то несущественное. Прослойка между ОС и устройством ненамного толще классического случая.
К сожалению вот

Оценка не удалась именно из-за способа запуска системы
Ну так это же фича виндового загрузчика. Grub 2, который тупо запускает ntldr с партиции, тут вообще не причем. Вот если б без нтфса, на замапленый бинарный образ…
Да, это фича виндового загрузчика. Grub2 реализует лишь chainload
Вот если б без нтфса, на замапленый бинарный образ…

Экспи так можно загрузить. Но без нтфс не пробовал

P.S.: а надо бы попробовать…

тупо запускает ntldr

bootmgr
Ага, где-то валяется EeePC 900, где в дополнение к FreeBSD стоит XP по подобной схеме. На FAT32 причем вроде даже с сд карты. Жаль, что WinVBlock под nt6.0+ не допилили
Жаль, что WinVBlock под nt6.0+ не допилили

О, да, я пробовал его на Win7 Proff. Она не умеет VHD, думал решить винвблоком. Не-а — падает из-за неподписанного драйвера, а даже если временно убрать подпись, всё равно валится
При загрузке через bootmgr «выбивало» ошибку 0xc000000e (ненайденный Boot\BCD), как при загрузке на реальной системе (через grub4dos и chainloader (hd2,2)/bootmgr), так и при загрузке из виртуалки с предоставлением доступа ко всему диску (не к vhd) и тем же grub4dos'ом.
image

Попрошенный у maisvendoo файл BCD результата не дал.

Решение: на GPT-диске отсутствовал hybrd MBR, был только protective;

gdisk /dev/sdX, p (вывести текущую таблицу разделов), r (опции восстановления/преобразования), h (создать hybrid mbr), указать раздел с .vhd, w (записать).

Осталось только заставить rEFInd загрузить эту радость с другого диска и другого раздела %).
bootmgr грузится, но дальше загрузка винды не проходит, ругается на отсутствующий \Windows\system32\winload.exe c ошибкой 0xc000000f, хотя файл внутри VHD образа конечно же есть
1. EFI или MBR?
2. Если EFI, вопрос этот я ещё не изучал. Если MBR, то было бы интересно взяглянуть на записи в /boot/BCD
У Вас, вероятно, bootmgr ищет winload в текущем разделе, а надо указать ему искать в образе

Обратите внимание на поле «Disk»
Спасибо! Кажется действительно в этом дело, насколько помню. Завтра проверю.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации