26.04.2024

Настройка загрузки с флешки в виртуальных машинах VirtualBox и VMware Workstation. Загрузочная флешка в VirtualBox Установка с флешки на virtualbox


Цель разработки - заставить 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. У меня эта система одна, поэтому ее можно запускать сразу, без дополнительных манипуляций, указав в параметрах ее имя:

Portable-VirtualBox.exe "leopard"

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

Занимаясь системным администрированием, мне часто приходится пользоватся виртуальными машинами типа Oracle WM VirtualBox и WMWare Workstation . VirtualBox\"ом я пользуюсь чаще ввиду того, что для одиночных запусков он проще и легче. Возникла необходимость загрузить виртуальную машину с реальной USB-флешки, в данном случае, для проверки свежесобранной загрузочной флешки. Но есть одна неприятность - через основной интерфейс программы VirtualBox нельзя осуществить загрузку виртуальной машины с физического USB диска, однако, есть способ решить такую задачу. Вот об этом способе и пойдет речь в статье.

Что бы загрузить виртуальную машину VirtualBox с внешнего USB диска, необходимо создать клон USB диска в виде файла *.vmdk , через который будет осуществляться связь хоста VirtualBox с физическим внешним USB диском. Такой файл будет занимать несколько килобайт, т.к. содержит лишь данные для связи с USB диском.

1. Создание файла, служащего мостом между VirtualBox и USB диском.

Для создания файла *.vmdk существует утилита vboxmanage.exe, которая входит в стандартный состав VirtualBox, поэтому отдельно скачивать ее не надо.

Итак, чтобы создать такой файл, необходимо выполнить следующую команду в окне командной строки, подменив путь до каталога VirtualBox на свой:

"C:\\Program Files\\Oracle\\VirtualBox\\VBoxManage.exe" internalcommands createrawvmdk -filename c:\\temp\\usb.vmdk -rawdisk \\\\.\\PhysicalDrive2 -register

Здесь следует обратить внимание на два параметра:

Чтобы узнать номер внешнего USB диска с которым следует связать файл (обычно внешний USB HDD под номером 1 , если установлен только один жесткий диск), можно подсмотреть его в «Панель управления → Администрирование → Управление компьютером → Управление дисками» .

Теперь осталось настроить хост VirtualBox для загрузки с только что созданного виртуального диска.

2. Установка в VirtualBox *.vmdk файла в качестве загрузочного диска.

Сначала нужно добавить созданный usb.vmdk в список жестких дисков в менеджере виртуальных носителей VirtualBox.

Далее следует зайти в «Свойства» виртуальной машины (которую необходимо загрузить с USB внешнего диска) и в разделе «Носители» установить добавленный виртуальный жесткий диск usb.vmdk в Слот «Первичный мастер IDE», как на скриншоте.

Готово, теперь можно загрузить виртуальную машину с внешнего USB диска.

Последние несколько лет для целей настольной виртуализации я использую исключительно Oracle VirtualBox. Программа очень удобна, проста в настройке и абсолютно бесплатна. Однако есть в VirtualBox один недостаток, о котором я недавно узнал. Оказывается, что осуществить загрузку виртуальной машины с внешнего USB-носителя стандартными средствами интерфейса в VirtualBox нельзя.

Подключенная к виртуальной машине флешка нормально определяется и отображается в Проводнике. Однако выбрать ее в качестве загрузочного диска невозможно, т.к. в загрузочном меню нет такого пункта. Есть загрузка с дискеты, CD-диска и даже по сети, а вот загрузки с USB нет.

Но не все так плохо и способ загрузиться с флешки все таки нашелся, правда несколько неудобный. Для того, чтобы загрузить виртуальную машину VirtualBox с внешнего USB-носителя, необходимо создать связующий vmdk-файл. Через этот файл и будет осуществляться связь виртуальной машины с внешним USB-диском.

Процесс

Первым делом вставляем в компьютер флешку. Затем запускаем командную консоль (обязательно с правами администратора) и вводим команду diskpart . Затем командой list disk выводим список физических дисков, подключенных к системе. Опытным путем (напр. по размеру) находим флешку и запоминаем номер диска. В моем случае это диск 2. Вводим exit для выхода из утилиты diskpart.

Для создания файла *.vmdk воспользуемся консольной утилитой vboxmanage.exe, входящей в состав VirtualBox. Переходим в каталог программы:

cd ″C:\Program Files\Oracle\VirtualBox″

И создаем в папке C:\VM файл usb.vmdk:

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

PhysicalDrive2 - это номер диска, который мы запомнили и под которым флешка видна в системе. Этот параметр указывает на то, с каким физическим диском связать vmdk-файл. Кстати, таким образом мы можем подключить к виртуалке любой системный диск.

На вкладке «Носители» добавляем созданный usb.vmdk в качестве виртуального диска. Добавлять можно как к IDE, так и к SATA контроллеру, особой разницы нет.

Обратите внимание на реальный размер диска. Он меньше килобайта, т.к. vmdk-файл содержит лишь данные для связи с USB-диском.

Стартуем виртуалку, жмем F12 и видим новый пункт в меню загрузки. Это и есть наша флешка.

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

Этот трюк позволит не только загружаться с установочного USB — что, на мой взгляд, довольно бессмысленно, поскольку на флешку записывается.ISO образ, которой намного проще подключить к виртуальному компьютеру в VirtualBox. Если подключить USB диск или флешку к гостевой системе в качестве обычного диска, то можно делать такие интересные вещи как:

  • загрузка с физического SATA диска через USB переходник
  • установка Windows на USB диск или флешку

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

По поводу второго пункта — установка Windows на USB носитель — если вы хотите установить Linux на флешку (не записать Live-образ, а именно установить полноценную систему), то для установки необязательно проделывать показанный здесь трюк — поскольку Linux прекрасно устанавливается на переносной носитель. Но в Windows стоит запрет для установки на USB диски и флешки.

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

Как в VirtualBox загрузиться с USB в Windows

Подсоедините USB флешку или диск к компьютеру. Затем нажмите Win+r и выполните diskmgmt.msc .

Найдите вашу флешку и запомните номер диска:

К примеру, на моём скриншоте флешка имеет номер 2.

Закройте все окна VirtualBox, если они открыты.

В открывшемся окне введите:

Теперь перейдите в папку, где у вас установлена VirtualBox. Если эта программа установлена в директорию по умолчанию, то команда для перехода:

Cd %programfiles%\Oracle\VirtualBox

Если вы выбрали другое расположение для VirtualBox, то отредактируйте предыдущую команду соответствующим образом.

Теперь в командной строке вставьте следующую команду, в которой замените # на номер диска, который мы посмотрели чуть выше, затем нажмите Enter:

VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive#

Например, у меня это второй диск, тогда команда выглядит так:

VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive2

Если всё прошло успешно, должна появиться надпись:

RAW host disk access VMDK file C:\usb.vmdk created successfully.

Обратите внимание, что вы можете заменить C:\usb.vmdk на любое расположение файла по своему желанию.

Эта команда создаёт файл диска виртуальной машины (VMDK) указывающий на физический диск, который вы выбрали. Когда вы загружаете VMDK файл в качестве диска в VirtualBox, то VirtualBox на самом деле будет иметь доступ к физическому диску.

Теперь откройте VirtualBox от администратора — это обязательно, иначе не сработает как надо. Для этого нажмите кнопку Пуск , наберите VirtualBox и выберите «Запуск от имени администратора »:

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

Теперь в VirtualBox создайте новую виртуальную машину, выберите соответствующую операционную систему и когда дойдёт дело до выбора жёсткого диска, вместо создания нового, выберите Использовать существующий виртуальный жёсткий диск :

Теперь откройте файл C:\usb.vmdk (или другой, если вы сохранили его в другом месте или под другим именем):

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

Обратите внимание, что USB устройство должно быть первым жёстким диском в вашей виртуальной машине VirtualBox, иначе загрузка не произойдёт. Если вы подсоединяете новый USB диск к уже существующей машине, то попробуйте изменить порядок носителей в настройках этой машины, либо выбрать соответствующий диск в начале загрузки.

Как в VirtualBox загрузиться с USB в Linux

Чтобы понимать принцип, прочитайте предыдущий раздел про Windows. В Linux, чтобы узнать имя USB диска выполните команду:

Sudo fdisk -l

В моём случае у диска имя /dev/sdb .

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

Sudo VBoxManage internalcommands createrawvmdk -filename /root/usb.vmdk -rawdisk /dev/sd#

Где вместо # впишите букву соответствующего диска. Пример для моих условий:

Sudo VBoxManage internalcommands createrawvmdk -filename /root/usb.vmdk -rawdisk /dev/sdb

В этой команде вы можете заменить /root/usb.vmdk на другое расположение по своему усмотрению.

Для запуска VirtualBox с правами администратора выполните команду:

Sudo VirtualBox

Всё остальное — создание виртуальной машины и выбор в качестве жёсткого диска существующий виртуальный диск — в точности как в Windows.

Я подключил usb к VirtualBox, как показано на скриншоте.

Но загрузить с USB-накопителя даже при подключении (ссылку) невозможно.

Поэтому я хотел бы знать, есть ли какие-либо другие возможности для загрузки с USB-накопителя?

Сам VirtualBox не поддерживает загрузку с USB-устройства. Для загрузки с USB-устройства требуется другой загрузчик. Следующие шаги обеспечивают один из возможных способов достижения этого:

Если все пойдет хорошо, машина должна теперь загрузиться с USB-устройства.

Поскольку VirtualBox не загружается на USB-накопители, вы можете создать файл.vmdk который указывает на ваш USB-накопитель для загрузки на него.

ПРИМЕЧАНИЕ. Вы ДОЛЖНЫ добавить свою учетную запись пользователя в vboxusers для VirtualBox, чтобы увидеть ваш USB. Вы ДОЛЖНЫ также добавить свою учетную запись в группу disk , иначе вы не сможете добавить файл.vmdk на свою виртуальную машину. В EDIT добавлены инструкции.

Во-первых, вам необходимо создать свой USB-накопитель в вашей системе и определить, что такое физический диск. Мы предполагаем, что ваш диск установлен как /dev/sdb1 . Таким образом, физическим приводом будет /dev/sdb .

Затем введите из окна терминала следующее: создать файл.vmdk , указывающий на USB-накопитель:

Vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

VBoxManage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

Тогда вы должны увидеть что-то похожее на это:

RAW host disk access VMDK file /home/ravan/usb.vmdk created successfully.

Тогда все, что вам нужно сделать, это добавить файл.vmdk на виртуальную машину VirtualBox и убедиться, что вы можете его загрузить.

РЕДАКТИРОВАТЬ:

Чтобы добавить пользователя в vboxusers , выполните следующую команду:

Sudo usermod -a -G vboxusers username

Чтобы добавить пользователя в группу disk , выполните следующую команду:

Примечание. Добавление пользователя в группу дисков может быть опасным и угрозой безопасности. Это так же опасно, как и доступ к sudo для записи на необработанный диск.

Sudo usermod -a -G disk username

Затем вы ДОЛЖНЫ ОБРАТИТЬ вашу систему, чтобы изменения вступили в силу.

Перед перезагрузкой:

После перезагрузки:

Надеюсь это поможет!

Я пришел на этот пост всего несколько дней назад. Я не хочу использовать Plop Boot Manager, потому что мой USB-накопитель уже загрузочный.

Поэтому я попытался указать USB-накопитель на диск VMDK (как в ответе Терренса), создав vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

К сожалению, это отказалось работать … Я chmod и chown диск usb.vmdk , и поэтому я смог подключить его к VM, но он просто не работал.

Наконец, я попробовал другое решение, и это работает безупречно. Вот он (спасибо Gean Santos за исследование):

  1. Вставьте USB-накопитель и определите его (мой /dev/sdb , работает в Sabayon Linux);
  2. Создайте диск.vmdk , преобразовывая необработанное устройство (например, USB-накопитель) на диск VirtualBox

    Sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk

    Теперь у вас есть диск usb.vmdk созданный с вашего загрузочного USB-накопителя. Я также попытался.vmdk USB-накопитель к файлу изображения и создать диск.vmdk из файла изображения. Он работает, а также диски.vdi создали прежний путь (или из файла изображения)

    Теперь дайте разрешения на созданный диск, чтобы VirtualBox мог получить доступ к файлу. Это просто означает изменение владельца файла пользователю, входящему в группу vboxusers . Если ваша установка VirtualBox работает нормально, чем этот владелец, возможно, вы:

    Sudo chown `whoami`:`whoami` ./usb.vmdk

    Теперь вам просто нужно прикрепить диск usb.vmdk к виртуальной машине. Но он должен быть прикреплен к контроллеру IDE . Я пробовал SATA без успеха.

На этом этапе все в порядке.

Просто загрузите новую виртуальную машину, нажмите F12 и выберите загрузочный диск.

Наслаждайтесь!

Самое простое решение – скопировать содержимое USB-ключа в iso-файл (ну, в следующий раз я просто загружу iso на нужную машину, в любом случае не потребуется USB-ключ)

Dd if=/dev/sdc of=myusbkey.iso

А затем добавьте этот.iso в качестве оптического диска в настройках VirtualBox, в разделе Storage, Controller: IDE (или SATA, я думаю).

Нет необходимости создавать файл.vmdk, VirtualBox поддерживает файлы.iso.

Я не хотел запускать Virtualbox как root. Я не хотел, чтобы мой пользователь был из группы дисков, имея полные разрешения для всех дисков.

Итак, вот что я получил, чтобы работать:

Узнайте, что такое SD-карта. В следующих инструкциях это sdc .

    Отключить накопитель Memory Stick

    Su chmod 666 /dev/sdc1 chmod 666 /dev/sdc VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /dev/sdc chmod 777 usb.vmdk chmod 666 /dev/sdc

    Прикрепить виртуальную машину usb.vmdk

    Chmod 666 /dev/sdc

  • Запустить виртуальный бокс
  • После завершения сбросить разрешение sdc1 для обеспечения безопасности:

    Chmod 660 /dev/sdc1

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

Я использую Mandriva Linux, но в Ubuntu он должен быть примерно таким же


© 2024
maccase.ru - Android. Бренды. Железо. Новости