2012-01-01 03:00:56 +0000 2012-01-01 03:00:56 +0000
66
66

Как получить доступ к SD-карте с виртуальной машины?

Я хочу отформатировать SD-карту с моей виртуальной машины Linux. В моем ноутбуке есть встроенный SD-карта ридер. Я попробовал использовать VirtualBox и VMware Player и установил Ubuntu 10.04 guest. Ни один из них не показывает кардридер SD как устройство. Доступ к SD-карте можно получить с хоста Windows.

Меня не интересуют решения, использующие общие папки, так как я хочу получить доступ к SD карте как к оборудованию (оно должно отображаться в /dev).

В основном я хочу установить SD-карту для BeagleBoard , но я не хочу устанавливать физическую Ubuntu на моем ПК.

Ответы (11)

56
56
56
2012-08-06 09:15:30 +0000

На новом MacBook Pro слот для карт SD больше не выставляется в качестве USB-устройства. Поэтому, чтобы получить доступ ко всей карте, вам нужно будет подсоединить необработанное устройство к виртуальной машине. Полная документация находится в разделе Расширенная конфигурация хранилища документации VirtualBox.

Как четко указано в документации:

Предупреждение - Доступ к жесткому диску только для опытных пользователей. Неправильное использование или использование устаревшей конфигурации ** может привести к полной потере данных на физическом диске**. Самое главное, не пытайтесь загрузить раздел с запущенной операционной системой хоста в гостевом режиме. Это приведет к серьезному повреждению данных.

В качестве краткого руководства это шаги по подключению устройства к ВМ linux:

  1. Определите устройство с необработанным блоком диска в хост-системе

  2. Откройте Disk Utility и “Unmount” том. Не “Извлекайте” его. Обратите внимание, что вам может понадобиться время от времени размонтировать том во время следующих шагов, т.к. я обнаружил, что OSX автоматически перемонтирует его случайным образом.

  3. Теперь мы настроили VirtualBox так, чтобы он знал о сыром устройстве с помощью следующей команды в терминале.

  4. Далее мы присоединяем необработанный диск к гостевой ВМ в UI VirtualBox

  5. Запускаем ВМ

  6. В зависимости от того, есть ли у вас графический интерфейс или нет, SD-карта может подключаться или не подключаться автоматически. Если вам нужно монтировать вручную, она просто отображается как другое стандартное блочное устройство, поэтому на моем госте она отображается как /dev/sdb.


Обновление

Похоже, что у некоторых людей могут возникнуть проблемы с доступом к необработанному устройству в п. 3.2 или 4.6. Попытки выполнить некоторые команды с помощью sudo не помогут, так как VirtualBox будет запущен в то время, когда вы вошли в систему, и все равно не сможет получить доступ к исходному устройству или сгенерированному файлу vmdk.

Следующие шаги должны помочь, хотя я их не тестировал.

  1. Проверьте, что учетная запись, которую вы используете в OSX, имеет права администратора в разделе “Системные настройки/пользователи”. Есть большая вероятность, что она также должна быть основной учетной записью в системе для доступа к сырым устройствам для работы.
  2. Проверка raw disk permissions

Обновление #2

Оказывается, OSX Mountain Lion создал устройство с привилегиями “root:operator” и 0640 разрешениями. К сожалению, пока единственным способом получить доступ к этому устройству является “sudo chown $USER” его текущему пользователю каждый раз, когда вы вставляете устройство, однако это не рекомендуется, если вы действительно не понимаете, что вы делаете. Надеемся, что Apple или VirtualBox найдут более подходящее решение.

42
42
42
2013-08-14 15:35:08 +0000

Ответ для пользователей Windows

  1. Получите DeviceID вашего кардридера SD.

  2. Создайте ссылочный файл на карту SD

  3. Следуйте шагам 4-6 в ответе JinnKo, единственная незначительная подстройка заключается в том, что вам нужно запустить VirtualBox в качестве Администратора

  1. Далее мы присоединяем необработанный диск к гостевой ВМ в UI VirtualBox
  2. Убедимся, что гостевая ВМ выключена.
  3. Убедитесь, что VirtualBox не работает
  4. Запустите VirtualBox, щелкнув на нем правой кнопкой мыши и выбрав “Запустить от имени администратора ”
  5. Откройте область настроек гостевой ВМ
  6. Нажмите на “Хранилище” на панели инструментов
  7. Рядом с контроллером нажмите на иконку “Добавить жесткий диск”
  8. Выберите “Выбрать существующий диск”
  9. Перейдите к параметру /path/to/file.vmdk, который Вы использовали на шаге 3, и выберите его
  10. Теперь вы должны вернуться на вкладку “Хранилище” и увидеть свои file.vmdk в списке.
  11. Запустите VM
  12. В зависимости от того, есть ли у вас графический интерфейс или нет, SD-карта может монтироваться или не монтироваться автоматически. Если вам нужно подключить карту вручную, она будет просто выставлена как другое стандартное блочное устройство, поэтому на моем госте она будет выставлена как /dev/sdb.
7
7
7
2012-01-01 04:16:47 +0000

Скорее всего, вы пропустите расширения, если ваш SD-ридер использует USB-контроллер.

В разделе Файл > Параметры, следуйте указаниям на рисунке. Добавить и указать на загруженное расширение.

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

4
4
4
2015-05-01 18:49:41 +0000

Я использую Kubuntu 15.04, VirtualBox 4.3.26

Это предполагает, что устройство sd карты /dev/mmcbl0 , а выход .vdk будет sd-card.vmk :

sudo VBoxManage internalcommands createrawvmdk -filename ./sd-card.vmdk -rawdisk /dev/mmcblk0

Не уверен, что это лучший способ исправить разрешения, но это сработало:

sudo chmod 777 /dev/mmcblk0
sudo chmod 777 ./sd-card.vmdk

Теперь перейдите в Параметры ВМ, выберите Хранилище, нажмите на Controller:Sata, нажмите на иконку Добавить жесткий диск, выберите свой .vdk (в данном случае sd-card.vmdk)

4
4
4
2014-02-13 12:41:45 +0000

На новых MacBook Pro слот для карт SD больше не выставляется в качестве устройства USB 0x2 и 0x2. Для решения этой проблемы можно просто использовать внешнее устройство для чтения карт памяти Usb (т. е. sd-карта на USB-адаптер) вместо встроенного устройства для чтения карт памяти. Он выставит вашу карту sd как устройство USB, так что вы можете установить его легко, как и любое другое устройство USB. Это дешевые устройства и было бы приемлемым решением, учитывая все трудности наоборот.

3
3
3
2012-08-15 02:43:13 +0000

У меня было много проблем с получением решения от JinnKo для работы, в основном из-за моего пребывания на Mountain Lion (OS X 10.8) … Но с его любезной помощью я решил проблемы.

Полное решение подробнее здесь .

Однако, суть моего решения - для пользователей Mountain Lion - заключается в следующем (используйте шаги JinnKo выше, но вставьте мой шаг здесь до выполнения команды ‘VBoxManage internalcommands createrawvmdk […]’ (то есть между его шагами 2 и 3):

** Особенно для Mtn Lion ** Убедитесь, что вы являетесь владельцем этого устройства. На 10.8 Mtn Lion вы, вероятно, обнаружите, что вы не являетесь владельцем. Проверьте, сделав это:

ls -l /dev/disk*

С помощью ‘*’ вы увидите ВСЕ ваши дисковые устройства, вы также можете сделать: ls -l /dev/diskX, чтобы просто увидеть ‘X’, например, я сделал:

ls -l /dev/disk5

На Mtn Lion ( 10.8.x ) вы увидите что-то вроде:

brw-r----- 1 root operator 1, <today's date/time> /dev/diskX

Где ‘X’ - номер вашего устройства, например ‘5’ в /dev/disk5 …

On Lion ( 10.7.x ), Snow Leopard (10.6.x), или, возможно, более ранние версии OS X, вы увидите что-то вроде… если ваше имя пользователя ‘Brad’ – как будто видите что-то подобное:

brw-r----- 1 brad operator 1, <today's date/time> /dev/diskX

Где ‘X’ - номер вашего устройства, например ‘5’ в /dev/disk5 … Если вы владелец, то все хорошо, здесь делать нечего, переходите к следующему шагу, то есть к шагу Createrawvmdk (в @JinnKo ‘s great instructions above).

Если вы не являетесь владельцем (но 'root’ или какой-то другой пользователь), то либо (а) войдите в систему как этот пользователь-администратор, либо (б) сделайте следующее (опять же, будьте очень уверены в том, что используете правильный номер/пись устройства здесь!):

* ВНИМАНИЕ * Ниже только для тех, кто хочет риск навсегда уничтожить данные на своем жестком диске или флэш-накопителе. ГОВОРИТ NOT ГОВОРИТ _ЭТО, если вы не уверены, что знаете, что делаете:

sudo chown <your username> /dev/disk5
sudo chown <your username> /dev/disk5s1

* ВНИМАНИЕ * ДЕЙСТВИТЕЛЬНО NOT ДЕЙСТВИТЕЛЬНО, если вы не уверены, что знаете, что делаете. Вышеуказанное предназначено только для тех, кто хочет навсегда уничтожить данные на своем жестком или флэш-накопителе.

Вам нужно будет сделать это для ВСЕХ ваших фрагментов (s1, s2, s3, … сколько бы их ни было). Например, мое имя пользователя - ‘Brad’: sudo chown brad /dev/disk5, затем sudo chown brad /dev/disk5s1, затем для s2, и s3 (поскольку у меня уже было 3 существующих раздела или фрагмента).

Если вы не разметили карту SD, то вам может понадобиться сделать sudo chown <your username> /dev/diskX только один раз (не делая ни одного ломтика/раздела)

Надеюсь, это поможет другим бедным пользователям Mtn Lion!

1
1
1
2012-04-25 06:24:35 +0000

До сих пор мне не удалось найти способ сделать это напрямую, даже с помощью кардридера USB (он поставил карту на /dev/dm-1, а не на ожидаемый /dev/mmcblk1).

Мое рабочее окружение заключалось в создании виртуального диска 4 GB в VirtualBox. Тогда (как /dev/sdb) можно было бы установить BeagleBoard Ubuntu, как это описано в документации. Затем я отключил ВМ, преобразовал ее в файл RAW DD и использовал DD, чтобы поместить ее на карту: (на хосте Mac):

VBoxManage clonehd UbuntuBeagleImage.vdi UbuntuBeagleImage.dd --format RAW
sudo dd if=UbuntuBeagleImage.dd of=/dev/rdisk(NUMBER) bs=1m

(в моем случае /dev/disk2, но тройная проверка, так как неправильная настройка может повредить жесткий диск).

Команда dd заняла около 1 ч 20 мин!

Надеюсь, это поможет. Я все еще работаю над более простым и быстрым способом - нам не нужно передавать 4 GB данных за 600 MB операционной системы.

0
0
0
2018-11-27 09:48:54 +0000

Как упоминал Кобальц. Для поддержки версий USB 2.0 и 3.0 вам необходимо установить пакет расширения Virtual Box, я установил пакет расширения 5.2.22 Oracle VM VirtualBox, и вы можете скачать его со страницы загрузки Virtual Box. После того, как вы скачаете файл, вы можете сразу же приступить к его установке, то же самое будет добавлено к вашим расширениям Virtual Box.

Вы также должны добавить SD-карту в фильтры устройств в нашем виртуальном боксе, пожалуйста, перейдите в “Настройки” - > USB -> Щелкните по опции “Добавить прилагаемую SD-карту”.

Теперь вы сможете использовать карту SD в фильтрах.

Перейдите в раздел Файлы и посмотрите папки SD-карты (я использую Ubuntu Linux Distribution)

0x4&

0
0
0
2016-02-16 19:55:43 +0000

Я установил файлы “Virtual Box Guest Additons CD”, но мой кардридер SD не показывался в моей виртуальной машине Windows XP. Я смог получить мою работу с помощью подключения USB-устройства в виртуальной машине, а затем перезагрузки виртуальной машины.

0
0
0
2014-06-14 15:40:36 +0000

Для меня решением было включить USB устройство с SD картой, используя Devices -> USB devices ->My card reader, и через несколько секунд в моей ВМ появятся новые диски.

Я установил пакет расширения VirtualBox до этого.

0
0
0
2019-04-03 14:15:22 +0000

Для тех, кто использует маки и следуя предыдущим ответам, если вы все еще не можете получить доступ к sd карте из-за проблемы с разрешениями,

запустите виртуальный ящик с sudo, который решит эту проблему.

sudo VirtualBox

Обратите внимание, что путь к vm файлам в моем случае отличается:

/private/var/root/VirtualBox\ VMs/$VM_NAME/

Если это все еще не работает, измените владельца и доступ к диску sd карты, на вашу учетную запись пользователя и 666, соответственно.