Chcę sformatować kartę SD z mojej maszyny wirtualnej z systemem Linux. Mam wbudowany czytnik kart SD w moim laptopie. Próbowałem użyć VirtualBox i VMware Player i zainstalowałem gościa Ubuntu 10.04. Żadne 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ę uzyskać dostęp do karty SD jako sprzętu (powinna się pojawić /dev
).
Zasadniczo chcę skonfigurować kartę SD dla BeagleBoard , ale nie chcę instalować fizycznego Ubuntu na moim komputerze.
virtual-machine
sd-card
Punit Soni
źródło
źródło
Odpowiedzi:
W nowszych komputerach MacBook Pro gniazdo kart SD nie jest już widoczne jako urządzenie USB. Z tego powodu musisz 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:
Krótkim przewodnikiem są następujące kroki, aby podłączyć urządzenie do maszyny Wirtualnej z systemem Linux:
Zidentyfikuj surowe urządzenie blokujące dysk w systemie hosta
Otwórz terminal i wpisz „mount”. Zobaczysz dane wyjściowe identyfikujące zamontowany wolumin z karty SD. W moim systemie otrzymuję następujące informacje
W moim przypadku wolumin „NO NAME” to karta SD, więc zwracam uwagę na tę
/dev/disk2s1
część. W tym konkretnym przypadkus1
część reprezentuje partycję (plasterek) na surowym urządzeniu, więc część, której użyjemy później, jest tylko/dev/disk2
częścią.Teraz skonfigurowaliśmy VirtualBox, aby był świadomy surowego urządzenia za pomocą następującego polecenia w terminalu.
/path/to/file.vmdk
można go umieścić w dowolnym miejscu, chociaż dobrze jest przechowywać to w folderze maszyny wirtualnej gościa, takim jak~/VirtualBox VMs/guest-vm/sdcard.vmdk
Zauważ,
-rawdisk
że używamy nie odnosi się do partycji (plaster), ale tylko urządzenie blokowe jako całość.Następnie dołączamy surowy dysk do wirtualnej maszyny wirtualnej w interfejsie użytkownika VirtualBox
/path/to/file.vmdk
użytej w kroku 3 i wybierz jąfile.vmdk
na liście.Aktualizacja
Wygląda na to, że niektóre osoby mogą mieć problemy z dostępem do surowego urządzenia w kroku 3.2 lub 4.6. Próby uruchomienia niektórych poleceń za pomocą sudo nie pomogą, ponieważ VirtualBox będzie działał jako zalogowany użytkownik i nadal nie będzie mógł uzyskać dostępu do surowego urządzenia poprawnego lub wygenerowanego pliku vmdk.
Poniższe kroki powinny pomóc, chociaż ich nie przetestowałem.
Sprawdź surowe uprawnienia do dysku
Te uprawnienia muszą być zgodne z bieżącym zalogowanym kontem użytkownika:
Uprawnienia na urządzeniu powinny również umożliwiać zwykłemu koncie użytkownika zarówno odczytanie (r), jak i zapisanie (w) na tym urządzeniu. NIE ZMIENIAJ ZEZWOLEŃ NA URZĄDZENIU, JEŚLI NIE ZNAJDZIESZ CAŁKOWICIE, CO ROBISZ.
Aktualizacja nr 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” dla bieżącego użytkownika za każdym razem, gdy wkładasz urządzenie, jednak nie jest to zalecane, chyba że naprawdę rozumiesz, co robisz. Mamy nadzieję, że Apple lub VirtualBox znajdzie bardziej odpowiednie rozwiązanie.
źródło
$ sudo launchctl list | grep diskarbitrationd 188 - com.apple.diskarbitrationd $ sudo kill -SIGSTOP 188 # pauses diskarbitrationd, disabling automount $ sudo kill -SIGCONT 188 # resumes diskarbitrationd, reenabling automount
sudo diskutil unmountDisk /dev/<disk path>
Odpowiedź dla użytkowników systemu Windows
Uzyskaj identyfikator urządzenia swojego czytnika kart SD.
Będziesz potrzebował karty w napędzie zamontowanej przez system Windows.
Wpisz to polecenie
Powinno to wyglądać mniej więcej tak:
Ostatnim urządzeniem jest czytnik kart SD, więc DeviceID to
\\.\PHYSICALDRIVE1
Utwórz plik łącza do karty SD
Otwórz okna poleceń jako Administrator
Zakłada to domyślną ścieżkę instalacji - w razie potrzeby zmień ją. (Upewnij się, że cudzysłowy znajdują się wokół argumentu rawdisk).
Plik .vmdk jest linkiem do karty SD, można go umieścić w dowolnym miejscu w systemie hosta, ale to polecenie po prostu umieszcza go na pulpicie dla wygody.
Postępuj zgodnie z krokami 4–6 w odpowiedzi JinnKo, jedynym drobnym ulepszeniem jest to, że musisz uruchomić VirtualBox jako Administrator
źródło
cygwin
uważaj na znaki ucieczki. Nie znalazłem poprawnegocygwin
rozwiązania, ale zauważyłem, że polecenie, które działacmd
, nie działacygwin
.Najprawdopodobniej brakuje Ci rozszerzeń, jeśli czytnik SD używa kontrolera USB.
W obszarze Plik> Preferencje postępuj zgodnie z rysunkiem. Dodaj i wskaż pobrane rozszerzenie.
Uruchom ponownie maszynę wirtualną i powinieneś mieć dostęp do urządzeń USB.
źródło
Aby rozwiązać ten problem, możesz po prostu użyć zewnętrznego czytnika kart pamięci USB (tj. Karty SD na USB) zamiast wbudowanego czytnika kart. Odsłoni twoją kartę SD jako urządzenie USB, dzięki czemu możesz ją łatwo zamontować, tak jak każde urządzenie USB. Są to tanie urządzenia i byłoby to akceptowalne rozwiązanie, biorąc pod uwagę wszystkie problemy z drugiej strony.
źródło
Używam Kubuntu 15.04, VirtualBox 4.3.26
Zakłada się, że urządzenie karty SD jest
/dev/mmcbl0
, a wyjście .vdk będziesd-card.vmk
:Nie jestem pewien, czy jest to najlepszy sposób na naprawienie uprawnień, ale zadziałało:
Teraz przejdź do Ustawień VM, wybierz Pamięć, kliknij Kontroler: Sata, kliknij ikonę Dodaj dysk twardy, wybierz .vdk (w tym przypadku sd-card.vmdk)
źródło
Miałem wiele problemów z uruchomieniem rozwiązania przez JinnKo, głównie z powodu mojego pobytu w Mountain Lion (OS X 10.8) ... Ale dzięki jego życzliwej pomocy rozwiązałem problemy.
Pełne rozwiązanie znajduje się tutaj .
Jednak esencja 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 znaczy pomiędzy jego kroki 2 i 3):
** Szczególnie dla Mtn Lion ** Upewnij się, że jesteś właścicielem tego urządzenia. Na 10,8 Mtn Lion prawdopodobnie przekonasz się, że nie jesteś. Sprawdź to, wykonując:
Za pomocą „*” zobaczysz WSZYSTKIE urządzenia dyskowe, możesz także: ls -l / dev / diskX, aby zobaczyć „X”, na przykład:
Na Mtn Lion (10.8.x) zobaczysz coś takiego:
Gdzie „X” to numer twojego urządzenia, na przykład „5” w / dev / disk5 ...
W systemie Lion (10.7.x), Snow Leopard (10.6.x) lub być może we wcześniejszych wersjach systemu OS X, jeśli Twoja nazwa użytkownika to „brad”, prawdopodobnie zobaczysz coś takiego:
Gdzie „X” to numer twojego urządzenia, jak „5” w / dev / disk5 ... Jeśli jesteś właścicielem, to wszystko dobrze, nie ma tu nic do roboty, przejdź do następnego kroku, to znaczy kroku createrawvmdk ( we wspaniałych instrukcjach @JinnKo powyżej).
Jeśli nie jesteś właścicielem (ale „rootem” lub innym użytkownikiem), to (a) zaloguj się jako administrator lub (b) wykonaj następujące czynności (ponownie, upewnij się, że używasz prawidłowego numeru / litery urządzenia tutaj!):
* PRZESTROGA * Poniższe informacje dotyczą tylko osób, które chcą ryzykować trwałe zniszczenie danych na dysku twardym lub dysku flash. NIE NIE to zrobić, jeśli nie jesteś pewien, że wiesz, co robisz:
* UWAGA * NIE NIE to zrobić, jeśli nie jesteś pewien, że wiesz co robisz. Powyższe dotyczy tylko tych, którzy chcą RYZYKO trwale niszczyć dane na dysku twardym lub dysku flash.
Musisz to zrobić dla WSZYSTKICH swoich plasterków (s1, s2, s3, ... jakkolwiek jest ich wiele). Na przykład moja nazwa użytkownika to „brad”, więc zrobiłem:
sudo chown brad /dev/disk5
wtedysudo chown brad /dev/disk5s1
, potem dlas2
is3
(ponieważ miałem już 3 istniejące partycje lub plasterki).Jeśli karta SD nie została podzielona na partycje, może być konieczne wykonanie tylko
sudo chown <your username> /dev/diskX
raz (bez robienia żadnych plasterków / partycji)Mam nadzieję, że pomoże to innym biednym użytkownikom Mtn Lion!
źródło
Jak dotąd nie udało mi się znaleźć sposobu, aby to zrobić bezpośrednio, nawet przy użyciu czytnika kart USB (
/dev/dm-1
zamiast tego zakładałem kartę/dev/mmcblk1
).Moim zadaniem było stworzenie wirtualnego dysku o pojemności 4 GB w VirtualBox. To może następnie (as
/dev/sdb
) zainstalować BeagleBoard Ubuntu zgodnie z dokumentacją.Następnie zamknąłem maszynę wirtualną, przekonwertowałem ją na plik RAW DD i użyłem DD, aby umieścić ją na karcie: (na komputerze Mac):
(
/dev/disk2
w moim przypadku, ale trzykrotne sprawdzenie, czy pomyłka może spowodować uszkodzenie dysku twardego).dd
Komenda trwało około 1 h 20 min!Mam nadzieję, że to pomoże. Nadal pracuję nad łatwiejszym i szybszym sposobem - nie powinniśmy przesyłać 4 GB danych na 600 MB systemu operacyjnego.
źródło
Dla mnie rozwiązaniem było włączenie urządzenia USB z kartą SD, za pomocą
Devices -> USB devices ->My card reader
,a po kilku sekundach na mojej maszynie wirtualnej pojawiają się nowe dyski.
Zainstalowałem wcześniej pakiet rozszerzeń VirtualBox.
źródło
Zainstalowałem pliki „Virtual Box Guest Additons CD”, ale mój czytnik kart SD nie wyświetlał się na mojej maszynie wirtualnej z systemem Windows XP. Udało mi się uruchomić moje, włączając urządzenie USB w Virtual Box, a następnie ponownie uruchamiając maszynę wirtualną.
źródło
Jak wspomniał Kobaltz. Aby obsługiwać wersje USB 2.0 i 3.0, musisz zainstalować pakiet rozszerzeń wirtualnych, zainstalowałem pakiet rozszerzeń Virtual VM VMB 5.2.22 i możesz go pobrać ze strony pobierania Virtual Box. Po pobraniu pliku możesz od razu przystąpić do instalacji i go zainstalować, to samo zostanie dodane do rozszerzeń Virtual Box.
Powinieneś również dodać kartę SD do filtrów urządzeń w naszym Virtual Box, przejdź do Ustawienia -> USB -> Kliknij opcję Dodaj dołączoną kartę SD.
Teraz będziesz mógł do swojej karty SD w filtrach.
Przejdź do plików i zobacz foldery na karcie SD (używam dystrybucji Ubuntu Linux)
źródło
Dla każdego, kto używa maków i postępuje zgodnie z poprzednimi odpowiedziami, jeśli nadal nie możesz uzyskać dostępu do karty SD z powodu problemów z uprawnieniami,
uruchom virtualbox z sudo to rozwiąże.
Zauważ, że ścieżka do plików vm jest inna, w moim przypadku jest to:
Jeśli to nadal nie działa, zmień właściciela i dostęp do dysku karty SD odpowiednio na konto użytkownika i 666.
źródło