Инструкция. Неполадки. Безопасность. Приложения. Интернет
  • Главная
  • Приложения
  • Виртуальная загрузочная флешка для виртуальных машин. Загружаемся с USB диска в VirtualBox Как в виртуал бокс загрузится с флешки

Виртуальная загрузочная флешка для виртуальных машин. Загружаемся с USB диска в VirtualBox Как в виртуал бокс загрузится с флешки

Последние несколько лет для целей настольной виртуализации я использую исключительно 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.

Обычно, установка операционной системы в VirtualBox происходит через ISO файл или CD/DVD диск. Но Вы знаете, что также можете загрузиться и с USB диска в VirtualBox? Много людей не знают этого просто потому, что эта возможность скрыта и недоступна через графический пользовательский интерфейс. На самом деле, Вам придется открыть терминал (или командную строку) и использовать команду VBoxManage для доступа к этой функции. В этом руководстве, будет посмотрена возможность загрузить (или установить ОС) с USB устройства в VirtualBox.
Примечание: Это руководство осуществляется на машине Windows. Шаги могут отличаться для Linux / Mac.
Примечание 2: Это руководство предполагает, что у вас уже есть загрузочный USB диск с какой-то операционной системой (вероятно это дистрибутив Linux), установленной на нем.

Загрузка с USB-накопителя в VirtualBox

Прежде чем что-нибудь делать, запустите систему Windows, и подключите загрузочный USB диск. Теперь нам нужен номер этого загрузочного USB диска.
Примечание: Не путайте номер диска с буквой диска. Они не одинаковы.
Мы можем узнать номер диска из утилиты «Управление дисками» или любыми другими программами третьих сторон управления дисками. В настоящее время мы будем использовать утилиту Windows. Нажмите сочетание клавиш “Win + R”, и воспользуйтесь командой “diskmgmt.msc ”, после чего нажмите кнопку «ОК». О других полезных командах диалогового окна «Выполнить» читайте в статье.

Посмотрите на USB диск и запомните его номер. В моем случае, USB диск отображается как «Диск 7», так что номер диска «7».

После того, как Вы узнали номер диска, запустите «Командную строку» с правами администратора. В Windows 8 это можно сделать, нажав сочетание клавиш “Win+X” и выбрав нужный пункт меню.

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

cd %programfiles%\Oracle\VirtualBox

Введите следующую команду, заменяя символ “#” фактическим числом диска. Эта команда создать файл VMDK в диск С, который указывает на физический диск USB.

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

После того, как Вы выполните команду, Вы получите сообщение с подтверждением, а также увидите новый файл с именем “extdisk.vmdk”’ в корне диска “С”.

Теперь откройте VirtualBox с правами администратора. Если Вы этого не сделаете, то VirtualBox не будет загружаться с USB диска.
После открытия VirtualBox, создайте новую виртуальную машину, как обычно. На этапе, когда VirtualBox предложит Вам добавить жесткий диск, установите переключатель в положение «Использовать существующий виртуальный жёсткий диск». Нажмите на этой маленькой иконке папки и выберите файл, который мы только что создали. Нажмите на кнопку «Создать», чтобы завершить процесс.

Вы увидите новую виртуальную машину в списке в левой части окна VirtualBox. Просто выберите её и нажмите на кнопку «Запустить», расположенной в верхнем меню, чтобы загрузиться с USB диска. Как вы можете видеть на картинке ниже, я успешно загрузились в мой живой диск Ubuntu.

Вот и все, что нужно сделать, и это на самом деле, очень просто. Надеюсь, что моя статья была Вам интересна. Пишите в комментариях Ваши фишки работы с VirtualBox, подписывайтесь на наши новости и оставайтесь с нами.


Я подключил 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 он должен быть примерно таким же

С флешки, но не в качестве съёмного носителя, а в качестве загрузочного носителя. Но давайте обо всём по порядку.

Функционал Virtualbox позволяет провести загрузку с flash-накопителя.

Первый способ работает для Virtualbox версий 4.2.36 и ниже. Для более новых версий добавлен второй способ.

В командную строку необходимо заходить под правами администратора . Для этого заходим в «Пуск» и в строке поиска вбиваем «cmd», жмём правой кнопкой мыши на результате и выбираем пункт «Запуск от имени администратора». Обязательно! Иначе команда не создаст файл. Если нет желания каждый раз запускать командную строку от имени администратора, можно отключить «Контроль учётных записей». Процесс отключения описан в конце статьи.

Для второго способа необходимо, чтобы Virtualbox и Virtual Machine USB Boot выполнялись от имени администратора. Проверить это можно, кликнув правой кнопкой на ярлыке программ , перейти в окно «Свойства», а далее переключиться на вкладку «Совместимость» и проследить, установлена ли галочка в чекбоксе «Выполнять эту программу от имени администратора».

Пробуем подключиться обычным способом

Открываем Менеджер виртуальных машин. Нажимаем кнопку «Настроить». Переходим в раздел «USB» и нажимаем на значок добавления нового устройства, выбираем нашу флешку. Нажимаем «OK». Запускаем виртуальную машину . Как мы видим, съёмный диск у нас появился, его можно открыть в «Мой компьютер». Давайте попробуем загрузиться с него. Жмём «Перезагрузка». Во время перезагрузки нажимаем клавишу «F12» и в списке мы нашу флешку не видим. Таким способом загрузиться с неё не получится, к сожалению. Что же делать? А делать нужно не очень много, но интересно.

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

Используем командную строку для создания файла

Для загрузки с флешки в Virtualbox необходимо выполнить вот эту команду:

C:\Program Files\Oracle\VirtualBox\VBoxManage.exe» internalcommands createrawvmdk -filename D:\Transcend.vmdk -rawdisk \\.\PhysicalDrive2

В которой прописано:

  • C:\Program Files\Oracle\VirtualBox\VBoxManage.exe - какая программа будет выполнять команду (путь нужно изменить, если программа устанавливалась в другое место);
  • internalcommands createrawvmdk -filename - сама команда;
  • D:\Transcend.vmdk -rawdisk \\.\PhysicalDrive2 - с каким файлом у нас создастся диск; Букву «D»в начале можно заменить на букву любого вашего диска, туда будет создан файл; цифра «2» в конце - это номер диска, рассмотрим далее, как его узнать.

Заходим в управление компьютером, оттуда в управление дисками и находим наш накопитель среди всех других. Его номер и будет указывать нам, какое число нужно использовать в команде. В нашем случае «Диск 2». Это важно. Если вы укажете не тот диск, то система не будет загружаться и работать. Копируем нашу команду сочетанием клавиш «Ctrl+C». Открываем командную строку от имени администратора и вставляем команду с помощью «Ctrl+V», нажимаем «OK». На долю секунды появиться окошко командной строки. Теперь давайте найдём наш файл. Он находится по пути, который мы указали ранее в команде и имеет имя «Transcend.vmdk». Для удобства перемещаем файл на рабочий стол.

Проверка работоспособности

Запускаем Менеджер виртуальных машин, нажимаем «Настроить». Здесь очень важный момент: система не загрузится до тех пор, пока во вкладке «USB» мы не отключим наше устройство. Переходим в раздел «Носители», существующему диску «Test.vdi» назначаем первый порт. Выделяем контроллер, нажимаем иконку добавления нового жёсткого диска, жмём «Выбрать существующий диск» и выбираем наш файл, нажимаем «Открыть». У нашей флешки нулевой порт. Для чего это нужно? Если оставить по умолчанию нулевой порт на диске, который был в виртуальной машине, а файлу флешки присвоить первый порт, то система будет грузиться с диска, у которого нулевой порт. Давайте проверим, как это работает, нажимаем «OK» и запускаем виртуальную машину.

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

Так же можно подключить и внешний жёсткий диск к виртуальной машине Virtualbox. Выключаем компьютер. Подытожим.

Если подключать флешку в разделе «USB», то она у нас в системе будет отображаться, но найти на неё мы не сможем. Если же подключить в разделе «Носители», то всё будет работать. Если вдруг изменится номер флешки в системе, то файл, который создали, можно отредактировать с помощью обычного блокнота. Нам нужно найти строчку с фразой PhysicalDrive и заменить цифру на новую.

Второй способ с программой Virtual Machine USB Boot

Как было отмечено, первый способ подходит только для Virtualbox версий 4.2.36 и ниже. Описанные дальше манипуляции проверялись на версии 5.0.12 и на ней точно работают.

С версии 4.3 у пользователей появились проблемы с установкой Виндовс из-под загрузочной флешки в виртуальной машине. На любом из этапов установки могла появиться ошибка, и процесс обрывался. Проблема решается программой Virtual Machine USB Boot, на сайте разработчиков есть и портативная версия и установочник, весит она совсем немного. Обязательно проверяем и Менеджер виртуальных машин и нашу программу на работу с правами администратора. Перед запуском утилиты Virtual Machine USB Boot на тестируемой машине нужно переключить жёсткий диск из порта SATA0 в порт SATA2 или SATA3. SATA0 должен быть пустым, в него утилита подключит нашу флешку.

Запускаем Менеджер виртуальный машин, потом запускаем утилиту. В окне утилиты жмём кнопку «Add» («Добавить»). Выбираем имя виртуальной машины, называем по своему усмотрению. В третьей строчке выбираем именно ту виртуальную машину, которую впоследствии мы будем использовать. Утилита просматривает каталог Virtualbox и выдаёт нам все смонтированные машины, выбираем нужную. В поле «Drice to add and boot» выбираем нашу флешку. Два раза жмём «OK» и «Start». На этом настройка заканчивается, можно запускать виртуальную машину.

Отключение контроля учётных записей

Дополнение к первому способу, которое позволит заходить в командную строку без прав администратора или даже выполнять команду сразу из окна «Выполнить». Нам нужно открыть редактор реестра, для этого зажимаем сочетание клавиш «Win+R», откроется окно «Выполнить», вводим туда команду «regedit». Двигаемся по пути HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System, в этой папке ищем строку EnableLUA и меняем значение с 1 на 0. Для этого жмём правой кнопкой по строке и в контекстном меню выбираем пункт «Изменить». Впоследствии значение можно вернуть обратно и контроль учётных записей вернётся.

Заключение

Итак, мы использовали Менеджер виртуальных машин Виртуалбокс, загрузка с флешки произведена. Мы рассмотрели два способа, для VirtualBox версий ниже и выше 4.2.36. Сам процесс настройки несложен, но нужно учитывать множество факторов и тонкостей, большинство из них указано под заголовком «Предупреждения», остальные находятся внутри разбора способов. Будьте внимательны и со временем виртуальные машины будут вашим верным спутником при работе с новыми приложениями и утилитами. Ведь лучше 5 раз проверить работоспособность опасной или неизвестной программы, чем один раз вывести из строя реальную машину, не правда ли?

Лучшие статьи по теме