キーボード修理

イメージ
前回 調子が悪くなったと書きましたが、部品が手配できて時間が取れたので直しました。 茶軸のスイッチを購入 Cherryの茶軸は 10個で1,399- ということで購入。 本当は1個で充分なんだけど、仕方なく残りは予備部品として保管。 作業手順 キーボードの裏側ネジを3箇所外します。 左右と中央の丸シールの下。 左右はパッドを貼っているので、少しめくって外します。 (あとで綺麗に戻るので心配なしです) ケーブルが出ている方は、スッと外れ、手前(下側)は、内部に爪が有るので、ピックやカード、マイナスドライバなどで少し隙間を開けるようにして広げれば外れます。 自分は親指の爪で空きました。 今回は「E」が調子悪いので、該当のピン2箇所をハンダ吸いで綺麗に取り除いて、裏側から引き抜いて完了。 基板にしっかりとどのキーかがプリントされているので分かりやすいですねぇ 入手した新品の茶軸を差し込んでハンダ付けします。 この時点で動作確認が可能になるので、直したキーとその周辺が正しく入力できるのをチェック。 問題なく、無事に動作しました。 最後にカバーを取り付けて完了! 残ったのは9個の茶軸…。 今回の費用 Cherryの茶軸10個セット :1,399- キーキャップ引き抜き工具 : 475-  ちなみに10個セットには、簡易引き抜きがついてきますが、ちゃんとしたもののほうが楽に作業できます。(昔買ったのに、どこかに行ってしまったので再購入)  ということで、1900円ほどで完治しました。  手間賃考えると買ったほうが安いかも(笑)

VirtualBoxでUSBを使う方法が分かった!

原因が分かった!

 以前からうまく動作せず、しばらく放置気味だった。久しぶりなので、状況をまとめておこう。要は仮想マシンでプリンタが利用できないということで…。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してるはずなのに…と思いながら探してみる。

"Windows does not recognize USB devices"というタイトルの投稿にヒントがあった。
簡単にいえば「プロセッサの数を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さ〜ん。早く修正してよね〜。


コメント

  1. 私もUSBメモリが使えずずっと困っていました。
    2011年以来VirtualBoxが新しくなる毎に期待していたのですが・・・
    記事にあるとおり1CPUにしたら使用できるようになり、大変助かっています。どうもありがとうございました。

    なお、環境は以下の通りです。
    Macmini OSX10.6.8
    VirtualBox 4.2.12
    Guest Windows 7 SP1

    返信削除
    返信
    1. 僕も長い間、原因が分からず試行錯誤してました。
      お役に立てて良かったっす〜。

      削除
  2. 私も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

    返信削除
  3. 私もCPU数を1にしたところ完全解消されて感激です。
    素晴らしい記事です。ありがとうございます。

    [ホスト]
    自作機
    Linux Mint 16 (64bit)
    VirtualBox 4.3.6 r91406
    [ゲスト]
    Windows Professional (64bit)

    なお、Linuxホストの場合、ホストのグループ vboxusers にユーザを追加する必要があるという別の理由もあり、余計にハマってました。

    返信削除
  4. 同じ状況で悩んでます。
    CPUを1にするってどうすればいいのでしょうか。

    返信削除
    返信
    1. 仮想マシンの設定→「システム」→「プロセッサー」→「プロセッサー数」という欄のスライダか、数値を入力する欄で設定可能です。

      削除

コメントを投稿

励みになりますので、簡単で良いので一言くださいませ。

このブログの人気の投稿

WPS Officeで日本語入力ができない

VirtualBoxでUSBから起動

Virtualboxとnvidiaドライバ