Saya ingin memformat kartu SD dari mesin virtual Linux saya. Saya memiliki pembaca kartu SD bawaan di laptop saya. Saya mencoba menggunakan VirtualBox dan VMware Player dan menginstal Ubuntu 10.04 guest. Tidak satu pun dari mereka yang menunjukkan pembaca kartu SD sebagai perangkat. Saya dapat mengakses kartu SD dari host Windows.
Saya tidak tertarik dengan solusi menggunakan folder bersama karena saya ingin mengakses kartu SD sebagai perangkat keras (seharusnya muncul di /dev
).
Saya pada dasarnya ingin mengatur kartu SD untuk BeagleBoard , tetapi saya tidak ingin menginstal Ubuntu fisik pada PC saya.
virtual-machine
sd-card
Punit Soni
sumber
sumber
Jawaban:
Pada MacBook Pro yang lebih baru, slot kartu SD tidak lagi terekspos sebagai perangkat USB. Karena ini, Anda harus melampirkan perangkat mentah ke VM untuk mendapatkan akses mentah ke seluruh kartu. Dokumentasi lengkap ada di bagian Konfigurasi Penyimpanan Tingkat Lanjut dari dokumentasi VirtualBox.
Sebagaimana dinyatakan dengan jelas dalam dokumen:
Sebagai panduan singkat, ini adalah langkah-langkah untuk memasang perangkat ke VM linux:
Identifikasi perangkat blok disk mentah pada sistem host Anda
Buka Terminal dan ketik "mount". Anda akan melihat keluaran mengidentifikasi volume yang terpasang dari kartu SD Anda. Di sistem saya, saya mendapatkan yang berikut ini
Dalam kasus saya, volume "NO NAME" adalah kartu SD, jadi saya perhatikan
/dev/disk2s1
bagian itu. Dalam kasus khusus ini,s1
bagian tersebut merepresentasikan partisi (irisan) pada perangkat mentah, sehingga bagian yang akan kita gunakan nanti hanyalah/dev/disk2
bagian tersebut.Sekarang kita mengatur VirtualBox untuk mengetahui perangkat mentah dengan perintah berikut di Terminal.
/path/to/file.vmdk
dapat diletakkan di mana saja, meskipun ide yang baik untuk menyimpan ini di folder VM tamu seperti~/VirtualBox VMs/guest-vm/sdcard.vmdk
Perhatikan bahwa
-rawdisk
kami menggunakan tidak merujuk partisi (slice) tetapi hanya perangkat blok secara keseluruhan.Selanjutnya kita lampirkan disk baku ke VM tamu dalam UI VirtualBox
/path/to/file.vmdk
Anda gunakan di langkah 3 dan pilihfile.vmdk
dalam daftar.Memperbarui
Tampaknya beberapa orang mungkin mengalami masalah dalam mengakses perangkat mentah pada langkah 3.2 atau 4.6. Upaya untuk menjalankan beberapa perintah dengan sudo tidak akan membantu karena VirtualBox akan berjalan sebagai pengguna yang masuk dan masih tidak dapat mengakses perangkat mentah dengan benar atau file vmdk yang dihasilkan.
Langkah-langkah berikut akan membantu, meskipun saya belum mengujinya.
Periksa izin disk mentah
Izin ini harus sesuai dengan akun pengguna yang Anda masuk saat ini:
Izin pada perangkat juga harus memungkinkan akun pengguna yang biasa Anda baca (r) dan tulis (w) ke perangkat ini. JANGAN MENGUBAH IZIN PADA PERANGKAT KECUALI JIKA ANDA TIDAK TAHU APA YANG ANDA LAKUKAN.
Perbarui # 2
Ternyata OSX Mountain Lion menciptakan perangkat dengan hak istimewa "root: operator" dan izin 0640. Sayangnya untuk saat ini satu-satunya cara untuk mendapatkan akses ke perangkat ini adalah dengan "sudo chown $ USER" ke pengguna Anda saat ini setiap kali Anda memasukkan perangkat, namun ini tidak disarankan kecuali Anda benar-benar mengerti apa yang Anda lakukan. Semoga Apple atau VirtualBox akan menemukan solusi yang lebih cocok.
sumber
$ 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>
Jawab untuk pengguna Windows
Dapatkan DeviceID dari pembaca kartu SD Anda.
Anda akan memerlukan kartu di drive, dipasang oleh windows.
Masukkan perintah ini
Seharusnya terlihat seperti ini:
Perangkat terakhir adalah pembaca kartu SD, demikian juga DeviceID
\\.\PHYSICALDRIVE1
Buat file tautan ke kartu SD
Buka jendela perintah sebagai Administrator
Ini mengasumsikan jalur instalasi default - ubahlah jika perlu. (Pastikan kutipan ada di sekitar argumen rawdisk.)
File .vmdk adalah tautan ke kartu SD, Anda dapat meletakkannya di mana saja di sistem host Anda, tetapi perintah ini hanya meletakkannya di desktop Anda untuk kenyamanan.
Ikuti langkah 4-6 dalam jawaban JinnKo, satu-satunya perubahan kecil adalah Anda harus memulai VirtualBox sebagai Administrator
sumber
cygwin
menonton untuk karakter melarikan diri. Saya tidak mendapatkancygwin
solusi yang benar tetapi memperhatikan bahwa perintah yang berfungsicmd
tidak berfungsicygwin
.Kemungkinan besar Anda kehilangan ekstensi jika pembaca SD Anda menggunakan pengontrol USB Anda.
Di bawah File> Preferences, ikuti gambarnya. Tambahkan dan arahkan ke ekstensi yang diunduh.
Mulai ulang Mesin Virtual Anda dan Anda harus memiliki akses ke perangkat USB.
sumber
Untuk mengatasi masalah ini, Anda cukup menggunakan Pembaca Kartu Memori Usb eksternal (yaitu kartu sd ke adaptor usb) alih-alih pembaca kartu bawaan. Ini akan mengekspos kartu sd Anda sebagai perangkat USB sehingga Anda dapat memasang dengan mudah seperti perangkat usb lainnya. Mereka perangkat murah dan akan menjadi solusi yang dapat diterima mengingat semua kerumitan dengan cara lain.
sumber
Saya menggunakan Kubuntu 15.04, VirtualBox 4.3.26
Ini mengasumsikan bahwa perangkat kartu sd adalah
/dev/mmcbl0
, dan output .vdk akan menjadisd-card.vmk
:Tidak yakin ini adalah cara terbaik untuk memperbaiki izin, tetapi berhasil:
Sekarang pergi ke Pengaturan VM, pilih Storage, klik Controller: Sata, klik pada ikon untuk Tambah Hard Disk, pilih .vdk Anda (sd-card.vmdk dalam hal ini)
sumber
Saya memiliki banyak masalah dalam mendapatkan solusi oleh JinnKo untuk bekerja, sebagian besar karena keberadaan saya di Mountain Lion (OS X 10.8) ... Tetapi dengan bantuannya, saya telah memecahkan masalah.
Solusi lengkapnya dirinci di sini .
Namun, inti dari solusi saya - untuk pengguna Mountain Lion - adalah sebagai berikut (gunakan langkah-langkah JinnKo di atas, tetapi masukkan langkah saya di sini sebelum menjalankan perintah 'Perintah internal VBoxManage createrawvmdk [...]' (yaitu, di antaranya langkah 2 & 3):
** Khusus untuk Mtn Lion ** Pastikan Anda adalah pemilik perangkat ini. Pada 10,8 Mtn Lion, Anda mungkin akan menemukan bahwa Anda tidak. Periksa dengan melakukan:
Dengan '*' Anda akan melihat SEMUA perangkat disk Anda, Anda juga dapat melakukan: ls -l / dev / diskX untuk hanya melihat 'X', misalnya, saya lakukan:
Pada Mtn Lion (10.8.x) Anda akan melihat sesuatu seperti:
Di mana 'X' adalah nomor perangkat Anda, seperti '5' di / dev / disk5 ...
Pada Lion (10.7.x), Snow Leopard (10.6.x), atau mungkin versi OS X sebelumnya, Anda akan - jika nama pengguna Anda 'brad' - kemungkinan akan melihat sesuatu seperti:
Di mana 'X' adalah nomor perangkat Anda, seperti '5' di / dev / disk5 ... Jika Anda adalah pemiliknya, maka semuanya baik-baik saja, tidak ada hubungannya di sini, lanjutkan ke langkah berikutnya, yaitu, langkah createrawvmdk ( dalam instruksi besar @JinnKo di atas).
Jika Anda bukan pemilik (tetapi 'root' atau beberapa pengguna lain), maka (a) login sebagai pengguna admin atau (b) lakukan hal berikut (sekali lagi, pastikan Anda menggunakan nomor / huruf perangkat yang benar sini!):
* PERHATIAN * Di bawah ini hanya untuk mereka yang ingin mengambil risiko menghancurkan data secara permanen pada hard drive atau drive penyimpanan flash. JANGAN TIDAK LAKUKAN INI jika Anda tidak yakin Anda tahu apa yang Anda lakukan:
* PERHATIAN * JANGAN TIDAK LAKUKAN INI jika Anda tidak yakin Anda tahu apa yang Anda lakukan. Di atas hanya untuk mereka yang ingin RISIKO secara permanen menghancurkan data pada hard drive atau drive penyimpanan flash.
Anda harus melakukannya untuk SEMUA irisan Anda (s1, s2, s3, ... namun ada banyak). Misalnya, nama pengguna saya adalah 'brad', jadi saya lakukan:,
sudo chown brad /dev/disk5
lalusudo chown brad /dev/disk5s1
, lalu untuks2
, dans3
(karena saya sudah memiliki 3 partisi atau irisan).Jika Anda belum mempartisi kartu SD, maka Anda hanya perlu melakukan satu
sudo chown <your username> /dev/diskX
kali (tanpa melakukan irisan / partisi)Semoga ini bisa membantu beberapa pengguna Mtn Lion miskin lainnya di luar sana!
sumber
Sejauh ini saya telah gagal menemukan cara untuk melakukan ini secara langsung, bahkan dengan pembaca kartu USB (itu meletakkan kartu
/dev/dm-1
daripada yang diharapkan/dev/mmcblk1
).Lingkungan kerja saya adalah membuat drive virtual 4 GB di VirtualBox. Ini kemudian dapat (sebagai
/dev/sdb
) mengambil instalasi BeagleBoard Ubuntu sebagai didokumentasikan.Saya kemudian mematikan VM, mengubahnya menjadi file RAW DD dan menggunakan DD untuk meletakkannya di kartu: (pada host host):
(
/dev/disk2
dalam kasus saya, tapi periksa triplecheck kalau salah bisa merusak drive hard disk Anda).The
dd
perintah waktu sekitar 1 jam 20 menit!Saya harap ini membantu. Saya masih berusaha menuju cara yang lebih mudah dan lebih cepat - kita tidak perlu mentransfer 4 GB data untuk 600 MB OS.
sumber
Bagi saya solusinya adalah menyalakan perangkat USB dengan kartu SD, menggunakan
Devices -> USB devices ->My card reader
,dan setelah beberapa detik disk baru muncul di VM saya.
Saya telah menginstal VirtualBox Extensions Pack sebelum itu.
sumber
Saya memasang file "Virtual Box Guest Additons CD", tetapi pembaca kartu SD saya tidak muncul di Mesin Virtual Windows XP. Saya dapat menjalankan tugas saya dengan mengaktifkan perangkat USB di Virtual Box dan kemudian memulai kembali Mesin Virtual.
sumber
Seperti yang disebutkan kobaltz. Untuk mendukung versi USB 2.0 dan 3.0 Anda perlu menginstal Virtual Extension Pack, saya menginstal 5.2.22 Oracle VM VirtualBox Extension Pack, dan Anda dapat mengunduhnya dari halaman pengunduhan Kotak Virtual. Setelah Anda mengunduh file, Anda dapat langsung melanjutkan dan menginstalnya, hal yang sama akan ditambahkan ke ekstensi Kotak Virtual Anda.
Anda juga harus menambahkan kartu SD Anda ke filter perangkat di Kotak Virtual kami, silakan pergi ke Pengaturan -> USB -> Klik pada opsi Tambahkan kartu SD Terlampir.
Sekarang Anda dapat menggunakan kartu SD di Filter.
Pergi ke File dan lihat folder melihat kartu SD (saya menggunakan Distribusi Linux Ubuntu)
sumber
Bagi siapa saja yang menggunakan makro dan mengikuti jawaban sebelumnya, jika Anda masih tidak dapat mengakses kartu sd karena masalah izin,
menjalankan virtualbox dengan sudo akan menyelesaikannya.
Perhatikan bahwa path ke file vm berbeda, dalam kasus saya, itu adalah:
Jika itu masih tidak berhasil, ubah pemilik dan akses disk kartu sd, masing-masing ke akun pengguna Anda dan 666.
sumber