あけましておめでとうございます!(遅い)
2014年といえば Windwos XP のサポート切れによって歴史的な年となることが既に決定付けられていますが、我が家にも XP で動いている PC がまだ1台残っていたので、冬休みを利用して XUbuntu をインストールすることにしました。大変でした。
以下はその記録です。
結論
古いPCを普通に使えるようにしてくれていた Windows XP は偉大なOSだと思いました。
xUbuntuをインストールするPCについて
2008年の1月に秋葉原の(今はなき)フェイスPC館で購入した、ショップブランドのPCです。
- 製品名:Progress MS T2300/DVR (CELVO M72SのOEM)
- CPU:Core Duo T2300
- マザーボード:Progress MS (正式型番不明, SIS M671 + SIS968 チップセットを搭載)
- ビデオアクセラレータ:チップセット内蔵 (Mirage 3, SiS 771/671)
- メモリ:SO-DIMM PC4300 DDR2 1GB 2枚 (合計2G)
- ハードディスク:250G (購入時に80Gだったものを換装)
- 有線LAN:オンボード 10/100BASE
- 無線LAN:バッファロー WLI-U2-KG54(USB)
- ディスプレイ:1280×800 12インチワイド液晶
当時、「デュアルコアCPUを搭載+メモリ2Gで10万円未満のノートPC」を探して秋葉原を巡った結果たどり着いたのが、フェイスで見つけた特価品のこのPCでした。本体にXPとメモリ2G付けて約10万円。当時はまだネットブック出現前で、この価格でも十分安かったんですよね。
購入後3年くらいはメインPCとして活躍してましたが、スピーカーやタッチパッドやCD-ROMドライブの調子が悪くなり、性能面でも辛くなって来たこともあって第一線からは引退。今は寝室に置いて、テキスト入力用のセカンドマシンとして時々使ってます。
前準備
前にこのPCのHDDを換装した時、いつかこのPCにLinuxをインストールしてデュアルブート環境を作ろうと、Linuxインストール用のパーティーション領域をあらかじめ80G程空けて用意していました。今回はそこにxUbuntu 12.04をインストールします。
何故普通のUbuntuではなくxUbuntuなのかというと、事前調査で「xUbuntu/lUbuntu 12.04のみ対応している SiS771/671 のグラフィックドライバ」を見つけ、それを試したかったからです。
ライブCDを起動すると「timeout:killing /sbin/modprobe …」が延々と表示されて先に進まない問題
CD-ROMにxUbuntu12.04のライブCDを入れて起動したところ、しばらくして「timeout: killing ‘/sbin/modprobe -bv pci:…」というメッセージが延々と表示され、インストールが開始されない現象に遭遇しました。
検索した結果、起動時のカーネルオプションに「noapic,nolapic」を付ける必要があることが判明。こちらを参考にオプション設定ページに移動して対応。これでとりあえずインストールまでは成功しました。
なお、インストール後の再起動時にも、GRUBメニューの編集機能を使って「noapic,nolapic」オプションを指定する必要があります。
/etc/default/grub の編集
起動する度にGRUBメニューからオプションを指定するのもアレなので、/etc/default/grub を編集して対応します。
現在のオプションはこんな感じです:
オプションの「nomodeset」と「GRUB_TERMINAL=console」は、GRUBメニューをテキストで表示させたかったので指定しました。このPCでは、これがないと起動時やシャットダウン時にランダムにドットが打たれた気味の悪いグラフィックが表示されてしまう(ディスプレイドライバの問題?)ので精神衛生上よろしくありません。
「nosplash」は起動時のOSロゴを表示しない指定です。またデフォルトで指定されている「quiet」は、起動時などにOSのメセージを見たいので消しました。
/etc/default/grubを編集したら、sudo update-grub
を実行して編集を GRUB に反映させます。
無線LAN(WLI-U2-KG54)の設定
このPCには無線LAN機能がないので、バッファローのWLI-U2-KG54をUSBポートに挿して使っています。
無線LANドライバは、WindowsのドライバをLinuxで使えるようにする ndiswrapper を採用しました。
手順としては、こちらのサイトを参考に、
- デフォルトのrt2500usbドライバをブラックリストに登録
(このドライバでも使えなくはなさそうですが、挙動が不安定だったので使用を断念) - ndiswrapperをインストール
sudo apt-get install ndiswrapper-common ndiswrapper-utils-1.9 ndiswrapper-dkms
- Windows用のドライバをバッファローのサイトからダウンロードして解凍してPCにコピー、ndiswrapperで設定
という手順で行いました。
SiS 771/671用ディスプレイドライバの入手
インストールした状態だと(OS付属のドライバがSIS 771/671ディスプレイアダプタに対応していないために)ディスプレイの解像度が1024×768になっています。色味もイマイチ。
やはり解像度は 1280×800 で使いたいので、こちらのサイトを参考にSIS用のドライバを入手して設定しました。
ハイバネートを使用可能にする
このPCは経年劣化によってバッテリーが事実上使えなくなっているため、作業中の状態のままPCを移動させたい場合はどうしてもハイバネーションを行う必要があります。
xUbuntu 12.04ではデフォルト状態ではハーバネーション(やサスペンド)が無効になっているそうなのですが、こちらのサイトを参考にしてハイバネーションを使えるようにしました。
ハイバネーションを行うためには、事前にswap領域を実メモリよりも大きめにとっておく必要があります。
またこのPCでは何故か(シャットダウン操作をしても)自動的に電源が落ちないため、ハイバネーションが終わった頃合いを見てから電源を手動で落とす必要があります。GRUBで起動時にnomodosetオプションを指定しておくと、ハイバネーションが終わった時に”System Halted”メッセージが表示されるので便利です。
ハイバネートで無線LANが復活しない対応
ハイバネーションから復活しても、無線LANは自動的には復帰してくれません。
こちらのサイトを参考に、ハイバネーション時のスクリプトをこう設定したところ、自動復帰することもある程度には改善しました(セッションメニューの「ハイバネート」だと復帰するが、pm-hiberateコマンドからだと復帰しない模様)。
/etc/pm/sleep.d/10_unattended-upgrades-hibernate (抜粋)
自動復帰しなかった場合は、以下のコマンドを実行すれば復帰するようです(要するにndiswrapperモジュールの再組み込みが必要)。
WindowsXP領域をマウント
xUbuntuから既存のWindows XPのパーティーションにアクセスしたいため、/etc/fstab に以下の記述を追加しました。
/mnt/windows は事前に作っておく必要があります。
まとめ
古いPCにLinuxをインストールする場合は、ディスプレイドライバ・無線LANドライバ・電源管理(ハイバネート)が問題になることがよく判りました。
Windows XPのサポートが終了して使えなくなるけどPCが古くてWindows7/8にアップグレードできない、というケースでは「ならLinux入れればいいじゃん?」みたいな意見を聞きますが、いざ入れてみるとしてもドライバ周りの問題はどうしても出てくるものと思われます。それを乗り越えるには、やはりそれなりの準備は必要です。今回参考にした情報をネットに上げてくれた方々に感謝します。
逆に言えば、様々なハードで発生する問題を吸収してきたWindows XPはやっぱり偉大なOSだったんだよなー、というのが今回の結論です。神も悪魔もWindows XPもいない荒野に我々はいる。
売り上げランキング: 2,925
今ノートPCで10万円出したら、MacBook Airが買えるかと思うと