Ubuntu Weekly Recipe

第298回 新型MacBook ProでUbuntu 13.10を使う

この記事を読むのに必要な時間:およそ 4.5 分

SSDのロックアップ対策

MacBook Pro 11.1でUbuntuを使っていて,一番の問題となるのがSSDのロックアップです。この現象が発生するとSSDの読み書きがブロックされてしまい,アプリケーションの処理がその場で停止してしまいます。この現象は筆者が試した範囲でも,とても常用には耐えない頻度で発生することが確認できました。ですがこの問題は,SATAのNCQ(Native Command Queuing)を無効にすることで回避できます。

NCQとは,複数の命令をキューイングし,効率よく並べ変えて実行することで,HDDのアクセス速度を向上させる技術です。Ubuntuでは対応したストレージが接続された場合,自動的にNCQが有効になります。NCQが有効かどうかは,起動時のdmesgで確認できます。

NCQが有効なSATA SSDから起動した例

$ dmesg | grep NCQ
[    1.077369] ata1.00: 250069680 sectors, multi 16: LBA48 NCQ (depth 31/32), AA

NCQを無効にするには,カーネルパラメータに「libata.force=noncq」を付けて起動します。⁠/boot/grub/grub.cfg」は自動生成されるファイルのため,このファイルを直接編集することはせず,⁠/etc/default/grub」「GRUB_CMDLINE_LINUX」にこのオプションを追記してください。追記が完了したら,update-grubコマンドを実行して,grub.cfgを再生成し,Ubuntuを再起動してください。

NCQが無効になっていると,dmesgに「not used」のように表示されます。

カーネルパラメーターを追記する

$ sudo vi /etc/default/grub
(略)
GRUB_CMDLINE_LINUX="libata.force=noncq"

$ sudo update-grub

NCQを無効にした例

$ dmesg | grep NCQ
[    4.008551] ata1.00: 490234752 sectors, multi 16: LBA48 NCQ (not used)

OS Xを復元するには

やっぱりOS Xに戻したい!  ……という要求は当然あると思います。内蔵SSDをまるごとUbuntuで利用していると,当然リカバリー領域も消え去っています。そんな時はインターネット復元機能を利用しましょう注5)⁠

commandキーとRキーを押しながらMacの電源を投入すると,インターネット復元機能が起動し,自動的にインターネットからOS Xユーティリティをダウンロードします。OS Xユーティリティが起動したら「ディスクユーティリティ」を実行し,内蔵SSDにOS X用のパーティションを用意してください。具体的にはGUIDパーティションテーブルでSSD全体を1パーティションレイアウトにし,Mac OS拡張(ジャーナリング)でフォーマットすればよいでしょう。

パーティションが作成できたらOS Xユーティリティに戻り,⁠OS Xを再インストール」を選択,実行してください。インターネットからOS Xがダウンロードされ,SSDにインストールされます。この作業には3~4時間ほどの時間がかかります。

図11 command+Rで起動できるOS Xユーティリティ。このユーティリティ自体もダウンロードして実行されるため,ネットワーク接続さえあればOSを復元できる

図11 command+Rで起動できるOS Xユーティリティ。このユーティリティ自体もダウンロードして実行されるため,ネットワーク接続さえあればOSを復元できる

注5)
ちなみに筆者はOS Xの復元機能は使わず,ddコマンドで取得しておいたイメージを内蔵SSDに書き戻しました。

著者プロフィール

水野源(みずのはじめ)

Ubuntu Japanese Teamメンバー。理想のフリーデスクトップ環境を求めて東へ西へ……のはずが,気がついたら北の大地で就職していたインフラ寄りのエンジニア。最近レンズ沼にハマる。

コメント

コメントの記入