原因が分かった!
以前からうまく動作せず、しばらく放置気味だった。久しぶりなので、状況をまとめておこう。要は仮想マシンでプリンタが利用できないということで…。USBがうまく認識できていない。
- Mac上(Mountain Lion)でVirtualBoxにより仮想マシンを構築。
- GuestにWindows7を入れている。(他にはXP,Ubuntuなどなど)
- プリンタはCanon PIXUS 850i でUSB接続
- 仮想マシンXPでは動作しているが、7だと動作しない。Ubuntuでも動作している。
- USBメモリもWindows7のみ動作せず。
という状況で、随分前から格闘を続けてきたのだが、今日時間がたっぷり取れたので、じっくり腰を据えて検証してみた。
この状況で、VirtuaBoxのUSB設定で、プリンタのフィルタを作成しても、しなくても図のようにUSBの認識を正しくしてくれない。USBポートを変更しても、プリンタの電源をOFF/ONしても効果なし。
Windowsのデバイスマネージャで、ドライバを削除しても結局同じ所に行き着いてしまう。
GuestAddtionsもExtentionPackも入れ直している。
もちろん、GuestOSの再起動もHostOSの再起動を行なっても効果はない。
でも、以前に構築してあった仮想マシンXPでは、同じプリンタが正しく認識されて印刷もできるし、ステータスも確認できる。そこが解せないわけだ…。
八方塞がりになりかけていたので、本家VirtualBoxのForumを検索して探してみる。同じようにGuestOSがWindowsでUSBがUnknown Deviceとなって利用できないという書き込みが山のようにある。
どうやらバグの可能性が…。でもこれだけ発生しているなら、対策とってとっくにFixしてるはずなのに…と思いながら探してみる。
簡単にいえば「プロセッサの数を1にすると治ったよ」ということらしい。
自分の環境を確認してみる。たしかに7はマルチプロセッサ設定になっている。
XPはLinux時代に構築した仮想マシンのイメージを持ってきている。随分昔のことなのだが、当時はプロセッサが非力なので、当然仮想マシンのプロセッサ数が1にしてある。
ところが、昨年構築したWindows7はプロセッサ数を2にしてあった。メモリも実プロセッサも余裕があるし、VisualStdioを使ってコンパイルするのに多めがいいだろうと思って増やした記憶がある。
設定変更してみる
本当にそうか?と思いながら、設定を変更して再度起動してみる。
今度は、ドライバのインストールを開始するではないか!!
しばらく待つと、作業は完了し何事もなかったかのように、無事USB Deviceを認識し、プリンタドライバのインストールまで完了する。念のためプリンタのプロパティからテスト印刷と、プリンタのステータスを確認するが、残インクなどちゃんと取得できている。
たった、これだけだったのか…。
さて、ここで再度CPU数を2に戻すとどうなるのか?
一旦認識してしまえば、そのまま運用できるのか、できないのか。
一旦仮想マシンをシャットダウンし、CPU数を元の値に変更する。
さて起動してみる。
昔のWindowsはCPU数が変更になると起動時にエラーこいて逝ってしまった覚えがあるのだけれど、Windows7はそんなことは起きず、何事もなかったように起動してくれるのは嬉しい。
と言っている間に再起動完了。
しかし、USBはUnknownとな…。
つまりプリンタを使用するためには、プロセッサ数を1にしなければならないということが分かった。
まあ、それ程重たい処理をするわけではないので、このまま使うことにする。
再度プロセッサ数を1に戻すと、正しくUSBを認識して動作することが確認できた。
これまで、プリンタやUSBメモリが利用できないのでPDFの仮想プリンタを入れたり、ネットワーク経由でHOSTマシンにデータを送って処理していたのが、これで楽になるわ〜。
今回は、一件落着!ということでスッキリしたわ。
Oracleさ〜ん。早く修正してよね〜。
私もUSBメモリが使えずずっと困っていました。
返信削除2011年以来VirtualBoxが新しくなる毎に期待していたのですが・・・
記事にあるとおり1CPUにしたら使用できるようになり、大変助かっています。どうもありがとうございました。
なお、環境は以下の通りです。
Macmini OSX10.6.8
VirtualBox 4.2.12
Guest Windows 7 SP1
僕も長い間、原因が分からず試行錯誤してました。
削除お役に立てて良かったっす〜。
私もUSBが認識せず(ディスクドライブもプリンタも232Cの変換も...)ホトホト困り果てていたところこの記事に助けられました!
返信削除シングルプロセッサにしたところ全く問題なく動作しております。
症状は全く同じで XP ですとCPUコア数に関係なく問題なく動作。
7のみ32bit/64bitに限らずシングルプロセッサ時のみUSB問題なしです!
貴重な記事を上げて頂き感謝致しますm(_ _)m
環境
iMac 27 Late 2012
i7 3.4GHz /16GB
OSX 10.8.3(12D78)
VirtualBox 4.2.12 r84980
Win7 Ultimate SP1 32bit/64bit
私もCPU数を1にしたところ完全解消されて感激です。
返信削除素晴らしい記事です。ありがとうございます。
[ホスト]
自作機
Linux Mint 16 (64bit)
VirtualBox 4.3.6 r91406
[ゲスト]
Windows Professional (64bit)
なお、Linuxホストの場合、ホストのグループ vboxusers にユーザを追加する必要があるという別の理由もあり、余計にハマってました。
同じ状況で悩んでます。
返信削除CPUを1にするってどうすればいいのでしょうか。
仮想マシンの設定→「システム」→「プロセッサー」→「プロセッサー数」という欄のスライダか、数値を入力する欄で設定可能です。
削除