Контакты

Создание виртуальной флешки на windows 7. Создаем виртуальную флешку в компьютере. Вам может быть интересно

Начнем с минимума:
include 18f2455 -- библиотека для используемого МК
--
enable_digital_io () -- переключение всех входов на цифровой режим
--
alias Button is pin_B7 -- раз уж у нас подключена кнопка, объявим ее
pin_B7_direction = input -- кнопка у нас работает на вход
--
-- одна строчка - и у нас есть все необходимое для работы с USB CDC
include usb_serial -- бибилотека для работы с usb
--
usb_serial_init () -- --инициализируем USB CDC
forever loop -- основной цикл, выполняется постоянно
usb_serial_flush () -- обновление usb. Данная процедура выполняет все необходимые
-- действия для поддержания соединения с ПК
end loop

Скомпилировав данный код, записав полученный HEX файл в МК при помощи бутлоадера и запустив устройство можно будет наблюдать как в системе опрделится новое устройство: Виртуальный сom-порт.

Теперь, когда устройство уже работает, научим его общаться.

Для чтения принятого байта существует функция usb_serial_read(byte) :boolean. При наличии полученного байта она заносит его в указанную переменную и возвращает true , иначе возвращает false .

Для отправки байта существует процедура usb_serial_data . Она замаскирована под переменную, потому для отправки байта достаточно присвоить ей значение отправляемого байта.

Объявим переменную размером в байт до основного цикла, в основном цикле будем проверять наличие полученных байт, и при их наличии отправлять их обратно.

include 18f2455
--
enable_digital_io ()
--
alias Button is pin_B7
pin_B7_direction = input
--
--
include usb_serial
--
usb_serial_init ()
var byte ch -- объявляем переменную
forever loop -- основной цикл
usb_serial_flush ()
if (usb_serial_read (ch )) then -- если байт получен, он будет записан в ch
usb_serial_data = ch -- отправляем полученный байт обратно
end if
end loop

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

Пока у нас нет своего, используем готовый терминал: я использовал программу RealTerm.
Открываем порт с нужным номером и отправляем данные.


И нам в ответ приходит то, что мы отправили. Значит, все работает как надо.

Софт

Итак, наш микроконтроллер умеет принимать байты и тут же отправлять их обратно. Теперь напишем свой софт для общения с ним (я буду использовать Delphi).

Создаем новый проект, раскидываем по форме необходимые компоненты:
SpinEdit1 - для указания номера порта
Button1 - для установки соединения
Button2 - для разрыва соединения
SpinEdit2 - для ввода байта в десятичном виде
Button3 - для отправки байта
Memo1 - для вывода принятой информации.

Как уже было сказано выше, с com-портом нужно работать так же, как и с обычным текстовым файлом: используя функции CreateFile, WriteFile и ReadFile.

Дабы не вдаваться в подробности, возьмем готовую библиотеку для работы с com-портом: ComPort.

Вешаем на каждую кнопку необходимую задачу и получаем конечный код:

unit Unit1;

interface

Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics , Controls, Forms,
Dialogs, StdCtrls, Spin,ComPort;

Type
TForm1 = class (TForm)
SpinEdit1: TSpinEdit;
Button1: TButton;
Button2: TButton;
SpinEdit2: TSpinEdit;
Button3: TButton;
Memo1: TMemo;
procedure OnRead(Sender: TObject; ReadBytes: array of Byte );
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
Port: TComPort;
public
{ Public declarations }
end;

var
Form1: TForm1;
num: integer;
implementation

Procedure TForm1.Button1Click(Sender: TObject);
begin
Port:= TComPort.Create(SpinEdit1.Value, br115200); //создаем соединение
Port.OnRead:= OnRead; //создаем поток чтения принятых данных
Button2.Enabled:= true ; //активируем кнопку закрытия соединения
end;

Procedure TForm1.Button2Click(Sender: TObject);
begin
Port.Free; //закрываем соединение
Button2.Enabled:= false ; //отключаем кнопку
end;

Procedure TForm1.Button3Click(Sender: TObject);
begin
if Button2.Enabled then Port.Write();
end;

Procedure TForm1.FormDestroy(Sender: TObject);
begin
if Button2.Enabled then
Port.Free;
end;

Procedure TForm1.OnRead(Sender: TObject; ReadBytes: array of Byte );
var
i:integer;
begin
for i:= Low(ReadBytes) to High(ReadBytes) do //проходим по массиву принятых байт
begin
Memo1.Text:= Memo1.Text + "." +InttoHex(ReadBytes[i],2); //добавляем его HEX значение в окно
inc(num); //считаем колв-о принятых байт
end;
if num > 10 then begin
Memo1.Lines.Add("" ); //переносим строку
num:= 0;
end;
end;

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

Вот и готов наш самый простой терминал для работы с самым простым usb-устройством.

Как видно, чтение и запись происходит динамическими массивами байт.

Обрабатывая получаемую информацию можно составить необходимый протокол обмена, подходящий для текущей задачи.

include 18f2455
--
enable_digital_io ()
--
alias Button is pin_B7
pin_B7_direction = input
--
--
include usb_serial
--
usb_serial_init ()
var byte ch
var byte i -- объявляем вторую переменную
forever loop -- основной цикл
usb_serial_flush ()
if (usb_serial_read (ch )) then -- если байт получен выполняем необходимые действия
case ch of -- перебираем номер байта
0 : usb_serial_data = 0xff
1 : usb_serial_data = Button -- отправка состояния кнопки
OTHERWISE block -- если получено что-то иное
for 16 using i loop -- отправляем 10 байт с данными
usb_serial_data = ch +i -- от ch до ch+15
end loop
end block
end case
end if
end loop

Дополнительные возможности

Если на этом остановиться, получится обычная статья с подробным описанием примера использования библиотеки, коих на просторах сети достаточно. Потому добавлю немного более углубленной информации.

Упрощение отправки данных

Отправлять информацию по одному байту - не всегда удобно. Очень часто может пригодиться библиотека print . Она содержит процедуры по отправке данных всевозможной длины всевозможными форматами: byte,hex,dec,bin,boolean что может упростить вывод данных в программе.
>include print
...
var dword data
print_dword_hex (usb_serial_data , data )

Название всех команд можно посмотреть в файле библиотеки.

Ожидание подключения к ПК

Если перед стартом основного цикла микроконтроллера необходимо предварительно установить соединение с ПК, то можно дописать перед ним строчки
while (usb_cdc_line_status () == 0x00 ) loop
end loop

Привязываем к устройству номер порта

Если оставить все как есть, система при каждом новом подключении будет выделять первый свободный номер порта. А это значит что за ним придется всегда следить.
Для того, что бы этого не происходило, необходимо устройству присвоить уникальное значение серийного номера до подключения библиотеки usb:
Номер может быть любой длины и содержать различные символы.
const byte USB_STRING3 =
{
24 , -- длина массива
0x03 , -- bDescriptorType
"0" , 0x00 ,
"1" , 0x00 ,
"2" , 0x00 ,
"3" , 0x00 ,
"4" , 0x00 ,
"5" , 0x00 ,
"6" , 0x00 ,
"7" , 0x00 ,
"8" , 0x00 ,
"9" , 0x00 ,
"X" , 0x00
}

Меняем имя устройства на свое

Поменять имя устройства, видимое в системе до установки драйверов можно объявив массив с именем, как и серийный номер, это необходимо сделать до подключения библиотеки USB.
const byte USB_STRING2 =
{
28 , --
0x03 , -- bDescriptorType
"D" , 0x00 ,
"e" , 0x00 ,
"m" , 0x00 ,
"o" , 0x00 ,
" " , 0x00 ,
"B" , 0x00 ,
"o" , 0x00 ,
"a" , 0x00 ,
"r" , 0x00 ,
"d" , 0x00 ,
" " , 0x00 ,
"=" , 0x00 ,
")" , 0x00
}

Но увы, после установки драйверов устройство поменяет имя на указанное в.inf файле, потому поменяем имя и там


DESCRIPTION=«Demo CDC»

Организуем автоподключение устройства

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

Прежде всего необходимо присвоить своему устройству уникальное значение производителя и продукта, дабы легко определять его среди сотен других стандартных CDC-прошивок.
VID и PID выдаются за денюжку, потому пойдем по пуути китайцев: втихую возьмем себе заведомо свободные значения.

Прошивка:
В прошивке необходимо объявить две переменные до подключения библиотеки USB

const word USB_SERIAL_PRODUCT_ID = 0xFF10
const word USB_SERIAL_VENDOR_ID = 0xFF10

Вместо FF10 можно вставить любые два слова (2 байта). Конечный результат содержится в прилагаемом архиве.

Драйвера:
Так как драйвера не предназначены для нашей комбинации VID и PID, допишем наши значения в.inf файл вручную:


%DESCRIPTION%=DriverInstall, USB\VID_FF10&PID_FF10


%DESCRIPTION%=DriverInstall, USB\VID_FF10&PID_FF10

Софт:
Для отлова событий подключения\отключения устройства подключим библиотеку ComponentUSB. Не считаю нужным пояснять каждую строчку: все изменения можно увидеть в прилагаемом проекте.

Результат

На скриншоте сложно разглядеть, но кнопка отправки активна только в момент наличия подключенного устройства, при этом каждые 50мс программа подает запрос на получение состояния кнопки (что, впрочем, неправильно, потому как нажатие кнопки должно обрабатываться на МК).

Как видно, организовать обмен данными между МК и ПК через USB - не самое сложное занятие. Полученное соединение можно использовать не только для конечынх целей: оно так же подходит для отладки программы. Ведь отправить на компьютер результаты расчетов, текущие состояния регистров и переменных куда нагляднее, чем моргать парой светодиодов азбукой морзе.

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

Проект Олоф Лагерквист, отличная программа для эмуляции дисков, но поскольку диски эмулировать могут все, а вот создать флешку или дискету не все могут похвастаться. Диски создаются в виртуальной памяти, физически их можно выгружать в файловые образы. После установки, программа доступна из панели управления ПК.

Жмем "ОК" все виртуальный образ готов.

Образ
Образ можно сохранить и монтировать при необходимости. Где это пригодится? Например для ленивых на такую виртуальную флешку можно закинуть сертификаты для КриптоПро.)) Или использовать как диск в оперативной памяти для хранения кеша, файла подкачки и прочего.
Есть еще альтернативная GUI -

Автоматическое подключение:
echo off
rem поместить в автозагрузку для автоматического монтирования
c:\WINDOWS\system32\imdisk.exe -a -f "%PROGRAMFILES%\flash.img" -m f: -o rem

Некоторые параметры командной строки:

imdisk.exe -e -s 300M -m B: - увеличение диска B на 300 Мб

imdisk -a -t file -o ro -m y: -f C:\Boot.img - монтировать образ Boot.img диском Y, только чтение

imdisk -a -t file -m y: -f C:\Boot.img - монтировать образ Boot.img диском Y, только чтение/запись

imdisk -d -m y: - демонтировать диск Y

imdisk -a -s 150M -m #: -p "/fs:ntfs /y /q /v:imdisk - создать диск размером 150 Мб, буква диска первая свободная, форматирование в NTFS, метка диска imdisk

imdisk -a -s 10% -m #: -p "/fs:ntfs /y /q /v:imdisk - тоже что и предыдущее, только размер указан как 10 процентов от свободной памяти.

imdisk -a -s -500M -m #: -p "/fs:ntfs /y /q /v:imdisk - тоже что и предыдущее, только размер указан со знаком минуса, то есть равный обьёму свободной памяти минус указанный размер. При 1200 Мб свободной памяти размер диска станет 1200-500=700Мб

imdisk.exe -a -t proxy -o ip -f 127.0.0.1:80 -m Z: - использование с сервером, нашёл в инете, на деле не проверял.

A - подключение вирт. диска.

D - отключение вирт. диска.

E - редактирование вирт. диска.

_________________________

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

S - размер виртуального диска. Размер является количеством байтов если не прибавлен суффикс a (авто), b (колич. 512 байтовых блоков), k (тысяча байт), m (миллион байт), g (миллиард байт), t (триллиона байт), K (килобайт), M (мегабайт), G (гигабайт) или T (терабайт). Тысяча байт и килобайт, отличаются тем, что в килобайте 1024 байт, а не 1000. Например. -s 150M или -s 10% - 10 процентов от свободной памяти. Параметр -500M - со знаком минуса определяет размер создаваемого диска как обьём свободной памяти минус указанный размер.

O - установить опции, применяется совместно с параметрами указанными ниже

ro - только чтение

rw - чтения/запись

rem - установить как сменный диск (флешка). Это определяет свойства диска, кэширование и прочее.

fix - установить как постоянный, фиксированный диск (в противоположность rem)

cd - создание виртуального CD-ROM/DVD-ROM.

fd - создание флоппи диска. По умолчанию для размеров 160K, 180K, 320K, 360K, 640K, 720K, 820K, 1200K, 1440K, 1680K, 1722K, 2880K, 123264K or 234752K.

hd - создание раздела харда.

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

comm - подключение к серверу памяти через COM-порт.

________________

M - Определяет букву накопителя. Например -m B: или -m y: или -m #: - первая свободная буква диска.

F - имя файла вирт. диска, например -f C:\Boot.img или -f \\server\share\image.bin или -F \Device\Harddisk0\Partition1\image.bin - последнее, когда буква диска не назначена и определение по номеру харда, номеру партиции (логического диска) и далее реальный путь.

08.04.16 6.3K

Сегодня «облакам » доверяют свою информацию миллионы пользователей по всему миру. В этой статье мы попробуем разобраться, какой из сервисов имеет право претендовать на звание лучшего:

Облачное хранилище данных – что это такое?

Принцип работы любого «облачного » хранилища примерно следующий – на персональный компьютер или ноутбук ставится программа-клиент «облачного » хранилища, прописывается путь к папкам расположенным на жестком диске, которые планируется поместить в это «облако ». Программа-клиент копирует информацию из указанных папок в хранилище, и в дальнейшем отслеживает какие-либо изменения в этих папках и автоматически вносит коррективы в «облачное » хранилище данных.

Если вы решили изменить файл, хранящийся в «облаке », программа внесет правки в копии файлов на вашем компьютере. Такой подход позволяет иметь актуальный набор файлов на любом из ваших устройств (смартфоне, компьютере, планшете и т.д .). Единственное условие, которое требуется для бесперебойной работы хранилища с файлами компьютера – полная синхронизация.

При включении ПК вы также должны дождаться, пока пройдет синхронизация данных. Скорость осуществления данного процесса во многом зависит от скорости соединения с интернетом. Если выключить устройство преждевременно, возможна ошибка синхронизации данных облачного хранилища.

Преимущества хранения информации на «облаках»

«Облачный » сервис – своего рода огромная онлайн-флешка, на которой хранятся и обрабатываются данные и к которой вы имеете доступ везде, где бы вы не находились, причем с любого устройства.

Преимущества, которые дает бесплатное облачное хранилище данных:

  • Сохранность данных в случае выхода из строя вашего ПК, ноутбука, планшета и т.д.;
  • Возможность отправлять ссылки на файл, имеющий объем более 20 МБ, через социальные сети или по электронной почте;
  • Общий доступ к папкам и файлам, возможность совместной работы с ними в режиме онлайн:

Облачное хранилище данных dropbox

Dropbox – один из родоначальников облачных технологий. Данный сервис является безопасным и идеально подходит для совместной работы с документами и файлами. Бесплатно предоставляется 2 Гб «облачного » пространства. Однако, есть возможность увеличить объем хранилища до 50 Гб, не потратив ни копейки. Достаточно внимательно следить за всевозможными акциями, принимать в них участие и получать бонусы. К примеру, за каждого приведенного друга вам добавятся 512 Мб, а за регистрацию в фотосервисе Carousel – еще 3 Гб.

Кроме этого дополнительные гигабайты вы можете получить за установку Dropbox на мобильное устройство, предоставление общего доступа коллегам и друзьям и т.д. Условия получения дополнительного пространства в Dropbox время от времени изменяются, поэтому есть смысл следить за анонсами. Быстро увеличить данный показатель до 1 ТБ можно за 99 долларов в год.

Работать с облачным хранилищем можно с платформ Windows , Linux , Mac OS , iOS , Android , KindleFire и BlackBerry . Dropbox обеспечивает надежное резервное копирование, дополнительный контроль доступа и возможность удаленного стирания данных (в расширенной версии ).

В отличие от конкурентов при работе с Dropbox файлы не копируются на сервер полностью – передается только измененная часть, причем предварительно сжатая. Это делает работу Dropbox очень быстрой. Кроме этого ведется история загрузок, которая позволяет восстанавливать данные с сервера после удаления. Также доступна функция «Pack-Rat » — бессрочная история изменения файлов.

Шифрование данных производится путем использования данного облачного хранилища в связке с BoxCryptor , который надежно шифрует данные перед синхронизацией и обеспечивает их полную конфиденциальность:

Облачное хранилище данных Яндекс.Диск

Яндекс.Диск – еще одно бесплатное облачное хранилище, которое идет в комплекте фоторедактором и тесно интегрировано с социальными сетями. Работа «облака » основывается на синхронизации данных между устройствами. Изначально Яндекс.Диск дает 10 Гб пространства, причем навсегда.

В платных версиях объем может увеличиваться до 1 Тб за 9000 рублей в год. Бонусное дополнительное место можно получить, если привести друга (до +10Гб ) или принять участие в разнообразных акциях.

Яндекс.Диск может интегрироваться в Microsoft Office 2013 . Недавно появилась функция автоматической загрузки фото и видео с внешних носителей и цифровых камер. При этом пользовать получает +32 Гб дополнительного пространства сроком на 6 месяцев. Для работы с Яндекс.Диском доступен веб-интерфейс и приложения под Windows , Mac OS , Linux , Android , iOS и Windows Phone . При этом у Яндекс.Диска есть то, чего нет у других – возможность загрузки фото из социальных сетей: Одноклассники , Instagram и ВКонтакте :

Облачное хранилище данных Google Drive

Google Drive – один из самых популярных облачных сервисов, который дает возможность не только хранить данные в «облаке », но и делиться ими с пользователями. По сути это Google Docs , трансформированный в облачный сервис с увеличенным дисковым пространством. После активации он заменяет Google Docs .

В «облаке » можно хранить документы, фото, видео, музыку и другие файлы (всего более 30 видов ) пользователей сервисов Google . Наличие удобного фотосервиса с автоматической загрузкой фото со смартфона или компьютера и функцией сжатия снимков позволяет получить неограниченное пространство для их хранения. Стоит заметить, что сжатию подлежат только файлы объемом свыше 13 Мб.

Каждому зарегистрированному пользователю бесплатно предоставляется 15 Гб «облачного » пространства. Активным пользователям Gmail , Google+ , Youtube регистрация не нужна. При необходимости можно увеличить объем до 30 Тб. Ежемесячная плата за 100 Гб составляет 1,99 доллара, за 30 ТБ – 299,99 долларов. Доступ к Google Drive возможен через платформы Windows , Android , iOS , Mac OS . Неоспоримыми преимуществами Google Drive является тесная интеграция с сервисами Google . Фишкой данного сервиса является отсутствие ограничений на размер загружаемого файла:

Другие облачные хранилища – краткий обзор доступных решений

iCloud Drive – «облачный » сервис, который выделяется на фоне конкурентов полной интеграцией с iOS и OS X . Несмотря на то, что размер бесплатно предоставляемого дискового пространства не велик (всего 5 Гб ), доступ к аккаунту возможен без установки дополнительных приложений. Папка iCloud Drive будет доступна из коробки – в iOS имеется иконка на рабочем столе, в Mac – в Finder .

Все документы, созданные с помощью приложений Apple , будут мгновенного сохраняться в «облаке ». Кроме этого сервис обеспечивает резервное копирование iPhone или iPad , синхронизирует фото и видео. При этом цены на уровне с прочими облачными хранилищами.

Mega – сверхбезопасный и удобный «облачный » сервис, сопровождающий онлайн-услуги непрерывным криптографическим шифрованием данных. В бесплатном варианте доступно до 50 Гб пространства, которое можно увеличить до 4 Тб за 299 евро в год. Доступ к аккаунту Mega возможен через Windows , Linux , iOS , Mac OS , Android , Blackberry , Windows Phone , специальные плагины для браузеров Chrome и Firefox :


Облако Mail.Ru — довольно перспективное хранилище от Mail.Ru Group , дающее возможность хранить данные в «облаке », а также синхронизировать их на разных устройствах и делиться с другими пользователями.

«Фишка » данного облачного сервиса – большое дисковое пространство, предоставляемое абсолютно бесплатно (25 Гб ). Работать с сервисом можно через веб-интерфейс Windows , Mac OS , Android и iOS , Linux . В мобильных приложениях доступна функция мгновенной автозагрузки сделанных на устройстве фотографий и их перенаправление в «облако »:


OneDrive – облачный сервис от Microsoft . До 2014 года он назывался SkyDrive . Данный сервис позволяет работать с OneNote , PowerPoint , Excel , Word интегрируется с Bing , что дает возможность сохранять историю поиска.

Внешне OneDrive очень напоминает Dropbox . Чтобы создать облачное хранилище данных, достаточно иметь аккаунт в любом сервисе Microsoft , в том числе и в Xbox Live . С 2016 года сервис бесплатно предоставляет 5 ГБ пространства, при этом есть возможность увеличить его размеры до 1 Тб всего за 200 рублей в месяц. Обладатели Office 365 могут воспользоваться функцией совместного редактирования файлов с другими пользователями.

  1. ? Привет всем! Установил на виртуальную машину новейшую операционную систему и хочу, чтобы VirtualBox видела мою флешку и внешний жёсткий диск USB, каким образом это можно осуществить?
  2. Здравствуйте remontcompa.ru, помогите решить проблему, операционная система установленная на виртуальную машину VirtualBox не видит флешку с файлами подключенную к компьютеру, также не виден мой переносной винчестер USB. В настройках виртуальной машины выбрал Устройства->Устройства USB, далее выбираю свою флешку и отмечаю её галочкой, но флешка всё равно не появляется в окне Компьютер и Управлении дисками.

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

Примечание: На нашем сайте есть статьи о VirtualBox и они могут быть Вам интересны

В этой статье мы настроим VirtualBox так, что в ней можно будет работать с нашим внешним диском USB и флешкой.

В первую очередь подключаем флешку к компьютеру и запускаем VirtualBox, затем в главном окне виртуальной машины выделяем левой мышью нужную вам машину (если у вас их несколько) и жмём на кнопку Настроить .

Отмечаем пункты Включить контроллер USB

Включить контроллер USB 2.0 (EHCI)

В окне Фильтры устройств USB , добавляем новый USB фильтр, жмём на + и выбираем нашу флешку (в моём случае Kingston DataTraveler 3.0 отмечаем её левой мышью.

Вот и всё, два новых USB фильтра в виде нашей флешки и внешнего жёсткого диска добавлены в виртуальную машину, жмём ОК

Загружаем операционную систему установленную на VirtualBox, например Windows 10, затем в главном окне Устройства ->Устройства USB выбираю свою флешку Kingston DataTraveler 3.0 и отмечаю её галочкой, точно также отмечаю галочкой свой переносной жёсткий диск USB Western Digital My Passport.

Щёлкните для увеличения изображения левой мышью

Теперь оба устройства: флешка и переносной винчестер доступны в окне Компьютер операционной системы Windows 10 и в Управлении дисками.

Если Вам нужно чтобы флешка появилась в основной операционной системе, тогда в главном окне Устройства ->Устройства USB , выбирайте свою флешку Kingston DataTraveler 3.0 и снимите с неё галочку

В данной статье хотелось бы затронуть тему установки ОС Windows на виртуальную машину VirtualBox с флешь накопителя. Если вы работайте с программой VirtualBox, то у вас появится повод установить операционную систему именно с флешки, в принципе если вы открыли данную статью, то он у вас уже появился.

Для данной операции нам потребуется дополнительное программное обеспечение под названием Virtual Machine USB Boot , скачать программу вы можете с официального сайта, перейдя по ссылочке http://reboot.pro/files/download/339-virtual-machine-usb-boot/ . С сайта разработчика вы можете скачать как обычную установочную версию программы, так и портативную (portable) не требующую установки. Я скачал портативную.

Программа скачалась, распаковываем и запускаем.

В открывшемся окне программы нажимаем Add(добавить).

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

В моём VirtualBox содержится 5 виртуальных машин, это видно на картинке ниже.

Я выбираю Windows 7, т.е при запуске, эта виртуальная машина будет загружаться с флешки.

В пункте Drive to add and boot, выбираем ту флешку, которую мы хотим подключить к виртуальной машине.

В появившемся информационном окне нажимаем OK.

Выбираем вкладку которая появилась в списке и нажимаем Start. Только до нажатия кнопки start убедитесь, что программа VirualBox не запущена.

В появившемся информационном окне нажимаем опять же OK. После этого виртуальная машина запускается с флешки как мы и хотели.

Проблема возникающая при запуске.

В версиях VirtualBox начиная с 5.0, при запуске с программы Virtual Machine USB Boot наблюдается ошибка FATAL: No bootable medium found! System halted , эта ошибка возникает потому, что программа Virtual Machine USB Boot не создает автоматически IDE-контроллер в VitualBox 5-х версиях, без него не получится подключить созданный программой файл vmdk, который в свою очередь отвечает за соединение с нашей флешкой.

Для устранения ошибки, нам необходимо вручную создать IDE - контроллер в VirtualBox. Заходим в программу, выбираем ту виртуальную машину, с которой мы хотим загружаться(в моём случае это Windows 7), далее идем в настройки - > носители , в пункте носители информации, в нижней части, нажимаем на кнопку с зеленым крестиком (как показано на картинке ниже) и выбираем пункт Добавить IDE контроллер.

Запускаем снова программу Virtual Machine USB Boot, нажимаем Start .

Теперь программа запускается c флеш-накопителя без всяких ошибок.

И как мы видим, файл с расширением vmdk успешно подключился к контроллеру IDE.

О ставляйте своё мнение о данной статье, ну и конечно же задавайте свои вопросы, если у вас что-то вдруг пошло не так.

Спасибо за внимание!



Понравилась статья? Поделитесь ей