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

仮想マシンからSDカードにアクセスするには?

Linux仮想マシンからSDカードをフォーマットしたい。私のラップトップには内蔵のSDカードリーダーがあります。VirtualBox ](http://en.wikipedia.org/wiki/VirtualBox)と[VMware Player ](http://en.wikipedia.org/wiki/VMware_Player)を使ってみたり、Ubuntu 10.04 guestをインストールしてみました。どれもSDカードリーダーがデバイスとして表示されません。WindowsホストからSDカードにアクセスできています。

私はSDカードをハードウェアとしてアクセスしたいので、共有フォルダを使ったソリューションには興味がありません(/devで表示されるはずです)。

基本的には BeagleBoard 用のSDカードを設定したいのですが、物理的なUbuntuをPCにインストールしたくないので。

回答 (11)

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

新しいMacBook Proでは、SDカードスロットがUSBデバイスとして露出しなくなりました。このため、カード全体に生でアクセスするには、生のデバイスをVMにアタッチする必要があります。完全なドキュメントはVirtualBoxドキュメントのAdvanced Storage Configurationセクションにあります。

ドキュメントに明記されています。

Warning - 生のハードディスクへのアクセスはエキスパートユーザー専用です。誤った使用や古い構成を使用すると、物理ディスク上のデータが全滅する可能性があります**。最も重要なことは、ゲストで現在実行中のホストオペレーティングシステムでパーティションをブートしようとしないことです。これは深刻なデータ破壊につながります。

簡単なガイドとして、デバイスを linux VM にアタッチする手順を以下に示します:

  1. ホストシステム上の raw disk block デバイスを識別する

  2. ディスクユーティリティを開き、"Unmount “をクリックします。ディスクユーティリティを開き、ボリュームを「アンマウント」します。イジェクト」しないでください。OSXが自動的にランダムに再マウントしてしまうことがわかったので、次のステップでは時々ボリュームをアンマウントする必要があるかもしれないことに注意してください。

  3. ここで、ターミナルで以下のコマンドを実行して、VirtualBoxが生のデバイスを認識するように設定します。

  4. 次に、VirtualBox UI内のゲストVMにローディスクをアタッチします。VMを起動します

  5. GUIがあるかどうかによって、SDカードが自動的にマウントされる場合とされない場合があります。手動でマウントする必要がある場合は、単に別の標準ブロックデバイスとして公開されるだけなので、私のゲストでは/dev/sdbとして公開されていました。一部のコマンドを sudo で実行しようとしても、VirtualBox はログインしているユーザーとして実行され、生のデバイスや生成された vmdk ファイルに正しくアクセスすることができません。

テストしていませんが、以下の手順で解決するはずです。

1.OSXで使用しているアカウントがシステム環境設定/ユーザーセクションで管理者権限を持っていることを確認してください。生のデバイスにアクセスするためのシステム上のプライマリアカウントである可能性が高いです。 2. 生のディスクパーミッションを確認する


Update #2

OSX Mountain Lion は「root:operator」権限と 0640 パーミッションでデバイスを作成していることが判明しました。残念ながら今のところ、このデバイスにアクセスする唯一の方法は、デバイスを挿入するたびに現在のユーザーに「sudo chown $USER」することですが、自分が何をしているのか本当に理解していない限り、この方法はお勧めできません。AppleかVirtualBoxのどちらかがもっと適切な解決策を見つけてくれることを願っています。

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

Windowsユーザーの方への回答

1.SDカードリーダーのDeviceIDを取得してください。

  1. SDカードへのリンクファイルを作成する

  2. JinnKoさんの回答にある4~6の手順に従ってください、唯一の微調整は、管理者としてVirtualBoxを起動する必要があることです

  1. 次に、VirtualBox UI

1内のゲストVMに生ディスクをアタッチします。ゲストVMの電源がオフになっていることを確認します。 2. VirtualBox が起動していないことを確認します 3. **VirtualBox を右クリックして「管理者として実行」を選択して起動します。ゲストVMの設定領域を開く 5. ツールバーの「ストレージ」をクリックします。コントローラの横にある「Add Hard Disk」のアイコンをクリックします。 7. 「Choose existing disk」を選択します。手順3で使用した/path/to/file.vmdkに移動し、それを選択します。これでストレージタブに戻り、リストに file.vmdk が表示されるはずです。 2. VM を起動する 3. GUIを使用しているかどうかによって、SDカードが自動的にマウントされる場合とされない場合があります。手動でマウントする必要がある場合は、単に別の標準ブロックデバイスとして公開されます。

7
7
7
2012-01-01 04:16:47 +0000

SDリーダーがUSBコントローラーを使用している場合は、拡張子が不足している可能性が高いです。

Under File > Preferences, follow the pic. ダウンロードした拡張子を追加してポイントします。

仮想マシンを再起動すると、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

さて、VM Settingsに移動し、Storageを選択し、Controller:Sataをクリックし、Add Hard Diskのアイコンをクリックし、.vdk (この場合はsd-card.vmdk)を選択します。

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

この問題を解決するには、内蔵のカードリーダーの代わりに外付けのUSBメモリーカードリーダー(すなわち、SDカードをUSBに変換するアダプタ)を使用してください。それはあなたのSDカードをUSBデバイスとして公開しますので、あなたは他のUSBデバイスのように簡単にそれをマウントすることができます。彼らは安いデバイスだし、他の方法ですべての手間を考慮すると、許容可能なソリューションであろう。

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

私は、主に私のマウンテンライオン(OS X 10.8)上にあるため、私は、動作するようにJinnKoによる解決策を得るために多くのトラブルを抱えていた… しかし、彼の親切な援助で問題を解決しました。

完全な解決策は 詳細はこちら です。

とはいえ、私の解決策の本質–Mountain Lionユーザーのために–は以下のようになっています(上記のJinnKoさんのステップを使いますが、私のステップをここに挿入してください)。10.8 Mtn Lionでは、おそらく、あなたじゃないと分かるでしょう。確認してみてね。

ls -l /dev/disk*

‘*'で、すべてのディスクデバイスが表示されるので、次のようにすることもできます: ls -l /dev/diskX to see 'X’ only see ‘X’, instance, I did.

ls -l /dev/disk5

Mtn Lion ( 10.8.x ) では、以下のように表示されます。

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

ここで「X」はデバイス番号で、/dev/disk5 の「5」のようなものです …

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」はデバイス番号で、/dev/disk5 … の「5」のようなものです。あなたが所有者であれば、すべて問題ありません。ここでは何もする必要はありません。

もしあなたが所有者ではない場合(でも「root」か他のユーザが所有している場合)、(a)その管理者ユーザとしてログインするか、(b)以下の手順を実行してください(ここでも、正しいデバイス番号/文字を使っているかどうか、十分に確認してください!):

注意* 以下は、ハードドライブやフラッシュストレージドライブのデータを永久に破壊するリスクを冒したい人のためのものです。自分が何をしているか分からない場合は、絶対にしないでください。

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

0x1&

*** CAUTION ¶*** 自分が何をしているか分からない場合は、これをしないでください。上記は、ハード・ドライブやフラッシュ・ストレージ・ドライブのデータを永久的に破壊する危険を冒したい人のためのものです。

すべてのスライス(s1, s2, s3, …いくつあっても構いません)に対してこれを行う必要があります。例えば、私のユーザ名は「brad」なので、このようにしました。sudo chown brad /dev/disk5, sudo chown brad /dev/disk5s1, s2, s3, sudo chown <your username> /dev/diskX (すでに3つの既存のパーティションまたはスライスがあったので)。

SD カードのパーティションを設定していない場合は、0x6& を一度だけ(スライスやパーティションを設定せずに)行う必要があるかもしれません

これが他の貧しい Mtn Lion ユーザーの助けになることを願っています。

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

私は今のところ、USBカードリーダーを使っても、これを直接行う方法を見つけることができずに失敗しています(カードは期待された/dev/dm-1ではなく、/dev/mmcblk1に置かれていました)。

私の回避策はVirtualBoxで4 GBの仮想ドライブを作成することでした。これで(/dev/sdbとして)文書通りにBeagleBoard Ubuntuをインストールすることができました。

その後、私はVMをシャットダウンし、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分かかりました!

これがお役に立てれば幸いです。私はまだもっと簡単で迅速な方法を目指しています - 600 MBのOSのために4 GBのデータを転送する必要はないはずです。

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

kobaltzさんがおっしゃっているように USB 2.0と3.0バージョンをサポートするにはVirtual Extension Packをインストールする必要がありますが、私は5.2.22 Oracle VM VirtualBox Extension Packをインストールしましたが、Virtual Boxのダウンロードページからダウンロードできます。ダウンロードしたら、直接先に進んでインストールすると、Virtual Boxの拡張機能にも同じものが追加されます。

また、Virtual Box のデバイスフィルターに SD カードを追加する必要があります。

これでフィルターにSDカードが表示されます。

ファイルに移動して、SDカードのフォルダが表示されます(私はUbuntu Linuxディストリビューションを使用しています)

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

Virtual Box Guest Additons CD」ファイルをインストールしましたが、SDカードリーダーがWindows XPの仮想マシンに表示されませんでした。Virtual BoxでUSBデバイスを有効にしてからVirtual Machineを再起動することで、SDカードリーダーが表示されるようになりました。

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

私の場合は、 Devices -> USB devices ->My card reader, を使って、SDカードでUSBデバイスをオンにすると、数秒後にVMに新しいディスクが表示されるようになりました。

その前にVirtualBox Extensions Packをインストールしています。

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

macos を使用していて、以前の回答に従っている人のために、パーミッションの問題で sd カードにアクセスできない場合は、

virtualbox を sudo で実行することで解決します。

sudo VirtualBox

vmファイルのパスが違うことに注意してください。

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

それでも解決しない場合は、SDカードのディスクの所有者とアクセス権をそれぞれユーザーアカウントと666に変更してください。