ASUSノートPC X202E: EFIによるUbuntu13.04とWindows8のマルチブート

前回のFedora19に続き、今回は今年、2013年4月25日にリリースされたUbuntu13.04のインストール手順のポイントを書きます。
(Secure Bootをdisableに設定するのであれば、Scientific Linux6.4, Fedora18, Fedora19に比べて、Ubuntu13.04が一番簡単にインストールできます。)

[ インストールメディア ]

releases.ubuntu.comからUbuntu13.04の64ビット版ISOイメージをダウンロードし、DVDに焼いて、外付けUSBドライブでインストールしました。
http://releases.ubuntu.com/raring/ubuntu-13.04-desktop-amd64.iso

[ EFIの設定 ]

  • CSMはdisableに設定する
  • SecureBootはdisableに設定する。インストール後にdisableで起動できる
    disableでDVDから起動すると、GRUBメニューが表示される前に「Secure boot not enabled」と表示される

    enableでDVDから起動すると、本来ならGRUBメニューの前に表示されるはずのメッセージ「Binary is verified by the vendor certificate」が表示されない。GRUBメニューを選択した後は画面に何も表示されなくなる。どうも、SecureBootには対応していないようです。

  • インストール後にEFIからUbuntu13.04のブートローダを起動する場合は、EFIの設定画面のBoot Option Prioritiesの設定で、Ubuntu13.04のブートエントリを最上位に設定する。 (参考)→[EFI設定画面 - CSMとBoot Option Prioritiesの設定]

  • [ パーティション ]

    Windows8のData(D:)ドライブは空なので、この258GBのパーティションを削除し、出来た空き領域をLinuxのパーティションとして利用しました。

    「コンピュータ」の画面の抜粋

    「ディスクの管理」の画面の抜粋

     ↓ Dada(D:)のパーティションを削除

    Ubuntu13.04のインストール時、パーティションを設定する「インストールの種類」の画面では以下を選択し、/以下をサイズを約30GBに設定して単一パーティションに割り当てました。

    ○それ以外
    Ubuntu向けに、自分でパーティションの作成やサイズ変更を行ったり、複数のパーティションを選択することもできます。

    Ubuntu13.04のインストーラはWindows8による既存のEFIパーティション(/dev/sda1)を検知するとそれを/boot/efiにマウントします。

    Ubuntu13.04をインストールして立ち上げた後のパーティションは次のようになりました。
    GPT(GUID Partition Table)対応のコマンドとしては、gdisk, parted, gparted(グラフィカルなツール)があります。
    gdiskコマンドは「# apt-get install gdisk」でインストールできます。
    fdiskコマンドはGPTに対応していません。

    # parted -l /dev/sda
    モデル: ATA Hitachi HTS54505 (scsi)
    ディスク /dev/sda: 500GB
    セクタサイズ (論理/物理): 512B/4096B
    パーティションテーブル: gpt
    
    番号  開始    終了    サイズ  ファイルシステム  名前                          フラグ
     1    1049kB  316MB   315MB   fat32             EFI system partition          boot  ← Windows8が利用するEFIシステムパーティション
     2    316MB   1259MB  944MB   ntfs              Basic data partition          hidden, diag
     3    1259MB  1394MB  134MB                     Microsoft reserved partition  msftres
     4    1394MB  201GB   200GB   ntfs              Basic data partition         ← Windows8
     6    201GB   234GB   32.5GB  ext4                                            boot  ← Scientific Linux 6.4(今回の内容に関係無し)
     7    234GB   235GB   839MB   linux-swap(v1)                     ← Linux swap
     8    235GB   235GB   524MB   ext4                          ← Fedora19の/boot(今回の内容に関係無し)
     9    235GB   268GB   32.5GB  ext4                          ← Fedora19の/(今回の内容に関係無し)
    10    268GB   299GB   31.0GB  ext4                          ← Ubuntu13.04の/
     5    479GB   500GB   21.5GB  ntfs              Basic data partition          hidden, diag
    
    # df -T -x tmpfs -x rootfs -x devtmpfs
    Filesystem     Type 1K-blocks    Used Available Use% Mounted on
    /dev/sda10     ext4  29667396 3367968  24785752  12% /
    /dev/sda1      vfat    303104   64436    238668  22% /boot/efi
    
    # ls -l /boot/efi/EFI/ubuntu/grubx64.efi       ←Ubuntu13.04のブートローダ(SecureBoot disable)
    -rwxr-xr-x 1 root root 121856  8月  9 04:10 /boot/efi/EFI/ubuntu/grubx64.efi
    # ls -l /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi   ← Windows8のブートローダ
    -rwxr-xr-x 1 root root 1354480  7月 25  2012 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
    

    [ grub.cfgの設定 ]

    Ubuntu13.04のインストール後のgrub.cfgではWidnows8のブートローダを見つけることができず、起動できません。以下のように書き換えます。(書き換える内容はFedora18, Fedora19の時と同じです。)

    menuentry "Windows 8 (on sda4)" {
      insmod part_gpt
      insmod fat
      insmod search_fs_uuid
      insmod chain
      search --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 e6fe-8c63
      chainloader /efi/Microsoft/Boot/bootmgfw.efi
    }
    
    上記の/dev/sda1のファイルシステムUUID e6fe-8c63 の部分はblkidコマンドで確認して適切な値に書き換えます。
    # blkid /dev/sda1
    /dev/sda1: LABEL="SYSTEM" UUID="E6FE-8C63" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="ed04135b-bd79-4c7c-b3b5-b0f9c2fe6826"
    

    [ ネットワークI/FドライバはOK ]

    X202Eには無線LANとイーサネットのコントローラチップが搭載されています。
    Fedora18,Fedora19ではイーサネットコントローラのドライバ alx.koが入っていないので、ソースをダウンロードしてコンパイルする必要がありましたが、Ubuntu13.04では両方のドライバath9k.ko, alx.koともに入っているのでそのまま使えます。

    # lspci | tail -2
    02:00.0 Network controller: Atheros Communications Inc. AR9485 Wireless Network Adapter (rev 01)
    03:00.0 Ethernet controller: Qualcomm Atheros AR8162 Fast Ethernet (rev 10)
    
    # lsmod |grep ^alx
    alx                    67960  0 
    # lsmod |grep ^ath9k
    ath9k                 149924  0 
    ath9k_common           14055  1 ath9k
    ath9k_hw              413680  2 ath9k_common,ath9k
    
    # ifconfig
    ...........
    eth0      Link encap:イーサネット  ハードウェアアドレス 60:a4:4c:70:01:33  
              inetアドレス:172.16.210.150  ブロードキャスト:172.16.255.255  マスク:255.255.0.0
    ...........
    wlan0     Link encap:イーサネット  ハードウェアアドレス 6c:71:d9:2f:2e:e9  
              inetアドレス:172.16.210.151  ブロードキャスト:172.16.255.255  マスク:255.255.0.0
    ...........
    

    [ sshサーバのインストール ]

    sshサーバが入っていなかったのでインストールしました。「# apt-get install openssh-server」を実行するだけで、サーバの起動も、サービスの設定も行われます。

    # apt-get install openssh-server
    ...........
    # ps -ef | grep sshd
    root 3617 1 0 14:08 ? 00:00:00 /usr/sbin/sshd -D

    # initctl status ssh
    ssh start/running, process 3617

    # grep ^s /etc/init/ssh.conf
    start on filesystem or runlevel [2345]
    stop on runlevel [!2345]

    [ Windows8の設定 ]

    Linuxをインストールした後、Windows8を立ち上げるとLinuxのパーティションが適当なドライブ文字を付けて表示されます。
    誤ってアクセスして壊したりしないように非表示に設定しました。

    手順:
    「ディスクの管理」画面 → パーティションにポインタを合わせて右クリック → 「ドライブ文字とパスの変更」 → ドライブ文字を削除

    次回はScientific Linux6.4のインストール手順を書きます。