Пользовательского поиска
Пятница, 06.12.2024, 16:30
Приветствую Вас Гость | RSS
Главная | Загрузка VHD с Windows 7 с помощью флешки - Форум | Регистрация | Вход
Меню Проекта
Форма входа
Мы Рекомендуем:
Мнение Общественности
Оценка Проекта
1. Отлично :-D
2. Хорошо :-)
3. Неплохо :-/
4. Очень плохо }:->
5. Ниочём :-(
Всего ответов: 2940
Статистика
GreenFlash
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Sh1td0wn, asdqqww  
Загрузка VHD с Windows 7 с помощью флешки
c2897010Дата: Вторник, 17.12.2013, 20:47 | Сообщение # 1
Неизвестный
Группа: Пользователи
Сообщений: 4
Репутация: 0
Статус: Отсутствует
Недавно на распродаже Steam приобрёл Civilization 5 иPortal 2 с надеждой на скорое их портирование под Linux. Помимо этих игрушек есть ещё Машинариум и другие, в которые тоже хотелось бы поиграть. Проблема в том, что не хочется устанавливать Windows (или Wine) на машину, а поиграть очень хочется.
Рассматривал виртуализацию с пробрасыванием видеокарты, но в системе всего 4 ГБ ОЗУ.
Остановился на варианте с загрузкой Windows из VHD-образа.
Воспользовался вот
 этой инструкцией для конвертирования install.wim в VHD.
Далее создал загрузочную флешку с Grub4Dos и файл menu.lst

Цитата
title WIN7x32UltVHD
map (hd1,1)/WIN7VHD.vhd (hd0)
map --hook
chainloader (hd0)+1
rootnoverify (hd0)
boot

title  WIN7PE.ISO
map /WIN7PE.ISO (0xff) || map --mem /WIN7PE.ISO(0xff)
map --hook
chainloader (0xff)


Win7PE понадобился для того, чтобы запустить Contig. Дело в том, что файл образа должен быть непрерывным, т.е. его необходимо дефрагментировать. Изначально VHD-файл был расположен на ext4-разделе. Дефрагментирование с помощью e4defrag результата не дало. Поэтому создал NTFS-раздел, забросил туда VHD и дефрагментировал его с помощью contig.
Сейчас Grub4Dos выдаёт ошибку: Error 13: Invalid or unsupported executable format.
Знаю, что дико туплю, но не могу разобраться в чём тут дело. Буду благодарен за вашу помощь.

Кое-что понял. Сам Grub4Dos не может запустить загрузчик винды с VHD-образа.
Значит нужен загрузчик винды на самой флешке. Не могу разобраться как это сделать.


Сообщение отредактировал c2897010 - Вторник, 17.12.2013, 20:49
 
AtlantДата: Среда, 18.12.2013, 14:04 | Сообщение # 2
Эксперт
Группа: Проверенные
Сообщений: 2210
Репутация: 221
Статус: Отсутствует
Сама идея изначально глупая - Windows запущенная с флешки будет тормозить, а ты еще и игрушки собрался туда ставить.
Есть три варианта запуска семерки из VHD:
1. Родной, когда bootmgr + bcd отдельно а все остальное внутри VHD.
2. С помощью FiraDisk, в этом случае всю систему можно держать внутри VHD.
3. С помощью NTBOOT, он содержит в себе bootmgr + bcd + скрипт запускающий все это.
Первый и третий вариант работают не для всех редакций Windows, но VHD может быть любого типа + фрагментированным.
 
c2897010Дата: Понедельник, 30.12.2013, 13:04 | Сообщение # 3
Неизвестный
Группа: Пользователи
Сообщений: 4
Репутация: 0
Статус: Отсутствует
Цитата Atlant ()
Windows запущенная с флешки будет тормозить
VHD-файл с самой виндой расположен на жестком диске. Всё работает замечательно. Предполагалось, что на флешке будет лишь загрузчик винды.

Сейчас всё это дело работает так:
На SSD два раздела: на одном uefi, на другом установлена Ubuntu.
На жестком диске имеется два раздела: ext4 - для разных файлов, а на ntfs-разделе лежит VHD-файл с виндой и её загрузчик.
Когда мне хочется поиграть, то при включении выбираю загрузку с жесткого диска и пользуюсь виндоус.

Хотелось бы сделать всё ещё круче: на ssd только загрузчик (GRUB) и VHD-файл с Ubuntu, на жестком диске только один ext4-раздел, на котором размещён VHD-файл с виндой (сам загрузчик винды тоже в VHD-файле). И при включении выбирать что именно грузить.
 
AtlantДата: Понедельник, 30.12.2013, 13:17 | Сообщение # 4
Эксперт
Группа: Проверенные
Сообщений: 2210
Репутация: 221
Статус: Отсутствует
Для начала тебя надо будет отрубить в биосе UEFI, так как с ним не работает Grub4Dos.

Цитата c2897010 ()
на жестком диске только один ext4-раздел, на котором размещён VHD-файл с виндой

А чем это круче, когда запускаешь Windows с винчестера при наличии SSD ?

Цитата c2897010 ()
на жестком диске только один ext4-раздел, на котором размещён VHD-файл с виндой (сам загрузчик винды тоже в VHD-файле)

Windows не понимает ext4 и такой вариант будет работать только при мапе VHD в озу.

Зачем делать Windows в VHD если для нее все равно выделяется отдельный раздел ?


Сообщение отредактировал Atlant - Понедельник, 30.12.2013, 13:21
 
c2897010Дата: Понедельник, 30.12.2013, 13:29 | Сообщение # 5
Неизвестный
Группа: Пользователи
Сообщений: 4
Репутация: 0
Статус: Отсутствует
Вся эта возня с VHD для того, чтобы избавиться от Clonezilla для резервного копирования.
Сейчас после установки и настройки системы приходится создавать флешку с Clonezilla, делать резервную копию. Затем, в случае чего, снова создавать флешку с Clonezilla и восстанавливать систему из резервной копии.
VHD-файл можно просто заменить на новый.

Добавлено (30.12.2013, 13:29)
---------------------------------------------

Цитата Atlant ()
А чем это круче, когда запускаешь Windows с винчестера при наличии SSD ?
Сейчас приходится делать резервную копию всего ntfs-раздела с помощью Clonezilla. Если бы и система и загрузчик были бы расположены в VHD-файле, то этот файл можно было бы просто заменить.

Цитата Atlant ()
Windows не понимает ext4
Поэтому и хочу использовать GRUB. Ведь в этом случае сама винда будет в VHD-файле. Нет?
 
AtlantДата: Понедельник, 30.12.2013, 13:45 | Сообщение # 6
Эксперт
Группа: Проверенные
Сообщений: 2210
Репутация: 221
Статус: Отсутствует
Так можно установить Clonezilla или ее аналог в отдельный маленький раздел на винчестере, чтоб при загрузке можно было запустить (через отдельно меню или по назначенной клавише - как в ноутбуках с рекавери разделом) создание бекапа/восстановление раздела.

Цитата c2897010 ()
снова создавать флешку

А первую флешку с Clonezilla куда дел ?
Могу предложить заменить Clonezilla на BootIt Bare Metal. Программа весит чуть больше 4 Мб, умеет работать с бекапами, разбивкой на разделы, плюс работа с драйверами/реестром Windows. Для запуска достаточно только двух файлов BootIt-BM.img + grldr (Grub4Dos).

Добавлено (30.12.2013, 13:45)
---------------------------------------------
Цитата c2897010 ()
Поэтому и хочу использовать GRUB. Ведь в этом случае сама винда будет в VHD-файле. Нет?

Она то будет, но когда ее туда полностью положить то нужно будет использовать FiraDisk. А он в свою очередь сможет смонтировать образ (который не мапился в озу) только в том случае если Windows видит раздел с образом и файлы в нем. Аналогично и установка семерки из ISO образа на флешке подключенной в USB 3.0 порт - не получиться, так как в системе нет драйверов для USB 3.0, а FiraDisk стоит на уровень выше и не может на прямую обращаться к неизвестному для системы устройству/разделу.


Сообщение отредактировал Atlant - Понедельник, 30.12.2013, 13:47
 
c2897010Дата: Понедельник, 30.12.2013, 14:04 | Сообщение # 7
Неизвестный
Группа: Пользователи
Сообщений: 4
Репутация: 0
Статус: Отсутствует
Цитата Atlant ()
Так можно установить Clonezilla или ее аналог в отдельный маленький раздел
Не люблю когда на диске куча разделов. Например сейчас на SSD 250 МБ отведено под uefi, при этом используется лишь ~2 МБ. Места всегда не хватает: на 24ГБ SSD стоит система, а винчестер забит фильмами.
Цитата Atlant ()
А первую флешку с Clonezilla куда дел ?
Ну так флешка постоянно используется, а держать отдельную только для Clonezilla как-то расточительно. Знаю, что можно в GRUB создать запись и грузить clonezilla.iso, но всё руки не доходят. И ведь каждый раз, создавая копию, надеешься, что не пригодится smile

Добавлено (30.12.2013, 13:57)
---------------------------------------------

Цитата Atlant ()
Могу предложить заменить Clonezilla на BootIt Bare Metal.
Предпочитаю свободное ПО.

Добавлено (30.12.2013, 14:04)
---------------------------------------------

Цитата Atlant ()
Она то будет, но когда ее туда полностью положить то нужно будет использовать FiraDisk. А он в свою очередь сможет смонтировать образ (который не мапился в озу) только в том случае если Windows видит раздел с образом и файлы в нем.
Значит не судьба. Мне для счастья всего-то и нужно раза два в месяц запустить цивилизацию. В TeamFortress2 и некоторые другие я могу в Linux поиграть. Буду ждать когда портируют, а там винду можно будет и снести к чертям.
Большое спасибо за ответы и с наступающим Новым годом!
 
Sh1td0wnДата: Вторник, 31.12.2013, 12:45 | Сообщение # 8
Программист
Группа: Модераторы
Сообщений: 3829
Репутация: 210
Статус: Отсутствует
Прошу прощения за оффтоп, но раз уж все ответы получены, я прокомментирую последнее сообщение:

> Мне для счастья всего-то и нужно раза два в месяц запустить цивилизацию.
Какую из них?
I
II
III
IV
IV: Colonization
V
У всех шести игр есть версия, запускаемость которой под Wine дотягивает хотя бы до "бронзового", а у большинства она "золотая". А портировать её, скорее всего, не будут.


НАЖМИ МЕНЯ, прежде чем что-либо написать
 
VladMPДата: Пятница, 03.07.2015, 11:51 | Сообщение # 9
Неизвестный
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Отсутствует
Добрый день, граждане форумчане.
Atlant писал про три способа загрузки Windows 7 bp VHD-файла. Меня интересует первый, но в следующем контексте:
Есть работающая Windows 7, установленная на обычный раздел, из нее создан файл VHD утилитой disk2vhd. Есть практика замены MBR и PBR из NT на GRUB4DOS на загрузочном разделе Windows7 (который 100mb) с целью использования его в качестве общего загрузчика для разных ОСей.
Вопрос: Как правильно перепилить конфигурацию bootmgr, что-бы вместо физического диска С (hd0,1) для загрузки Windows использовался созданный ранее файл VHD?
P.S. желательно селать так, что-бы потом можно було использовать исходный раздел системного диска С в других целях.


Сообщение отредактировал VladMP - Пятница, 03.07.2015, 11:53
 
AtlantДата: Пятница, 03.07.2015, 12:06 | Сообщение # 10
Эксперт
Группа: Проверенные
Сообщений: 2210
Репутация: 221
Статус: Отсутствует
Я так понял 100 Мб раздел-огрызок остаеться на винчестере, а системный раздел переходит в VHD. Тогда берем к примеру BootIce > BCD > Easy mode > Add > New VHD boot entry. настраиваешь новую запись, проверяешь, если все работает удаляешь старую чтоб не выдавало запрос какую грузить.
 
VladMPДата: Пятница, 03.07.2015, 14:50 | Сообщение # 11
Неизвестный
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Отсутствует
Atlant, Сделал все, как Вы посоветовали... но сменил атрибуты файлов и папок на том 100 мб. разделе (они были скрыты, BootICE их не видел) Теперь не грузится ни VHD, ни диск С... имею следующее:
1) выбираю Windows 7 - черный экран и перезагрузка спустя минуту...
2) выбираю Windows 7 VHD - та же история, но без последующего перезапуска.
Вопрос: что я сделал не так? и как исправить?

P.S. Восстановление загрузки встроенным в дистрибутив методом проблему не решило (


Сообщение отредактировал VladMP - Пятница, 03.07.2015, 15:39
 
AtlantДата: Пятница, 03.07.2015, 23:20 | Сообщение # 12
Эксперт
Группа: Проверенные
Сообщений: 2210
Репутация: 221
Статус: Отсутствует
Зачем было менять атрибуты файлов, если в под семеркой BootIce можно было выбрать BCD > BCD of current system.
Видимо ты что-то еще изменил раз первая запись в BCD не запускает семерку.
 
JOYsticK8000Дата: Суббота, 04.07.2015, 20:29 | Сообщение # 13
Экспериментатор
Группа: Проверенные
Сообщений: 144
Репутация: 0
Статус: Отсутствует
Я добавляю систему в BCD для загрузки из VHD вот таким батником:
Код
@echo off
for /f "tokens=5" %%A in ('BCDEDIT /copy {current} /d "Windows 7 VHD"') do set guid=%%A
BCDEDIT /set %guid:~0,-1% device vhd="[D:]\VMdata\vhd\win7 vhd.vhd"
BCDEDIT /set %guid:~0,-1% osdevice vhd="[D:]\VMdata\vhd\win7 vhd.vhd"
BCDEDIT /set %guid:~0,-1% inherit {bootloadersettings}
BCDEDIT /set %guid:~0,-1% systemroot \Windows
BCDEDIT /set %guid:~0,-1% path \Windows\system32\winload.exe
BCDEDIT /set %guid:~0,-1% detecthal on
BCDEDIT /displayorder %guid:~0,-1% /addlast


tokens=5 если русская версия BCDedit в англ не помню.
[D:]\VMdata\vhd\win7 vhd.vhd вместо этого свой пусть к VHD файлу. Нюанс только один, в VHD должна быть установлена либо профессиональная либо максимальная версия системы, в других версиях эта функция урезана.

А на счет с флешки то можно положить в корень флешки файл bootmgr и при помощи BCDedit или того же bootice создать с нуля файл BCD на той же флешке или скопировать bootmgr и папку boot с установочного диска с дистрибутивом и подправить BCD как угодно, но тут может быть нюанс так как букву разделу если ставить она может определится как другая, значит надо привязывать раздел с VHD по каким-то другим параметрам например типа как:
device partition=\Device\HarddiskVolume1, надо экспериментировать.

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


Сообщение отредактировал JOYsticK8000 - Суббота, 04.07.2015, 21:00
 
VladMPДата: Понедельник, 06.07.2015, 09:14 | Сообщение # 14
Неизвестный
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Отсутствует
Цитата Atlant ()
Видимо ты что-то еще изменил раз первая запись в BCD не запускает семерку.

я только добавил новую строку согласно Вашему совету. А снимал атрибуты потому, что загрузился из -под live-CD, и он, соответственно, не видел 
Цитата Atlant ()
BCD of current system

теперь вот ломаю голову, как все поправить, ведь
Код
bootrec /scanos
не находит ни одной установленной Windows

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

P.S.2 Исправил загрузку Windows с диска... а патаметр загрузки из ВХД вылетает в ошибку 0xc000000f. Как я правильно понимаю, загрузчик ищет файл ВХД не на том диске, а вот bcdedit параметр типа "/device partition=\Device\HardDiskVolume2\vhd\win.vhd" не воспринимает, ему давай только букву sad

Upd:
вобщем решил проблему с 0xc000000f... банально: UUID обеих пунктов загрузки был идетничен (его так скопировал bcdedit, а я сначала недоглядел)... теперь грузит vhd и вылетает в BSOD 7B unmountable boot device. Сразу добавлю: в BIOS пробовал переключать режим SATA из ACHI в IDE. Результат аналогичен sad


Сообщение отредактировал VladMP - Понедельник, 06.07.2015, 12:37
 
JOYsticK8000Дата: Суббота, 11.07.2015, 18:44 | Сообщение # 15
Экспериментатор
Группа: Проверенные
Сообщений: 144
Репутация: 0
Статус: Отсутствует
VladMP, А посмотреть ваш BCD можно?

Возможно что флешка определена в Object Manager как \Device\Harddisk0\DR0 и ссылка \Device\HardDiskVolume2 получается не верна. Так как \Device\HardDiskVolume2 находится на \Device\Harddisk1\DR1. Или даже \Device\HardDiskVolume3. Так как \Device\HardDiskVolume1 на \Device\Harddisk0\DR0

Хотя тогда бы скорее всего была бы ошибка что VHD файл не найден.

А может быть поврежден сам VHD файл. Может попробовать создать VHD файл средствами Windows подключить его как диск к виртуальной машине и установить систему в ней, а потом прописать в BCD. Делал такое в virtualBox.


Сообщение отредактировал JOYsticK8000 - Суббота, 11.07.2015, 19:34
 
  • Страница 1 из 1
  • 1
Поиск:
Чат

Copyright GreenFlash © 2024
Рейтинг@Mail.ru