10年以上使い続けてきたであろうWindowsXPを、いまさらWindows7に移行したお話です。
いろいろな思いがあってなかなかWindowsXPを捨て切れなかったけど、それを書くと原稿用紙20枚くらいかけそうなのでやめておきます。*1
過去は振り返らない。明日だけを見据えて生きていこう。そう決めました。
ここではXPから7に移行した際に調べたこと、つまづいたことなどをメモしておきます。
新PCのスペック
Facebookにも書いたのですが、SSDやメモリが非常に安くなっていて驚きました。
CPU : Core i7 2700K BOX
CPUクーラー : ENERMAX ETS-T40-TB
マザーボード : P8Z68-V PRO/GEN3
ビデオカード : SAPPHIRE HD7750 1G GDDR5
メモリ : Cetus DCDDR3-16GB-1333 [DDR3 PC3-10600 8GB 2枚組]
SSD : Crucial m4 CT128M4SSD2
HDD : 旧PCのセカンダリ SeagateのHDD 600GB
光学ドライブ : BDR-207DBK/SW
電源 : KRPW-SS600W/85+
ケース : P183 V3
OS : Microsoft Windows7 Professional 64bit
この構成で12万弱です。
少し前なら128GBのSSDで3万円。8GBのメモリ1枚で3万円くらいしたのが、今じゃそれぞれ1万円、4,000円で買えてしまいます。
ちなみに旧PCは
Intel CoreDuo E8400
メモリ 4GB
で、購入当時は20万近くかけた気がします。
スペック4倍、価格半分といった感じですね。
SSD
Windows7に変えるタイミングでハードも新しくしたのですが、記憶装置にはSSDを選びました。
よくSSDのベンチマークなどを目にすると、こんなに早いの?と目が点になる思いでしたが、ほんとに早かったです(笑)
雲泥の差でしょう?
起動時間も素晴らしく早いです。
電源を入れてマザーボードの立ち上がりで15秒くらい、これは仕方が無いですね。
そこから「Windowsを起動中です」というメッセージが10秒ほど出て読み込みが行われ、すぐにデスクトップが表示されます。
そこから15秒くらいでdiskの読み込みが完全に収まり(diskのアクセスランプが止まる)ますので、電源投入から40秒で完全に立ち上がります。
旧PCではデスクトップが表示されるまでに3分以上かかり、そこからdiscのアクセスランプが落ち着くまでさらに7分以上・・・。ちゃんと動かせるようになるまで実に10分はかかるシロモノでした。色々なアプリケーションを入れたりサーバーを立てたりといったことを差し引いても「壊れてんじゃないの?」と思わざるを得ないほどでしたσ(^_^; )
新PCもすでに開発環境として使えるようになっていますので、OS起動時にさまざまなアプリケーションが立ち上がるようになっていますし、Webサーバ、MySQLサーバも立ち上げてもこの速さです。
Firefoxも旧環境だと起動してからブラウジングできるまでに1分くらいかかっていましたが、スッと立ち上がります。スッ。スッ。スゥーーじゃないです。スッ。です。とても快適。
XPでSSD使えばよかったじゃん?
「XPではSSDを使わないほうがいい」
そんな固定概念を持っていました。
SSDを想定していないOSだから速くならないとか、寿命が短くなるとか、プチフリするとか、壊れるときは予兆無く突然だよとか、様々なところで見聞きしたそうしたネガティブな情報のせいで「XPでSSDを利用する」という選択肢が頭にありませんでした。
今回の移行に際して色々調べてみるとそんなに問題にならずXPでも使っている人がたくさんいるようなので、XP時代から使っておけばよかったと思いました。
SSDの寿命
気がかりだったのはSSDの寿命。
SSDにはSLCとMLCという2種類の記録方式の違いがあって、現在主流なのは低価格・大容量・短寿命のMLC。
そのMLCで1箇所に1万回書き込むともう書き込めなくなるというのです。
普通に考えたら多そうですが、Windowsやブラウザのキャッシュファイルであればものすごく頻繁に消したり書いたりするので、1万回なんてあっという間なんじゃ・・・。そう思っていたんですよね。
ただ調べてみるとそうでもないようです。
SSDにはウェアレベリングといって書き込みを均一化する仕組みが乗っているので、disk全体にまんべんなく書き込みをすることで特定の箇所だけが書き込み回数が増えることを防いでくれるそうです。
最近のSSDは特にこのウェアレベリングが優秀なので、書き込み回数の少ないMLCであってもひと頃よりも寿命が伸びたことが起因して主流になったそうです。
SSD寿命については下記のサイトが詳しくて、とても参考になりました。ありがとうございます。
SSDの寿命を知ろう(1/2)|HDD NAVI
SSDのウェアレベリングのしくみ
SSD耐久テスト
書き込みが頻繁なフォルダをHDDに移動
新しいPCにはCドライブにSSD、Dドライブに旧PCのHDDを載せています。
そのため、書き込みが頻繁に起こりそうなフォルダをHDDに移動しました。
一番良いのはユーザフォルダをHDDに移動することなのでしょうが、こちらは大変そうだったので断念しました。
ブラウザのキャッシュフォルダやダウンロードフォルダをHDDにまとめました。
中でもメインで利用するブラウザのFirefoxのキャッシュはディスクキャッシュを無効にしてメモリキャッシュのみに設定して、HDDすらも使わない設定です。今のところ問題なく使えています。
[方法] ※about:configは動作対象保証外になるので自己責任でお願いします
- アドレスバーにabout:configと入力しEnter
- browser.cache.disk.enableをfalseに
- browser.cache.memory.enableをtrueに
- browser.cache.memory.capacity(無ければ整数値として追加)を-1に
他にもDropboxやSugerSync、Evernoteなどのクラウドのローカルディスクは速い必要もないのでHDDに置いています。
あとはWebサーバのルートディレクトリ兼ソースコード置き場や、書類や資料など、制作物に関しては安全性を考えてHDDに置きつつクラウドや外部ディスクと同期するようにしていますね。SSDの寿命が伸びたといってもやはり長年使ってきたHDDの信頼感には勝りません。
Windowsページファイルを無効
これはXPの時には禁じ手*2 だったものですが、新PCはWindows7でメモリ16GBもあるので再チャレンジしてみました。
今のところ私の環境では問題ありませんが、今後もしかするとXPの時のように不具合が出てしまうかもしれないのでおすすめはしません。もしやる方は自己責任でチャレンジしてみてください。
参考:Windows 7 のページングファイル(pagefile.sys)をなしに設定する方法 PCプチ技能向上委員会?
SSDのファームウェアのアップデート
SSDにはCrucial m4 CT128M4SSD2選んだのですが、古いファームウェアを使っていると書き込み回数5,000回程度でエラーコード0x00000f4でブルースクリーンが発生してしまうとのことでした。
そのため、Crucial.com Product Downloads – Firmware Updatesからファームウェアを落として最新のものにアップデートしました。更新は簡単で起動ディスクなどの作成は必要なく、OS上で実行すると次回起動時に更新してくれるというものでした。
パフォーマンスも向上するとのことだったのでベンチマークもとってみましたが誤差とも言えるほど少しですが向上していましたσ(^_^; )
Xamppのインストール
ローカルの実行環境には以前からXamppを利用しています。
旧PCでは1.7.1を利用していて、新PCには1.7.7をインストールしました。・・・が、色々と問題が発生したため、結果的には旧PCに合わせて1.7.1を入れるはめに。その顛末を書きます。
1.7.7にPHPアクセラレータのAPCを入れる
最初に断っておきますが、この作業は問題が起こったため無駄になりました。現在は1.7.1を利用しています。
新PCにXampp1.7.7をインストールしてまず気づいたのはphp.iniのExtentionの設定が1.7.1の時とだいぶ異なっている点でした。明らかに項目が少ないのです。
私の開発案件のほとんどはPHPベースでAPCもほとんどのプロジェクトで利用しているので、ローカル環境にも入れたいところですが、1.7.7には含まれていませんでした。
そのため以下の手順でAPCを入れました。
- http://downloads.php.net/pierre/からAPC(php_apc-3.1.10-5.3-vc9-x86.zip)をダウンロード*3
- ファイルを解凍しThread Safe版(tsフォルダ)のほうのphp_apc.dllをxampp/php/extに入れる
- php.iniに「extension=php_apc.dll」を追加する
- 念のためphpinfoでapcが有効になったことを確認する*4
これでphpinfoにもapcが表示されるようになったのですが、実際にアプリケーションを動かしてみると・・・頻繁にapacheが落ちてしまうようになってしまいました。
私が試したのはちょうど仕掛り案件だったEC-CUBEなのですが、ページを移動するたびに必ず落ちる(゚_゚i)
APCのバージョンを変えてみたり、ntsとtsを入れ替えてもダメ。Xamppも何度かインストールし直しましたが、もうお手上げでした。
結局旧PCと同じ1.7.1をインストールして、旧PCからhttpd.confとphp.iniをコピーして、旧PCと全く同じ環境が完成。
今はメモリが潤沢で、マシンパワーに相当余力があるのでゆくゆくは仮想PCでCentOSのちゃんとした実行環境を作ろうと思っているので、とりあえずはこれで良しとします。
そういえば、この時に思ったのですがWindows7って32bitしか考慮してないようなソフトウェアもほとんど動くんですね。
XPから乗り換えない理由は「使えないアプリケーションやツールが出てくるから」と思っていたので、これはショックでした(笑)今のところXPで使っていたソフトで”まったく”動かなかったものはないんじゃないかと思います?*5
統合開発環境をPhpStormに
最初に書きましたが、今まで開発環境にはPHPEclipseを利用してきましたが、これを機会にPhpStormに乗り換えました。
開発者の評判がいいのは目にしていましたが、一番の決め手になったのはFacebook印でした。
あれほど大規模なプロジェクトに対応できるIDEなら間違いないでしょう。というわけです。
長年慣れ親しんだPHPEclipseとの違いや、メニューが全て英語という壁に阻まれて若干苦労はしていますが、思い返せばただのエディタからPHPEclipseに移行した時も「こんな面倒なもん使えねー!」と叫んだものです。
きっとその内に慣れるでしょう。もう足かせのようにPhpStormを使い続けることにします。いつか相棒と呼べる日が来るでしょう。
Git
旧PCではmsysgit1.7.6を利用しており、nkfを利用して日本語に対応していましたが、最新の1.7.10ではUTF-8に対応となったためnkfなしでも日本語対応できるとの情報があって期待に胸ふくらませてインストールしました。・・・が、どんなに頑張っても過去に作ったリポジトリのlogだけが文字化けしてしまう・・・(T_T)
新しく作成したリポジトリは日本語ファイル名OK、日本語コミットログOK、git logも日本語表示できたのですが。。。以前のバージョンのリポジトリでlogが読めなくなるのは不便なので、これも旧PCと同じ1.7.6を入れてnkfで日本語に対応しました。そのうちとこかのタイミングで更新したいと思います。
それと調べていて気になったのですが、コミットログの入力は日本語で入れられるけど表示はできないという情報が多く見られたのですが、そんなことはありませんよね?
私の環境では1.7.6でも、それ以前からもnkfを使えばファイル名、コミットコメント、logともに、日本語に完全対応できています。*6
Navicat8
データベースの管理にはNavicatを使っています。
購入時のバージョンは6で、それからバージョンアップを重ねて8の状態で使っています。
現在の最新バージョンは10なので、64bitのWindows7にするに当ってさすがにもう8は使えないだろうな?と思っていましたが、全く問題なく使えました。
新しくするつもりでしたがもう少し頑張れそうです。
captstaff
画面キャプチャにCapture STAFF – Lightというフリーウェアを使っているのですが、とても便利でかゆいところに手が届く素晴らしいソフトです。ありがたいことにWindows7でも使えたのですが、一つだけ問題が。
Windows7のエアロを使っている時に矩形取り込みを行うと、背景のデスクトップが透けてしまったり、指定範囲が真っ黒になってしまうのです。
ウィンドウごとのキャプチャよりも範囲指定の矩形取り込みを多用するのでこれでは用をなしません。そのため他のソフトも色々試してみたのですが、captstaffほどしっくり来るものはありませんでした。*7
そこでなんとかcaptstaffを使う方法はないかと試した結果、デスクトップコンポジションを無効にすることで矩形取り込みも問題なく行えることがわかりました。
captstaffのデスクトップコンポジションを無効にする
デスクトップコンポジションとはWindows Vistaから採用された画面描画方法で、ウィンドウの後ろが透けたり、綺麗めなグラデーションが掛かったりする奴のことを言うそうです。
Windows7ではアプリケーションごとにデスクトップコンポジションを無効にしたり、他にも過去のOSの互換モードで立ち上げたりといったことが可能になっています。
それではcaptstaffのデスクトップコンポジションを無効にする方法を書いておきます。
- Capt_St.exe(ショートカットでもOK)を右クリック->プロパティ->互換性のタブを開く
- 設定の「デスクトップコンポジションを無効にする」にチェックを入れてOK
これでcaptstaffを起動するとエアロが解けて、矩形取り込みが問題なくできるようになります。captstaffを終了すればエアロは元に戻るのでご安心を。
エアロはこう見えていい面もあるそうなので(今はまだよくわからないけど)、旧PCでは常駐させていたcaptstaffも新PCでは必要なときにだけ起動することにしました。
Chatwork
アスタではネットショップの顧問業務も行なっているので、お客様とコミュニケーションを取るためのChatworkは必須なのですが、Windows7に移行して一番困った*8 のはこれでした。
ChatworkをGoogle Chromeで開いて、ツールから「アプリケーションのショートカットを作成する」でスタートアップにショートカットを登録するのですが、起動時にどうしても真っ白な画面になってしまうんですよね。そうなるとF5で更新してもChatworkが開いてくれません。
なので今は仕方なく起動後に立ちあげているのですが、これが面倒くさい。。。
たまに立ち上げるのを忘れてお客様からメールで「どうしたんですか?」って聞かれたり、困っていますσ(^_^; )
今のところ解決策が見つからないのですが、多分方法はあると思うので色々試してみようと思います。
Skype
受託先のお客様や、上位の顧問サービスをご利用いただいているお客様にはSkypeでテレビ通話のサービスや遠隔操作(これはTeamviewr利用)を提供しているのですが、Windows7になってからタスクバーからSkypeが消えなくなってしまいました。
色々調べた結果、Windows Vista SP2の互換モードで動かすとタスクバーから消え、常駐バーのみの表示にできることがわかり、これでXPの時同様に使えるようになりました。
参考:居酒屋呑兵衛 Windows7でSkypeがタスクバーから消えない件
CLCL
メールやソースコードのコピペにはCLCLというツールを使っていましたが、こちらもWindows7で問題なく利用できました。
旧PCの実行ファイルと同じフォルダにある「ユーザ名」のフォルダを新しいCLCLのユーザ名のフォルダに入れてやることで、前のテンプレートがそのまま利用できます。
Windows7に移行してみて
Windows7に移行してみて、XPのアプリケーションやツールが問題なく使えることに驚きました。
Adobeもあまり使う機会がないためまだCS3のまま使っているのですが、予め調べた結果色々問題が出るようなことが書いてあったのですが、全然問題なく使えています。*9
こんな事なら早くに移行するべきだったと思いますが、過去を振り返ったって仕方がありません。それよりむしろ、新しいPCはWindowsではなくMacにしようとも思っていたのですが、さすがにそれは違いが大きすぎて怖かったんですよね。
6月にはAppleのWWDCで新型の発表がありそうですし、次こそはMacに手を出してみたいとも思っています。
でもまずは新しい環境に慣れるのが先決ですね。
仕事も徐々に軌道に乗ってきてこれからますます新PCにお世話になるので、こいつを目一杯使い倒したいと思います^^
- 途中まで書いたけど原稿用紙2枚分くらい書いてヤバイと思って消しました。後悔してません。 [↩]
- 旧PCのメモリは4GBで認識された容量でも3.4GBくらいある状態でページファイルを無効にしてもメモリを使い切ることなく不具合が出てしまいました。 [↩]
- たぶん3.1.10の後の(5.3)と言うのがPHPの5.3系という意味だと思います。後に問題が起こって両方入れてみましたが5.4の方ではapacheが起動しませんでした。 [↩]
- phpinfo();を書いたファイルを用意しなくてもlocalhostでアクセスするXamppの管理画面からphpinfoを見ることができます。 [↩]
- 多少問題があるものはあったけど [↩]
- 以前記事を書いたつもりでしたが書いてなかったですねσ(^_^; )需要があれば今度書きます。 [↩]
- 窓フォトというツールが機能的にはいい線をいっていたのですが、UIがしっくりこなくて断念しました。こちらだとエアロでも問題なく取込できそうですけどね。 [↩]
- 正確に言えば2番かな。一番困ったのはPhpStormをまだ使いこなせていないことσ(^_^; )でも2番目に困ったというのは文脈にしっくりこないのでご勘弁を(笑) [↩]
- 月額5,000円のクラウドがはじまったのでそろそろ入れてみてもいいかなと思っていますが [↩]