Меню Рубрики

Установка виртуального диска на флешку

Виртуальная машина на флешке

Несмотря на то, что я все больше использую разные онлайн-сервисы для решения многих задач, на флешке у меня всегда есть набор незаменимых portable-приложений, которые запускаются без установки на любом компьютере. Разработчики сами часто выкладывают портабельные версии своих продуктов. Но если даже нет, то за них это зачастую делают энтузиасты. В конце концов, сейчас уже каждый может скачать замечательную утилиту Cameyo и сделать portable-версию практически любого приложения. Цель достигается за счет так называемой виртуализации: приложение помещается в специальный контейнер, в котором эмулируется нужные для его работы ветки реестра, файлы на диске и т. д. Где бы оно ни запускалось, для него всегда будут созданы такие тепличные условия. 🙂 Увы, виртуализировать таким образом можно далеко не всё. Когда мне кровь из носа понадобилась портабельная виртуальна машина, на которой можно было бы запускать гостевые ОС, оказалось, что VirtualBox под Cameyo не работает. На официальном сайте подходящей версии виртуальной машины не было, однако на форуме я нашел ссылочку на интересный проект — Portable-VirtualBox.

Настройка portable-версии виртуальной машины

Хакер #157. Деньги на багах в Chrome

Цель разработки — заставить VirtualBox работать без установки и запускаться откуда угодно, например с USB-носителя. Интересно, что утилита полностью написана на скриптах AutoIt (все исходники открыто лежат, но из-за этого, правда, и выглядит не очень изящно. Но главное-то — результат. Итак, скачиваем приложение (у меня это Portable-VirtualBox_v4.1.6-Starter_v6.4.8-Win_all.exe) и запускаем его — программа предложит выбрать путь для распаковки. После этого можно запустить Portable-VirtualBox.exe. Все настройки выставляются автоматически, исправлять что-то вручную (например, пути) не требуется. Появившееся окно — это так называемый лончер. Он появляется один раз и предназначен для загрузки последнего дистрибутива VirtualBox и извлечения оттуда нужных файлов. Интересно, что на этом этапе файлы можно еще и особым образом упаковать, чтобы они занимали меньше места на USB-флешке (хотя при нынешних размерах флешек это едва ли актуально). Жмем на кнопку «Download installation files of VirtualBox», выбираем разрядность системы (например, «Extract the files for 32-Bit system») и ждем, пока лончер сделает все свое дело. Чтобы установщик адаптировал пути под систему (поправил нужные параметры в конфиге VirtualBox.xml), бинарник Portable-VirtualBox.exe нужно запустить еще раз. Вуаля — у нас в распоряжении есть полноценная VirtualBox. Без какой-либо установки в систему.

В трее появится иконка VirtualBox, с помощью которой можно управлять виртуальной машиной и дополнительно настраивать ее. В гостевых ОС по умолчанию работает и USB, и сеть. Но чтобы выпустить гостевую ОС во внешнюю сеть (инет), придется провести некоторые дополнительные манипуляции. В трее надо выбрать «Settings -> Network» и включить опцию «Start VirtualBox with network support». Далее нужно перезапустить Portable-VirtualBox и согласиться на установку драйвера. Процесс организован так, что при завершении работы с виртуальной машиной всё, что было установлено в систему, удаляется. Файлы гостевой ОС разумно разместить прямо на флешке вместе с VirtualBox. У меня эта система одна, поэтому ее можно запускать сразу, без дополнительных манипуляций, указав в параметрах ее имя:

Учитывая, что виртуальная машина всегда находится не в выключенном состоянии, а в режиме «Save the state», ее запуск происходит очень быстро. Поэтому она всегда готова к работе без лишнего геморроя. И где угодно.

источник

Виртуальная загрузочная флешка для виртуальных машин

Все популярные гипервизоры для Windows — Hyper-V , VirtualBox , VMware – предусматривают запуск виртуальных машин (ВМ) с загрузочных ISO -образов и флешек. Запуск ВМ с последних не в каждом случае будет процессом без заморочек: без танцев с бубном с флешек UEFI запускаются только ВМ на базе ПО EFI в программах VirtualBox и VMware. Как упростить запуск ВМ с флешек в остальных случаях?

Для этого можно создать так называемую виртуальную флешку – всё содержимое реального USB -носителя перенести на виртуальный жёсткий диск и, соответственно, запускать ВМ с него. Но содержимое необходимо переносить вместе со структурой физической флешки — чтобы виртуальный диск унаследовал все разделы, если их несколько (например, в случае с Mac OS или Chrome OS) , а также атрибуты загрузочного устройства (если это не носитель UEFI) . Сделать это можно как минимум двумя способами, описанными ниже.

Читайте также:  Установка времени на холодильнике атлант

Все действия в нашем случае будут проводиться с VMware Workstation. В других программах для виртуализации необходимо действовать по аналогии.

1. Программа R-Drive Image

Первый способ создания виртуальной флешки – это перенос структуры и содержимого реального USB -носителя на виртуальный диск с помощью программы-бэкапера R-Drive Image. Открываем параметры существующей ВМ и кликаем «Жёсткий диск».

Тип контроллера оставляем по умолчанию.

Создаём новый диск. Указываем его размер: пусть он будет примерно таким, как размер флешки, но немногим всё же пусть отличается. Это нужно чтобы не спутать устройства при клонировании. Сохраняем в виде одного файла.

Указываем путь размещения. Жмём «Готово».

Запускаем ВМ, подключаем к ней реальную флешку. В гостевой ОС устанавливаем триал-версию программы R-Drive Image. В её окне выбираем «Копировать Диск на Диск».

В графе «Источник» выбираем реальную флешку. В графе «Приемник» — только что созданный виртуальный диск.

Жмём «Далее».

По завершении клонирования выходим из программы.

Теперь в проводнике гостевой ОС у нас появилось два идентичных устройства.

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

2. Программа Rufus

Второй способ создания виртуальной флешки – это использование возможностей программы Rufus 3.1. В обновлённой версии 3.х эта программа, в довесок к существующим функциям создания загрузочных USB -устройств, научилась клонировать реальные флешки в файлы VHD . А VHD совместим и с Hyper-V, и с VirtualBox, и VMware. Запускаем Rufus 3.1 в хост-системе. Выбираем нужный USB -носитель, если их несколько подключено, в графе «Устройство». Далее жмём кнопку в виде дискетки.

Указываем путь хранения файла VHD .

Ждём завершения операции и закрываем Rufus.

3. Подключение виртуальной флешки и запуск с неё

Итак, виртуальная флешка создана, как её подключить к ВМ и, соответственно, запустить?

В параметрах ВМ кликаем жёсткий диск.

В окне проводника указываем путь к папке хранения файла VHD . В графе отображения файлов ставим «Все файлы». И кликаем нашу виртуальную VHD -флешку.

На EFI -машинах входим в BIOS – либо используем кнопку на панели инструментов гипервизора, либо при запуске ВМ жмём F2 .

В окне загрузчика выбираем Hard Drive с тем номером, под которым он числится в общем перечне подключённых виртуальных дисков, но в исчислении с нуля. В нашем случае виртуальная флешка является вторым диском ВМ, потому в EFI -прошивке она значится как Hard Drive 1.0.

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

источник

Как установить Windows 10

Загрузка c USB в VirtualBox

Все имеющиеся по данной теме инструкции в интернете говорят что нужно создать vmdk-файл , именно этот файл взаимосвяжет виртуальную машину с внешней USB-флешкой.

Загрузка c USB в VirtualBox

и вводим команду diskpart , затем вводим команду list disk , появляется список физических дисков, подключенных к Windows, USB-флешка у меня тоже определяется как Диск 1 . Вводим exit и выходим из diskpart.

и идём в настройки виртуальной машины.

Выбрать существующий жёсткий диск

выходит меню загрузки, в котором присутствует наша USB — флешка 2) Hard disk.

Читайте также:  Установка композитных бассейнов на даче

Если виртуальная машина VirtualBox запущена НЕ от имени администратора, то в процессе создания файла USB.vmdk Вы сразу получите ошибку:

VBoxManage.exe: error: Failed to create the VirtualBox object!

VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) — Server execution failed (extended info not available)

VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running or failed to start.

Если при создании файла USB.vmdk набрать в командной строке

VBoxManage.exe internalcommands createrawvmdk -filename c:\VM\usb.vmdk -rawdisk \\.\PhysicalDrive1

вместо правильной команды

VBoxManage internalcommands createrawvmdk -filename C:\USB.vmdk -rawdisk \\.\PhysicalDrive1

VBoxManage.exe internalcommands createrawvmdk -filename C:\USB.vmdk -rawdisk \\.\PhysicalDrive1

у меня всегда выходила ошибка:

VBoxManage.exe: error: VMDK: could not create new file ‘c:\temp\classubuntu.vmdk‘

VBoxManage.exe: error: Error code VERR_PATH_NOT_FOUND at E:\tinderbox\win-rel\sr

c\VBox\Storage\VMDK.cpp(3488) in function int __cdecl vmdkCreateRawImage(struct

VMDKIMAGE *,struct VBOXHDDRAW *const ,unsigned __int64)

источник

Установка Windows 7 на USB storage и/или виртуальный диск VHD

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

Изначально было 2 противоречивых требования души:«всё своё ношу с собой» и «не хочу быть нагруженным», что в итоге вылилось в установку Ubuntu на внешний диск. Всё было замечательно, но чувствовалась какая-то незавершённость. И решил я установить Windows 7 туда же.

Но появились проблемы:

  1. Windows 7 предупреждает о невозможности загрузки с USB (заботливый какой) и не хочет устанавливаться на него;
  2. установщик не умеет работать с VHD;
  3. при загрузке Windows 7 с USB-storage появляется BSOD.

И они были успешно решены.

Нам потребуются

Поехали

В настройках виртуальной машины подключаем к CD-ROM Windows 7 и добавляем HDD: «Use physical disk» -> выбрать диск, соответствующий USB (скорее всего, он последний). Стоит отметить, что другие диски на данном этапе лучше удалить из виртуальной машины. Загружаемся с CD и попадаем в установщик.

Установка

Сейчас самое время указать установщику VHD. Командой Shift+F10 открывается консоль. Допустим, мы хотим установить Windows на C:\win7.vhd:

diskpart
create vdisk file=C:\win7.vhd type=fixed maximum=25000
select vdisk file=C:\win7.vhd
attach vdisk
create partition primary
list volume

Убеждаемся, что имеем 3 volume с Fs: UDF, NTFS, RAW. Ну или больше, если на диске есть другие разделы.

Теперь можно уходить с консоли и перейти к непосредственной установке. При выборе назначения установки, мы должны увидеть Disk 1 Partition 1, при выборе которого Windows 7 заботливо предупредит о возможных проблемах, но продолжить всё-таки разрешит.
Теперь можете откинуться на спинку кресла и отдохнуть. По завершению данного этапа установщик должен записать загрузчик на физический раздел, который запустит Windows с виртуального диска. В итоге мы получим рабочую Windows 7 внутри виртуальной машины. Самое время подготовиться к запуску с USB.

Настройка для запуска с USB

С особенностями загрузки Windows 7 я особо не знаком, но вкратце суть примерно такая: загрузчик читает ядро и самые важные драйвера (к которым USB не относится) и передаёт управление ядру, которое должно прочитать всё остальное, но в нашем случае оно ничего не найдёт. Соответственно, сам напрашивается вариант: надо сказать загрузчику, что USB критически важен и надо бы сначала его загрузить, а потом передавать управление. И, что характерно, в Microsoft дали такие возможности: надо в реестре по адресам [HKLM/System/CurrentControlSet/services/usb*] установить значение ключа Start в 0. Самым неприятным оказывается то, что периодически это поле само сбрасывается в 3, судя по всему при появлении новых устройств. Но и это не проблема. Существует 2 возможных решения (суть которых, естественно, совпадает):

    usbbotfix.bat — мне понравился больше, ибо командный файл, который легко правится. Взят отсюда и мною добавлены улучшения: отключение создания имён 8.3, отключение обновления времени последнего обращения (ну зачем нам лишние операции записи) и запрет удаления страниц с исполняемым кодом, дабы случайно не сбросился в своп код драйвера USB (вполне возможно, что это не обязательно, но лучше перестраховаться). Этот файл также скажет планировщику вызывать его при Event 20003 — т.е. при добавлении новых устройств.
    Содержимое файла такое:
    @echo off
    if «%1″==»fix» goto :fix

Читайте также:  Установка вай фай для делл

f0″ «%SystemRoot%\system32\usbbootfix.bat»
SCHTASKS /Create /RU SYSTEM /SC ONEVENT /MO «*[System[Prov /F
rem — apply other settings
fsutil behavior set disablelastaccess 1
fsutil behavior set disable8dot3 1
reg add «HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management» /v DisablePagingExecutive /t REG_DWORD /d 1 /f
reg add HKLM\SYSTEM\CurrentControlSet\services\pciide /v Start /t REG_DWORD /d 0x0 /f
reg add HKLM\SYSTEM\CurrentControlSet\services\msahci /v Start /t REG_DWORD /d 0x0 /f
reg add HKLM\SYSTEM\CurrentControlSet\services\intelide /v Start /t REG_DWORD /d 0x0 /f
reg add HKLM\SYSTEM\CurrentControlSet\services\viaide /v Start /t REG_DWORD /d 0x0 /f
rem — run :fix once after install

:fix
call :fixservice usbehci «Boot Bus Extender»
call :fixservice usbohci «Boot Bus Extender»
call :fixservice usbuhci «Boot Bus Extender»
call :fixservice usbhub «System Bus Extender»
call :fixservice usbstor «SCSI miniport»
goto :eof

:fixservice
setlocal
set Start=
set Group=
for /f «skip=2 tokens=1,2,*» %%I in (‘reg query HKLM\SYSTEM\CurrentControlSet\services\%

1′) do (
if «%%I»==»Start» set Start=%%K
if «%%I»==»Group» set Group=%%K
)
if not «%Start%»==»0x0» reg add HKLM\SYSTEM\CurrentControlSet\services\%

1 /v Start /t REG_DWORD /d 0x0 /f
if not «%Group%»==»%

2″ reg add HKLM\SYSTEM\CurrentControlSet\services\%

2″ /f
endlocal
goto :eof

  • UsbBootWatcher.exe — проверенное временем решение, устанавливается как сервис и вызывается при изменении выбранных нами ключей реестра. Можно взять тут.
  • Если загрузка системы не происходит

    В случае, если мы уже пришли на новое место и там оказалось, что ОС запускаться не хочет, придётся чинить тем, что есть: раздел загрузки Repair, в который Windows скорее всего сам и предложит загрузиться после неудачной попытки (если не предложит — перед загрузкой нажимать F8). Затем открываем «Command Prompt» (в случае неудавшегося автоматического восстановления перед этим нажимаем «View advanced options»).

    1. Запускаем редактор реестра командой «regedit». Стоит отметить, что это — реестр системы восстановления.
    2. Подключаем нужный реестр (точнее, улей). Нас интересует «[HKLM/SYSTEM/]», он хранится в файле %WINDIR%\System32\Config\System. Для этого наводим фокус на «HKEY_LOCAL_MACHINE», в меню выбираем File -> Load Hive -> нужный файл -> Key name: «nn» (в случае установки на VHD, необходимо его в подключить в консоли).
    3. В загруженном улье должно быть несколько ControlSet*, нужный записан в «Select/Current». Переходим в «ControlSet*/services». В разделе чуть выше описано, что и зачем делать. Но стоит отметить, что в случае запуска не с USB, могут заинтересовать ключи вроде «atapi», «pciide», «intelide», «msahci» и аналогичные им.
    Загрузка с USB

    Т.к. перезапускаться лишний раз всем лень, проверимся мы снова в виртуальной машине. Выключаем её, в настройках удаляем все HDD, запускаемся, перебрасываем USB-HDD в виртуалку и… Понимаем, что наш диск не видно. Но ведь в списке того, что требуется не была упомянута поддержка BIOS’ом загрузки с USB.
    Качаем plop boot manager — в архиве есть образы iso и img. Указываем виртуальной машине грузиться с диска plpbt.iso (или plpbt.img для floppy) и уже он передаст управление загрузчику с USB. Всё должно пройти успешно и в итоге запустится Windows 7 и скажет, что найдено новое устройство.

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

    источник

    Добавить комментарий