2014年6月1日日曜日

ThinkPad X240 にUbuntu12.04.3LTS(無線LANも)を導入するまで

研究室の方針で、開発するシステムはROSで開発しないといけない。そこで新しく購入したThinkPad X240にUbuntuを導入しないといけなくなったので、導入までの手順を自分用メモとして
ちなみにUEFI環境で構築しているわけではないと思う。結果としては参考サイトの1と同じような感じになりました。

まず、マシンスペックと参考にしたサイトを一気に書きます

マシンスペック

Think Pad X240
CPU:Core i5-4200U
OS:Windows8.1
メモリ:8GB
ストレージ:SSD 256GB
ワイヤレスLAN:Intel Wirelss-N 7260(rev 6b)

参考サイト

1.あつxWindowsxUbuntu
windows 8 と Ubuntu 12.04をデュアルブート[64bit]

2.Linux

3.UbuntuTips/Install/Unetbootinの使用方法

4.Linux Kernel 3.11 Released : Install / Upgrade it in Ubuntu 13.04/ 12.04

その他にもあった気がするけど・・・・思い出したら随時更新します。

自分が行った作業手順の流れは以下の通り

1.導入のための設定
2.Live-USBの作成
3.Ubuntuの導入
4.Ubuntuのアップデート
5.カーネルのアップグレード

手順の流れ通りに説明をしていく。

※正直Linuxの導入はパソコンのデータを全部飛ばす可能性があるので、最初に必ずバックアップを取り、リカバリメディアを作成しておくこと←重要

1.導入のための設定
Windows8.1のPCにLinuxを導入する場合、Windows7に比べいくらか設定を行わなければならない。
設定項目は確認できている中では2つ

・高速起動を無効にする
・セキュアブートを無効にする

の2点
まず、高速起動について、Windows8.1系の目玉機能である高速起動、これはどうもスリープ系の終了方法に似ているらしく、ブート画面などの過程を飛ばして起動するため高速に起動する形になっている。これのせいでインストール後にgrubなどに入れない問題があるらしいので、この機能を無効にする。

手順は
スタート→左下の↓ボタン→コントロールパネル→電源オプション→電源ボタンの動作を選択する→現在利用可能ではない設定を変更します→シャットダウン設定内の高速スタートアップを有効にするのチェックを外す

以上で高速起動を無効にすることができる

続いてセキュアブートについて、これはどうも起動OSをwindows8.1以外選べなくするような機能(詳しくはわからない)でこれも外さなければUbuntuの選択ができないよう。そこで、この機能も無効にする。lenovo(ThinkPadX240)の場合、起動すぐのlenovo画面の時にF1キーを押すことでBIOSの設定に入れる(違う場合はF12を押しBootManegerが起動するのでtabを押してsetting内に入れば設定を行うことができる)そこのSecurity欄のSecure Boot項目のSecure BootをEnableからDisableに変更する

まとめると
BIOSの設定に入る→Secure BootをEnableからDisableに変更

以上でSecure Bootを無効にすることができる

2.Live-USBの作成
今回一番躓いたのがここ、Live-USBをうまく作ることができなかったためかなりの時間を取られた。Live-USBはUnetbootinを使用して作成。今回作成したのはUbuntu 12.04.3LTS (64bit)このOSにした理由としては、まず、研究室で使用しているOSがUbuntu12.04であったこと、そして、Windows8.1(8シリーズから?)ではUbuntuの64bit版それも、12.04.2以降しか導入することができないらしい。(UEFIとかの関係?らしい)(ちなみに、研究室で作成されていたUbuntu12.04LTS(32bit)ではLive-DVDが起動しなかった)なので日本語対応版は32bit版しかないため本家Ubuntuで対応OSをインストールし、Unetbootinを使用してLive-USBを作成する。
(ちなみに自分はubuntu-12.04.3-desktop-amd64をダウンロードした)

3.Ubuntuの導入
BIOSからUSB起動をする、今回はUEFI環境で行うので、黒い画面が出てくる。この時3つの選択肢が出る。選択肢は以下の通り

・Try Ubuntu without installing
・Install Ubuntu
・Check disc for defects

この時Install Ubuntuを選んでインストールしてもいいが自分は現PCの無線LANドライバが動くかなどを確かめたかったので、Try Ubuntu without installingを選択した。
こちらを選んだ人は起動したUbuntuのデスクトップにInstall Ubuntuのアイコンがあるのでそちらでインストールもできる。
後は、インストーラに従ってインストールを進める、(本家のUbuntuなのでインストーラは英語であるが、言語選択で日本語があるので日本語を選択)パーティションをインストーラで決めれる場合はそれに従ってパーティションを決めるとよい(ただし、自分はこの場合で進めてスワップパーティションが8GB作られて涙目になった。設定でどうにかなるかもしれないけど・・・・)ない場合はWindows側、もしくはUbuntu側でパーティションを切ってUbunutuを導入する
インストールが完了すれば再起動を求められるので再起動をする。

導入は出来たがこのままでは、Windows側に入ることができない(Windows 8(loader)~を選択してもWindowを起動することができない)この問題はなぜ起こるのか正直わかってはいない(参考サイト1に書いているかも・・・?)参考サイト1に解決方法があったので参考にして解決を行う。
まず、Ubuntuに入る。続いてcustom.cfgの作成を行う
端末を開いて

/boot/grubディレクトリに移動
続いてエディタで

custom.cfg 
を編集(作成?)する

編集内容は以下の通り
#This entry should work for any version of Windows installed for UEFI booting
menuentry "Windows (UEFI)" {
search --set=root --file /EFI/Microsoft/Boot/bootmgfw.efi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

編集後保存して

$update-grub
でgrubをアップデートするこれでgrubからWindowsに入ることができるようになる(上のコマンド、sudoが求められた場合sudoでお願いします。)
詳しくは参考サイト1を参照

4.Ubuntuのアップデート
インストールが終わったら、早速アップデートを行う。ThinkPad X240の場合無線ドライバが初期ではないので有線LANを使用した。
端末を起動し以下のコマンドをうつ

$sudo apt-get update
$sudo apt-get upgrade

これでUbuntuのアップデートが完了する

5.カーネルのアップグレード
ここで終了かと思いきや、無線LANが動かない。ドライバの有無を調べたがドライバは問題なくあった(lib/firmware内にiwlwifi-7260-7.ucodeが存在していればOK、なければドライバを落としてlib/firmware内にコピーする)そこでいろいろ調べてみると、このドライバの対応しているカーネルが3.11からだった。Ubuntu12.04.3のカーネルは3.8だったのでアップグレードの必要ができた。そこで参考サイト4を見てアップグレードを行った。

使用しているLinuxのOSが64bit版だったので以下のコマンドを好きなディレクトリ内で実行する(自分は/tmpディレクトリで行った。実際どこで実行するのがいいのかは正直わからない)

$wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100-generic_3.11.0-031100.201309021735_amd64.deb

$wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100_3.11.0-031100.201309021735_all.deb

$wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-image-3.11.0-031100-generic_3.11.0-031100.201309021735_amd64.deb

sudoを要求された場合は全部sudoで行ってください。

続いて以下のコマンドを同じ先ほどのコマンドを打ったディレクトリで行う

$sudo dpkg -i linux-headers-3.11.0*.deb linux-image-3.11.0*.deb

このコマンドの後に再起動を行うとカーネルのバージョンが3.11になっているはずである(grubで確認)そして問題なく無線LANを使用することができた。
(もしカーネルのバージョンをあげて問題が出た場合は以下のコマンドを実行してください※参考サイト4.に記載されている)

$sudo apt-get purge linux-image-3.11.0*

以上までで導入作業が終了である。




(ここから雑記)
ここまで行うのに丸2日ぐらいかかった・・・特にLive-USB作成に結構時間を割くことになるとは思わなかった・・・・(普通に焼くだけだとgrubが入らないなんて知らなんだ・・・・)
PC初心者の自分にとってはPCが壊れる恐れのあることばっかで恐怖のこと連続だったわ・・・・正直もう新品のPCでリカバリメディアとかそろってる状態じゃないとやりたくないわ。
後はROSの導入とかかな。

もし、間違いなどがあれば後々更新していく予定です。見てくれる人で、間違いがあるよ!っていう人は指摘お願いします。長々と申しわけありませんでした。