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

Jak uzyskać dostęp do karty SD z maszyny wirtualnej?

Chcę sformatować kartę SD z mojej maszyny wirtualnej Linux. Mam wbudowany czytnik kart SD w moim laptopie. Próbowałem użyć VirtualBox i VMware Player i zainstalowałem Ubuntu 10.04 guest. Żaden z nich nie pokazuje czytnika kart SD jako urządzenia. Mogę uzyskać dostęp do karty SD z hosta Windows.

Nie interesują mnie rozwiązania wykorzystujące foldery współdzielone, ponieważ chcę mieć dostęp do karty SD jako sprzętu (powinna pokazać się w /dev).

Zasadniczo chcę skonfigurować kartę SD dla BeagleBoard , ale nie chcę instalować fizycznego Ubuntu na moim komputerze.

Odpowiedzi (11)

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

W nowszych MacBookach Pro gniazdo karty SD nie jest już widoczne jako urządzenie USB. Z tego powodu będziesz musiał podłączyć surowe urządzenie do maszyny wirtualnej, aby uzyskać surowy dostęp do całej karty. Pełna dokumentacja znajduje się w sekcji Advanced Storage Configuration dokumentacji VirtualBox.

Jak wyraźnie stwierdzono w dokumentach:

Ostrzeżenie - Surowy dostęp do dysku twardego jest przeznaczony tylko dla użytkowników-ekspertów. Nieprawidłowe użycie lub użycie przestarzałej konfiguracji może doprowadzić do całkowitej utraty danych na dysku fizycznym. Co najważniejsze, nie próbuj uruchamiać partycji z aktualnie działającym systemem operacyjnym hosta jako gościa. Doprowadzi to do poważnego uszkodzenia danych.

Jako szybki przewodnik, oto kroki, które należy wykonać, aby podłączyć urządzenie do linuksowej maszyny wirtualnej:

  1. Zidentyfikuj urządzenie blokujące surowy dysk w systemie hosta

  2. Otwórz narzędzie Disk Utility i “Odmontuj” wolumin. Nie “Wysuwaj” go. Zauważ, że może być konieczne, aby odmontować wolumin raz na jakiś czas podczas kolejnych kroków, jak znalazłem OSX automatycznie ponownie zamontować go na chybił trafił.

  3. Teraz skonfigurujemy VirtualBox, aby był świadomy surowego urządzenia za pomocą następującego polecenia w Terminalu.

  4. Następnie dołączamy surowy dysk do maszyny wirtualnej gościa w VirtualBox UI

  5. Uruchom maszynę wirtualną

  6. W zależności od tego, czy masz GUI czy nie, karta SD może, ale nie musi, zostać automatycznie zamontowana. Jeśli musisz zamontować ją ręcznie, jest ona po prostu widoczna jako inne standardowe urządzenie blokowe, więc na moim gościu była ona widoczna jako /dev/sdb.


Aktualizacja

Wydaje się, że niektórzy ludzie mogą mieć problemy z dostępem do surowego urządzenia w kroku 3.2 lub 4.6. Próby uruchomienia niektórych poleceń z sudo nie pomogą, ponieważ VirtualBox będzie działał jako zalogowany użytkownik i nadal nie będzie w stanie uzyskać dostępu do poprawnego urządzenia raw lub wygenerowanego pliku vmdk.

Poniższe kroki powinny pomóc, choć nie testowałem ich.

  1. Sprawdź, czy konto, którego używasz na OSX ma uprawnienia administratora w sekcji System Preferences/Users. Istnieje duże prawdopodobieństwo, że powinno to być również główne konto w systemie, aby dostęp do surowego urządzenia działał.
  2. Sprawdź uprawnienia surowego dysku

Aktualizacja #2

Okazuje się, że OSX Mountain Lion utworzył urządzenie z uprawnieniami “root:operator” i uprawnieniami 0640. Niestety na razie jedynym sposobem na uzyskanie dostępu do tego urządzenia jest “sudo chown $USER” na aktualnego użytkownika za każdym razem, gdy wkładamy urządzenie, jednak nie jest to zalecane, chyba że naprawdę rozumiemy, co robimy. Mam nadzieję, że albo Apple albo VirtualBox znajdą bardziej odpowiednie rozwiązanie.

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

Odpowiedź dla użytkowników Windows

  1. Uzyskaj DeviceID czytnika kart SD.

  2. Utwórz plik łącza do karty SD

  3. Wykonaj kroki 4-6 w odpowiedzi JinnKo, jedyną drobną zmianą jest to, że musisz uruchomić VirtualBox jako Administrator

  1. Następnie dołączamy surowy dysk do maszyny wirtualnej gościa w interfejsie VirtualBox
  2. Upewnij się, że maszyna wirtualna-gość jest wyłączona.
  3. Upewnij się, że VirtualBox nie jest uruchomiony
  4. Uruchom VirtualBox, klikając prawym przyciskiem myszy i wybierając opcję “Uruchom jako administrator ”
  5. Otwórz obszar ustawień dla maszyny wirtualnej gościa
  6. Kliknij na “Storage” na pasku narzędzi
  7. Obok kontrolera kliknij na ikonę “Dodaj dysk twardy”
  8. Wybierz “Wybierz istniejący dysk”
  9. Przejdź do dysku /path/to/file.vmdk , którego użyłeś w kroku 3 i wybierz go
  10. Powinieneś teraz powrócić do zakładki “Storage” i zobaczyć swój dysk file.vmdk na liście.
  11. Uruchom maszynę wirtualną
  12. W zależności od tego, czy posiadasz GUI, czy nie, karta SD może, ale nie musi zostać automatycznie zamontowana. Jeśli musisz zamontować ją ręcznie, jest ona po prostu wyświetlana jako inne standardowe urządzenie blokowe, więc na moim gościu była ona wyświetlana jako /dev/sdb.
7
7
7
2012-01-01 04:16:47 +0000

Najprawdopodobniej brakuje ci rozszerzeń, jeśli twój czytnik SD używa kontrolera USB.

W zakładce File > Preferences, postępuj zgodnie z rysunkiem. Dodaj i wskaż na pobrane rozszerzenie.

Uruchom ponownie swoją maszynę wirtualną i powinieneś mieć dostęp do urządzeń USB.

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

Używam Kubuntu 15.04, VirtualBox 4.3.26

To zakłada, że urządzenie karty sd jest /dev/mmcbl0 , a wyjściowy .vdk będzie sd-card.vmk :

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

Nie jestem pewien, czy jest to najlepszy sposób na naprawę uprawnień, ale zadziałało:

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

Teraz przejdź do ustawień VM, wybierz Storage, kliknij na Controller:Sata, kliknij na ikonę Add Hard Disk, wybierz swój .vdk (w tym przypadku sd-card.vmdk)

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

W nowszych MacBookach Pro gniazdo kart SD nie jest już widoczne jako urządzenie USB

Aby rozwiązać ten problem, możesz po prostu użyć zewnętrznego Usb Memory Card Reader (tj. adaptera z karty SD na usb) zamiast wbudowanego czytnika kart. Wyświetli on Twoją kartę sd jako urządzenie USB, dzięki czemu będziesz mógł ją łatwo zamontować, tak jak każde inne urządzenie usb. Są to tanie urządzenia i byłyby akceptowalnym rozwiązaniem biorąc pod uwagę wszystkie kłopoty w inny sposób.

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

Miałem wiele problemów z uzyskaniem rozwiązania przez JinnKo do pracy, głównie z powodu mojego bycia na Mountain Lion (OS X 10.8) … Ale z jego uprzejmą pomocą, rozwiązałem problemy.

Pełne rozwiązanie jest szczegółowo opisane tutaj .

Jednakże, istota mojego rozwiązania - dla użytkowników Mountain Lion - jest następująca (użyj kroków JinnKo powyżej, ale wstaw mój krok tutaj przed uruchomieniem polecenia ‘VBoxManage internalcommands createrawvmdk […]’ (to jest pomiędzy jego krokami 2 i 3):

** Szczególnie dla Mtn Lion ** Upewnij się, że jesteś właścicielem tego urządzenia. Na 10.8 Mtn Lion, prawdopodobnie okaże się, że nie jesteś. Sprawdź to robiąc:

ls -l /dev/disk*

Z ‘\’ zobaczysz WSZYSTKIE swoje urządzenia dyskowe, możesz również zrobić: ls -l /dev/diskX aby zobaczyć tylko ‘X’, na przykład, ja zrobiłem:

ls -l /dev/disk5

Na Mtn Lion ( 10.8.x ) zobaczysz coś w stylu:

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

Gdzie ‘X’ to numer Twojego urządzenia, jak ‘5’ w /dev/disk5 …

Na Lionie ( 10.7.x ), Snow Leopardzie (10.6.x ), lub być może wcześniejszych wersjach OS X, zobaczysz - jeśli Twoja nazwa użytkownika to ‘brad’- prawdopodobnie coś takiego:

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

Gdzie ‘X’ to numer Twojego urządzenia, jak ‘5’ w /dev/disk5 … Jeśli jesteś właścicielem, to wszystko jest w porządku, nie ma nic do zrobienia, przejdź do następnego kroku, to jest createrawvmdk krok (w @JinnKo ‘s wspaniałe instrukcje powyżej).

Jeśli nie jesteś właścicielem (ale 'root’ lub inny użytkownik jest), to albo (a) zaloguj się jako ten użytkownik admin lub (b) wykonaj następujące czynności (ponownie, bądź bardzo pewny, że używasz poprawnego numeru urządzenia/litery!):

** UWAGA * Poniższe czynności są przeznaczone tylko dla tych, którzy chcą ryzykować trwałe zniszczenie danych na ich dysku twardym lub pamięci flash. Nie rób tego, jeśli nie jesteś pewien, że wiesz, co robisz:

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

** OSTROŻNIE NIE RÓB TEGO, jeśli nie jesteś pewien, że wiesz, co robisz. Powyższy sposób jest przeznaczony tylko dla tych, którzy chcą zaryzykować trwałe zniszczenie danych na dysku twardym lub pamięci flash.

Będziesz musiał to zrobić dla WSZYSTKICH swoich plasterków (s1, s2, s3, … niezależnie od tego ile ich jest). Na przykład, moja nazwa użytkownika to ‘brad’, więc zrobiłem: sudo chown brad /dev/disk5, potem sudo chown brad /dev/disk5s1, następnie dla s2, i s3 (ponieważ miałem już 3 istniejące partycje lub plasterki).

Jeśli nie partycjonowałeś karty SD, możesz potrzebować wykonać sudo chown <your username> /dev/diskX tylko raz (bez robienia jakichkolwiek plasterków/partycji)

Mam nadzieję, że to pomoże innym biednym użytkownikom Mtn Lion!

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

Jak dotąd nie udało mi się znaleźć sposobu na zrobienie tego bezpośrednio, nawet z czytnikiem kart USB (umieścił kartę na /dev/dm-1 zamiast oczekiwanego /dev/mmcblk1).

Moim sposobem było utworzenie wirtualnego dysku o pojemności 4 GB w VirtualBoxie. Następnie (jako /dev/sdb) mogłem zainstalować BeagleBoard Ubuntu zgodnie z dokumentacją.

Następnie zamknąłem maszynę wirtualną, przekonwertowałem ją do pliku RAW DD i użyłem DD, aby umieścić ją na karcie: (na hoście Mac):

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

(/dev/disk2 w moim przypadku, ale sprawdź trzykrotnie, ponieważ pomyłka może zepsuć twój dysk twardy).

Polecenie dd zajęło około 1 godz. 20 min!

Mam nadzieję, że to pomoże. Wciąż pracuję nad łatwiejszym i szybszym sposobem - nie powinniśmy potrzebować przesyłać 4 GB danych dla 600 MB systemu operacyjnego.

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

Jak wspomniał kobaltz. Aby obsługiwać wersje USB 2.0 i 3.0, musisz zainstalować Virtual Extension Pack, zainstalowałem 5.2.22 Oracle VM VirtualBox Extension Pack, i możesz go pobrać ze strony pobierania Virtual Box. Po pobraniu pliku, możesz bezpośrednio przejść do instalacji i zainstalować go, to samo zostanie dodane do rozszerzeń Virtual Box.

Należy również dodać swoją kartę SD do filtrów urządzeń w naszym Virtual Boxie, należy wejść w Ustawienia - > USB - > Kliknąć na opcję Add SD card Attached.

Teraz będziesz mógł zobaczyć swoją kartę SD w filtrach.

Przejdź do zakładki Pliki i zobacz foldery z kartami SD (używam Ubuntu Linux Distribution)

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

Zainstalowałem pliki “Virtual Box Guest Additons CD”, ale mój czytnik kart SD nie był widoczny w mojej maszynie wirtualnej Windows XP. Udało mi się go uruchomić poprzez włączenie urządzenia USB w Virtual Box, a następnie ponowne uruchomienie maszyny wirtualnej.

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

Dla mnie rozwiązaniem było włączenie urządzenia USB z kartą SD, używając Devices -> USB devices ->My card reader, i po kilku sekundach w mojej maszynie wirtualnej pojawiły się nowe dyski.

Wcześniej zainstalowałem VirtualBox Extensions Pack.

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

Dla każdego, kto używa macos i postępuje zgodnie z poprzednimi odpowiedziami, jeśli nadal nie możesz uzyskać dostępu do karty sd z powodu problemu z uprawnieniami,

uruchom virtualbox z sudo rozwiąże to.

sudo VirtualBox

Zauważ, że ścieżka do plików vm jest inna, w moim przypadku jest to:

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

Jeśli to nadal nie zadziała, zmień właściciela i acess dysku karty sd, odpowiednio na swoje konto użytkownika i 666.