iMac(Early 2009、20インチ)の光学ドライブを交換する

[] [] []
2011年12月13日 15:45

 自宅のメインマシンは20インチiMac(Early 2009)なのだが、2年前くらいから光学ドライブの調子が悪い。このiMacは整備済み製品として購入したもので、HDDとメモリが増量されている。整備済み製品はときどき記載されているスペックよりも上のものが届くことがあってラッキー感があるのだが、1年間の特別保証が切れた直後あたりに調子が悪いことに気付いてしまった。

 現象としては、CDを挿入しても認識されず、ウンウンうなったあとで排出されるというもの。ちょうど手持ちの音楽CDをすべてリッピングしようと思ってたときで、1日に10枚ペースで200枚くらいのCDをリッピングしたのが良くなかったような気がする。しかも、ときどきは認識されるからタチが悪い。認識されても、リッピングされた音源にノイズが載るという現象が出るため実質的に使えない状態。

 有償修理に出すことも考えたのだが、お値段が数万円コースとなるため放置、外付けのドライブを付けてごまかしてたのだが、来年で購入してから3年目になるということもあり、買い換えを視野に入れて交換を行うことにした。

 作業手順はASCII.jpに載っているとおり。iFixitも写真が多くて参考になる。実際に作業してみて感じたコツだが、フレームや液晶の取り外しは本体を寝かせた状態ではなく、立てた状態で作業をしたほうがやりやすい。寝かせると自重で本体がやや歪むためのようだ。

 交換に使用したのは、Sony OptiarcのAD-7640S。元々搭載されているのはAD-5670Sというモデルだが、OEM専用なので入手が難しい。AD-7640SはVintage ComputerでもiMac用に販売されているし、2011年12月現在国内でも入手しやすい。自分は九十九電機で購入。

 スロットイン型のモデルだが、ベゼルがついているので取り外して使用する。また、左側にイジェクトスイッチが付いているが、内蔵で使う場合不要。自分ははさみで切り取ってしまった。単純なスイッチなので動作上は問題ないと思われる。

 さて、換装自体は無難に完了したのだが、どうもうまく動かなかった。ブート直後、丸いインジケータが表示されるまではディスクをセットできるのだが、OSの起動後はディスクを挿入しようとしてもドライブが吸い込んでくれない。OS上からドライブは正しく認識されているのだが。

 再度ばらしたり組み直したりと色々試行錯誤した結果、電源投入時にディスクをセットしておくと、起動後も問題なく動作するということが判明。また、電源投入後で動作しなくなった場合、ディスクをドライブに突っ込んだ状態でスリープ状態から復帰させるとディスクを吸い込み、その後利用できるようになることも分かった。

ちなみに純正のドライブでは、スリープからの復帰時にドライブの音が鳴らないようになっているが、本ドライブでは鳴る。どうもファームウェアの問題のような気がしているのだが、Appleが提供するSuperDriveファームウェア・アップデート3.0は適用できなかった。

ということで問題の解決に向けて依然情報収集中である。

VirtualBoxでGNOME Shellを使う(Fedora 16)

2011年12月6日 01:31

 VirtualBoxでFedora 16のデスクトップを使う場合、デフォルトだとGNOME Shellが利用できない。GNOME Shellの利用にはハードウェアアクセラレーションが必要なためだ。VirtualBoxの場合、Guest Additionをインストールすればハードウェアアクセラレーションが利用可能になり、GNOME Shellが利用可能になる。

VirtualBox Guest Additionのインストール

 基本的な設定はInstall Fedora 16 VirtualBox Guest Additions and Get Working Gnome Shell Inside Virtual Machineという記事にある通り。

1. 仮想マシンの設定の「ディスプレイ」項目で、ビデオメモリを128MBに設定、「3Dアクセラレーションを有効化」にチェックを入れる。
VirtualBoxの設定

VirtualBoxの設定

2. Guest Additionのインストールにはカーネルモジュールのビルドが必要なので、カーネルヘッダーや開発ツールをインストールしておく。
# yum install kernel-devel kernel-headers dkms gcc-c++
3. VirtualBoxの「デバイス」−「Guest Additionsのインストール」を選択してGuest Additionsをマウントする。
4. 下記を実行
# cd /media/VBOXADDITIONS_4.1.6_74713/
# ./VBoxLinuxAdditions.sh
5. SELinuxの設定変更

 インストールされるVirtualBox Guest Addition関連ファイルのSELinuxラベルが不適切なので、変更する。

# cd /opt/VBoxGuestAdditions-4.1.6/lib/
# /sbin/restorecon -v *.so 

 実行後、ls -Zでラベルが「textrel_shlib_t」になっていることを確認する

$ ls -Z
drwxr-xr-x. root root unconfined_u:object_r:usr_t:s0   VBoxGuestAdditions
-rwxr-xr-x. root root unconfined_u:object_r:textrel_shlib_t:s0 VBoxOGLarrayspu.so
-rwxr-xr-x. root root unconfined_u:object_r:textrel_shlib_t:s0 VBoxOGLcrutil.so
-rwxr-xr-x. root root unconfined_u:object_r:textrel_shlib_t:s0 VBoxOGLerrorspu.so
-rwxr-xr-x. root root unconfined_u:object_r:textrel_shlib_t:s0 VBoxOGLfeedbackspu.so
-rwxr-xr-x. root root unconfined_u:object_r:textrel_shlib_t:s0 VBoxOGLpackspu.so
-rwxr-xr-x. root root unconfined_u:object_r:textrel_shlib_t:s0 VBoxOGLpassthroughspu.so
-rwxr-xr-x. root root unconfined_u:object_r:textrel_shlib_t:s0 VBoxOGL.so
6. ログアウトして再ログインする

 以上で作業完了。

VirtualBox上のFedoraでGNOME Shellが動作している

VirtualBox上のFedoraでGNOME Shellが動作している