Доброго времени суток, дорогие читатели! Сегодня поговорим, как Вы поняли из заголовка, про OSFMount .

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

Рассмотрим такую ситуацию:

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

Для того, чтобы примонтировать ваш носитель в OSFMount , нажмите на кнопку "Mount new ". Для того, чтобы размонтировать носитель, выберите его из списка и нажмите на кнопку "Dismount ", либо нажмите на кнопку "Dismount all ", чтобы размонтировать все носители.

Когда вы нажимаете на кнопку "Mount new ", появляются опции монтирования.

Здесь нас интересуют следующие опции:

  • Source , - источник образа. Источником может быть файл образа (Image file ), файл образа, загруженный в оперативную память (Image file in RAM , не наш случай) или же пустой диск из оперативки (Empty RAM drive , также не наш случай, подробнее о дисках из оперативки было в статье). Здесь указываем на наш файлик;
  • Volume options , - Здесь собраны различные настройки, которые нужны для опций Image file in RAM или Empty RAM drive . Мы же оставляем их по умолчанию;
  • Mount options , - здесь собраны настройки монтирования, которые нам и нужны:
    • Drive letter , - задать букву диска, которую будет использовать наш образ. Для флопиков рекомендуется использовать буквы A или B , остальные система воспринимает как флешки или HDD .
    • Drive type , - тип образа. Можно выбрать следующие типы:
      • Auto , - программа сама попробует определить тип образа;
      • Floppy , - образ является флоппи диском;
      • HDD , - образ является USB носителем (флешкой или внешим жестким диском);
      • CD/DVD , - образ является CD/DVD носителем (как ISO образ).
    • Read-only drive , - если отметить эту галочку, то на этот диск нельзя будет ничего записать;
    • Mount as removable media , - стоит отметить, если вы хотите, чтобы ОС воспринимала ее как флешку.

После этого жмете на "ОК " и всё.

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

Дополнительные команды и другие хвосты OSFMount

Для того, чтобы воспользоваться дополнительными командами OSFMount , выберите интересующий вас файл образа и в панели навигации выберите "Drive actions ", либо нажмите ПКМ. Здесь доступны следующие команды:

  • Open - открыть образ (тот же эффект, если открыть его в Мой Компьютер -> диск A или E );
  • Dismount - размонтировать образ;
  • Save to image file - сохранить образ в новый файл. Тот же эффект, если просто в винде скопировать файл образа. Но в программе можно также указать формат образа (там есть в том числе ISO );
  • Extend size - можно увеличить размер образа. При этом нужно ввести именно насколько вы хотите увеличить его, а не полный объем файла образа (что, как по мне, несколько странно). Однако уменьшить его вы уже не сможете. И после увеличения объема не забудьте переформатировать образ;
  • Format - вызывается обычное меню форматирования образа Windows ;
  • Set media read-only - запрещает запись на диск;
  • Set media writable - позволяет записывать на диск;
  • Set media removable - Windows будет считать это устройство извлекаемым;
  • Set media fixed - Windows не будет считать это устройство извлекаемым.


На сим, в общем-то, всё и можно переходить к послесловию.

Послесловие

Вот, собственно, и все настройки это маленькой, но очень полезной программки OSFMount . Надеюсь, она еще кому-нибудь пригодится.

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

P.S. За существование этого материала отдельное спасибо члену нашей команды под ником “barn4k “.

Windows использует архитектуру Plug and Play: вы вставляете USB-устройство, а Windows регистрирует, что устройство подключено. Он отправляет запрос низкого уровня USB на устройство, а затем на основе ответа от устройства решает, какой драйвер загружается. Этот драйвер поставляется в виде скомпилированного файла xxx.sys и загружается в пространство ядра. Windows решает, какой xxx.sys загружается на основе *.inf файла, который поставляется с драйвером устройства.

В этих файлах есть такие разделы:

%Manufacturer% = DeviceInstall "some usb dev"=OTHER_SECTION_DEV, USB\Vid_XXXX&Pid_yyyy # This is where windows learns to match this information # to your device, using the product id (Pid) and the # vendor id (Vid) that Windows gets back during the # low level USB DeviceDescriptor request CopyFiles = xxx.sys, 10,system32\drivers

(более подробное описание того, что в файлах inf можно найти на http://www.osronline.com/ddkx/install/inf-format_2k8i.htm)

Подробный обзор процесса перечисления USB:

  • Устройство USB подключено
  • Запрос драйвера шины USB (эти команды отправляются через USB-кабель, для их просмотра используется логгер USB):
    • GetDescriptor (Device)
    • GetDescriptor (Конфигурация)
    • GetDescriptor (String iSerialNumber), используемый как идентификатор экземпляра устройства
    • GetDescriptor (String iProduct), используемый во всплывающем меню "Новое оборудование было идентифицировано"
  • Менеджер PNP (Plug and Play) информируется о том, что драйверы шины были добавлены.
  • Затем менеджер PNP запрашивает драйвер шины для сообщения устройства с использованием запроса PNP, запрашивая:
    • Строка DeviceID, представляющая USB-поставщик и идентификатор продукта,
    • Строка HardwareIDs,
    • Строка CompatibleIDs, представляющая USB-интерфейс "Класс интерфейса, подкласс и протокол" и
    • Строка InstanceID, представляющая uid для этого конкретного устройства в наборе всех экземпляров с той же совместимостью, подключенной к компьютеру.

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

  • Откройте Диспетчер устройств (меню Windows → "Диспетчер устройств" или панель управления → "Система" → "Оборудование" → "Диспетчер устройств")
  • затем используйте меню "view", чтобы переключиться на "Device by Connection"
  • открыть "ACPI [...]" → "PCI-шина" / "PCI Express Root Complex" → "[...] USB [...] Host Controller"
  • разверните любую из записей в главном контроллере и для любого из перечисленных устройств щелкните правой кнопкой мыши, чтобы получить их свойства, откройте вкладку "Сведения", а затем используйте раскрывающееся меню свойств, чтобы найти "Идентификаторы оборудования", "Идентификаторы совместимых устройств", "Идентификатор экземпляра устройства", "Идентификация идентификатора устройства", "Сервис" и т.д.

Например, у меня есть USB-накопитель с Device Id = usb\class_08&subclass_06&prot_50 подключен, и эта строка может быть сопоставлена ​​с файлом.inf , который был добавлен в список известной информации, когда был установлен драйвер для этого устройства. Этот файл имеет строку Service = USBSTOR , и поэтому мы знаем, что usbstor.sys используется для взаимодействия с этим запоминающим устройством USB.

Продолжим процесс сопоставления.

  • Менеджер PNP пытается определить, было ли устройство уже установлено:
    • Он ищет в реестре ключ, соответствующий "DeviceInstance ID", чтобы узнать, какая служба обрабатывает интерфейс с этим устройством. В частности, он ищет это в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB

Для диска с ключом вы можете увидеть что-то вроде:

"Service"="USBSTOR"

  • Затем менеджер PNP загружает связанный драйвер на основе соответствия между строками, которые он видит в запросах PNP для устройства, и данными из базы данных.inf:
    • Местоположение базы данных inf: c:\WINDOWS\inf\
    • расположенные здесь. C:\WINDOWS\system32\drivers
  • Если он не может выполнить сопоставление таким образом, он попросит пользователя использовать вместо него драйвер.

Для написания драйверов мой совет:

  • Не начинайте с реализации устройств HID (устройства интерфейса пользователя), потому что вы можете заставить окна попробовать применить свой собственный драйвер в качестве драйвера для уже установленной мыши или клавиатуры и потерять к ним доступ.
  • Не загружайте драйверы в реальную машину:
    • используйте виртуальную машину и установите там свои драйверы. Настройте отладчик ядра для вашей виртуальной машины: http://www.codeproject.com/KB/winsdk/KernelModeDebuggerSetup.asp
    • Вы также можете попробовать использовать физическую плату, например, OSR USB-FX2 Learning Kit.

Придет на помощь. Ее преимущество в том, что она работает на любой версии Windows. После скачки программы, нужно ее установить, а затем в главном окне нажать «Mount new…», чтобы можно было создать носитель.

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


выбираете в разделе «Sourse» «Image file»;
далее в «Image file» указываете путь с необходимым форматом;
в «Volume Options» настройки пропустить, потому что этот раздел используется для того чтобы создавать диск или же загружать образ в память;
затем в окне «Drive Letter» раздела «Моunt Options» следует указать букву для созданной виртуальной флешки, а ниже в строке «Drive Type» указать «Flash»;
в конце уже ниже выбираете параметр «Mount as removable media» и кликаете OK.

Теперь вы создали виртуальную флешку. Входите через папку под названием «Компьютер» и увидите, что система ее определяет как съемный диск.

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

Второй способ: Virtual Flash Drive

Для начала необходимо скачать программу Virtual Flash Drive , а затем установить ее. Появится главное окно, в котором нажимаете на «Mount new». В «Create new volume» указываете путь, чтобы создать виртуальную флешку, а далее нажимаете OK.

Третий способ: ImDisk

Скачиваете программу ImDisk и устанавливаете ее. Во время процесса установки будет инсталлироваться консольная программа imdisk.exe, а также приложение для панели управления. Для того чтобы создать виртуальную флешку примените запуск программы из консольной строки. Введите команду imdisk -a -f c:1st.vhd -m F: -o rem.

Для того чтобы отключить виртуальный носитель, нужно нажать правой кнопкой мыши по созданной флешке, а далее выбрать «Unmount ImDisk».

Четвертый способ: Облачное хранилище – Яндекс Диск

Вам нужно иметь на yandex.ru почтовый ящик. Зайдите в него, в верхнем углу у вас будет пункт «Диск», следует кликнуть на него. Если нет почты, тогда зайдите на страницу Яндекс Диск и кликните на «Войти». Если посещение первое, то необходима регистрация.

Чтобы скачать файлы, следует нажать «Загрузить» вверху окна. Дальше появится окно, в котором необходимо выбрать данные и дождаться пока завершится загрузка.

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

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


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

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

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

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

Добавляем ещё один диск.

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

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

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

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

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

И – «Начать» .

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

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

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

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 , чтобы загрузиться с виртуальной флешки, необходимо в параметрах ВМ указать её первым жёстким диском. Нужно удалить все имеющиеся диски машины и добавить их заново, указав виртуальную флешку первой.

Цель разработки - заставить 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», ее запуск происходит очень быстро. Поэтому она всегда готова к работе без лишнего геморроя. И где угодно.



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png