В статье рассмотрен вопрос о том, как проверить работает ли загрузочная флешка в VirtualBox. Я предварительно установлю и проверю работоспособность сразу нескольких флешек с разными операционными системами: Андроид, Кали Линукс и Windows. После этого проверим насколько загрузочная флешка в VirtualBox работоспособна.
Долго распаляться не буду по поводу того, как удобна мобильная операционная флешка, всегда с собой носимая. Благо, для того, чтобы любая из ОС-ей всегда была с собой, нужно всего одно устройство – USB носитель. И компьютер, на котором нам позволят флешку запустить. Остальное детали.
Но сразу после создания флешки с носимой ОС её необходимо протестировать. Для этого вполне подойдёт виртуальная машина VirtualBox. Однако небольшие трудности для некоторых составляет именно процесс создания загрузочной флешки на VB. Не мудрено – функция до сих пор не выведена разработчиками в графический интерфейс, хотя давно и абсолютно работоспособна.
Работать будем из хозяйской Windows.
ВНИМАНИЕ. Все открытые окна VirtualBox ЗАКРЫТЬ
Флешку – в порт. diskmgmt.msc из строки Выполнить попадаем в консоль Управления дисками в Windows. Смотрим, где ваша флешка в списке дисков. Обнаружить её будет легко: соответствующий размер и другой порядковый номер (физические диски Windows нумерует, напомню, начиная с 0 ). У меня один HDD (Диск 0 ) и флешка (Диск 1 ):
Собственно нам нужна только цифра, порядковый номер диска. 1 – запомним её; она появится чуть позже в конце команды на создание файла диска виртуальной машины VMDK для проверяемой флешки.
Запускаем . В ней переходим в каталог с установленной виртуальной платформой:
Cd %programfiles%\Oracle\VirtualBox
и даём команду на создание файла диска виртуальной машины VMDK для нашей флешки в корне диска С (название файла и путь расположения могут быть любыми):
VBoxManage internalcommands createrawvmdk -filename C:\флешка.vmdk -rawdisk \\.\PhysicalDrive1
Воспользуемся проводником Windows и посмотрим на файл, на месте ли:
да куда он денется-то…
Пришло время для виртуальной машины. Запустим от имени админа. И создадим новую машину вот так, с указанием на созданный файл флешка.vmdk :
Запускаем . Загрузочная флешка в VirtualBox с Андроидом на борту работает:
Сразу обращаю ваше внимание на то, что в настройках виртуальной машины в разделе Носители первым загрузочным устройством должен быть именно созданный вами файл диска виртуальной машины VMDK. Это обязательное условие, если вы захотите не просто протестировать флешку в качестве LiveCD носителя, но и захотите установить систему на виртуальную машину для полной проверки работоспособности в качестве установочной флешки. Но для этого какую бы ОС вы не пытались установить, вам понадобится для неё виртуальный жёсткий диск . Его легко создать в том же меню Носители , щёлкнув по значку Добавить жёсткий диск . И во время установки ОС на виртуальный HDD в 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 за исследование):
Создайте диск.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 он должен быть примерно таким же
В этой заметке я расскажу, как подключить USB диск в виртуальную машину так, чтобы гостевая система воспринимала его как обычный жёсткий диск .
Этот трюк позволит не только загружаться с установочного USB — что, на мой взгляд, довольно бессмысленно, поскольку на флешку записывается.ISO образ, которой намного проще подключить к виртуальному компьютеру в VirtualBox. Если подключить USB диск или флешку к гостевой системе в качестве обычного диска, то можно делать такие интересные вещи как:
Если у вас нет возможности подключить SATA диск непосредственно в компьютер — например, к ноутбуку — но вам очень нужно загрузиться именно в операционную систему, которая развёрнута на нём, то описанный здесь трюк поможет это сделать: через USB переходник подключите SATA диск к компьютеру, а затем USB диск подключите к виртуальной машине в качестве обычного диска, как это показано в этой инструкции.
По поводу второго пункта — установка Windows на USB носитель — если вы хотите установить Linux на флешку (не записать Live-образ, а именно установить полноценную систему), то для установки необязательно проделывать показанный здесь трюк — поскольку Linux прекрасно устанавливается на переносной носитель. Но в Windows стоит запрет для установки на USB диски и флешки.
Я покажу как загрузиться с USB в Windows и Linux. Принцип одинаковый в обеих этих операционных системах, но чуть различаются команды из-за специфики ОС.
Подсоедините 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 диск к уже существующей машине, то попробуйте изменить порядок носителей в настройках этой машины, либо выбрать соответствующий диск в начале загрузки.
Чтобы понимать принцип, прочитайте предыдущий раздел про 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.
Всем хороши для тестирования операционных систем и софта, только вот почему-то ни одна из этих программ-гипервизоров не предусматривает в нормальном юзабельном формате опцию загрузки с флешки. Наличие возможности загрузки с образов загрузочных CD/DVD-дисков может решить проблему с просмотром содержимого последних, но таким образом никак не будет удовлетворена потребность в тестировании готовой загрузочной флешки. Проверить работоспособность загрузочной флешки на виртуальной машине, протестировать содержащийся в составе реанимационного Live-диска софт в связке с виртуальным «железом», отснять скриншоты этого действа, установить операционную систему, дистрибутив которой имеется только в записи на флешке – да мало ли для каких нужд может понадобиться возможность загрузки с USB-носителя.
Как настроить загрузку с флешки на виртуальных машинах VirtualBox и VMware Workstation – в этом будем разбираться ниже. И для этих целей воспользуемся загрузчиком Plop Boot Manager .
Подробно о назначении бесплатной программы-загрузчика Plop Boot Manager речь шла в статье сайта . Призванный решать проблему отсутствия в BIOS старых компьютеров опции загрузки с USB-устройств Plop Boot Manager поможет и в решении проблемы загрузки с флешки на виртуальных машинах. Скачиваем дистрибутив последнего с официального сайта разработчика.
После распаковки архива Plop Boot Manager содержимое папки можем удалить, оставив только нужный ISO-образ диска – файл «plpbt.iso» .
Этот файл лучше сразу переместить в укромное место, скажем, в папку с теми же виртуальными машинами, поскольку в процессе использования этого ISO-образа его путь размещения будет прописан в настройках гипервизоров. Последнее, собственно, далее мы и осуществим – настроим ISO-образ «plpbt» в качестве источника загрузки виртуальных машин VirtualBox и VMware Workstation.
Виртуальная машина VirtualBox в момент её настройки для загрузки с флешки должна быть выключена. Жмём кнопку настроек. В появившемся окне прежде заглянем в раздел «Система », чтобы убедиться, что порядок загрузки предусматривает первоначально привод. Галочка должна быть выставлена на пункте «CD/DVD ».
Теперь переходим в раздел «Носители ». Кликаем «Контроллер: IDE » и выбираем кнопку с надписью «Пусто » (если никакой другой образ диска не подключён к виртуальной машине). Далее нам нужен параметр «Атрибуты ». В конце графы «Привод » жмём кнопку в виде диска, далее же — кнопку обзора с надписью «Выбрать образ оптического диска ».
В окне проводника открываем тот самый файл «plpbt.iso ».
Всё: теперь образ диска Plop Boot Manager будет монтирован в виртуальный привод VirtualBox. Жмём «ОК ».
Вставляем флешку в USB-порт компьютера. Запускаем виртуальную машину. Последняя загрузится с образа диска Plop Boot Manager и в её окне увидим минималистичное меню загрузки, в числе вариантов которой – и USB-устройства. Но прежде необходимо подключить флешку к виртуальной машине. Кликаем внизу окна маленькую кнопку с изображением USB-входа и выставляем галочку на нужном USB-устройстве. В нашем случае флешка единственная из таковых.
Снова увидим интерфейс Plop Boot Manager и теперь уже можем выбрать вариант загрузки – USB. Для взаимодействия с интерфейсом загрузчика необходимо выполнить вход в виртуальную машину с захватом мыши – т.е., сделать внутрь её окна двойной клик. Напомним, по умолчанию освобождение указателя мыши от захвата виртуальной машиной в программе VirtualBox осуществляется клавишей правый Ctrl. Для перемещения по вариантам загрузки в меню Plop Boot Manager используем клавиши навигации «» «↓», сам же выбор устройства загрузки подтверждаем клавишей Enter.
Чтобы виртуальная машина VirtualBox снова загружалась с жёсткого диска, можно либо выставить порядок загрузки с последнего в разделе настроек «Система » — что мы, собственно, и проверяли выше, либо извлечь образ диска из привода виртуальной машины. Это проще всего сделать, нажав кнопку в виде диска внизу окна виртуальной машины. Одной из доступных функций будет «Изъять диск из привода ».
Однако если загрузочные флешки тестируются часто, можно просто в окне загрузчика Plop Boot Manager выбирать вариант загрузки с нужного раздела диска.
Ладно ещё бесплатная VirtualBox, но вот для платной программы VMware Workstation отсутствие простой и понятной опции для возможности загрузки виртуальной машины с флешки – вещь недопустимая. Тем не менее, даже заплатив, решать эту проблему будем своими усилиями.
Как и в случае с VirtualBox, виртуальная машина VMware Workstation также должна быть выключена. В окне её сведений жмём опцию изменения настроек.
Попадём в параметры виртуальной машины, здесь нам нужна вкладка «Оборудование ». Перемещаемся на вкладку «CD/DVD », выставляем активной опцию «Файл образа ISO », затем с помощью кнопки обзора указываем путь к файлу «plpbt.iso ». Жмём «ОК ».
Вернувшись в окно сведений виртуальной машины, кликаем выпадающий список её состояний и выбираем «Включить при прошивке ». В нашем случае имеем дело с последней версией VMware Workstation 11. Но в более ранних версиях программы или в разных редакциях перевода VMware Workstation эта опция может называться по-другому, например, «Включить в BIOS », англоязычный вариант — «Power On to BIOS ».
В отличие от VirtualBox, VMware Workstation не предусматривает выставление порядка загрузки виртуальной машины в её настройках. Всё происходит, как на реальном компьютере: первоочерёдность устройств загрузки назначается в виртуальной BIOS – аналоге настоящей базовой системы ввода/вывода данных.
После запуска виртуальной машины в режиме BIOS выполняем вход в неё (двойным кликом внутрь окна или клавишами Ctrl+G ). Для справки: по умолчанию освобождение указателя мыши в программе VMware Workstation осуществляется клавишами Ctrl+Alt. С помощью клавиш навигации «→» перемещаемся в раздел «Boot », затем клавишей «↓» опускаемся до параметра «CD-ROM Drive ». Клавишей «+» выталкиваем его в начало списка и жмём «F10 ».
Подтверждаем решение, нажав Enter в окошке с предустановленным вариантом ответа «Yes » на запрос о сохранении конфигурации.
Виртуальная машина перезапустится, и мы увидим интерфейс загрузчика Plop Boot Manager. Также, как и в случае с VirtualBox, внизу окна виртуальной машины жмём кнопку USB-устройств и подключаем флешку.
Перезапускаем виртуальную машину.
Теперь можем входить внутрь её и в меню Plop Boot Manager выбирать вариант загрузки с USB-устройств.
Вернуть виртуальной машине VMware Workstation загрузку с жёсткого диска – процесс обратный. Нужно войти в BIOS и выставить первоочерёдность загрузки с «Hard Drive » — так, как это было ранее. Можно поступить иначе и убрать сам образ диска Plop Boot Manager. Внизу окна виртуальной машины есть кнопка в виде диска, она обеспечивает быстрый доступ к настройкам привода. Жмём «Параметры ».
В окне настроек привода виртуальной машины можем либо убрать галочку с состояния устройства «Подключить », либо сделать активной опцию определения физического CD/DVD-привода.
Помогла ли Вам данная статья?
Последние несколько лет для целей настольной виртуализации я использую исключительно 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 и видим новый пункт в меню загрузки. Это и есть наша флешка.