新しいノートPCを買った。Panasonicの Let’s Note.

いままで散々弄りまわしてきたVAIOだけれど、最近になって裏のネジがなくなってしまった。そのため、ディスプレイが今にも外れそうな危ない状態だ。

VAIOには名残惜しいものの、このままだといつ壊れてもおかしくない。そんなわけで、新しいPCを買うことになった。本心は、再びVAIOを購入したいところだったが、VAIOがヨドバシに売っていなかった。

ヨドバシの店頭においてある一番高い、30万に届くような高スペックのLet’s Noteを購入。

最高スペックには最高のOSを!

ということで、Windows8とArchLinuxとのデュアルブートにすることにした。

以下は、インストールするまでの作業メモです。

Windows側での事前準備

まず、購入時にはWindows8.1がすでにインストールされている。デュアルブート化のための準備をWindows側でする。

ArchLinux ディストリビューションを取得

以下から、最新版をダウンロード。日本のミラーサイトからダウンロードする。

インストール用にUSBメモリ作成

USBWriter for Windowsで、ダウンロードしたISOファイルをUSBメモリに焼く。

高速スタートアップ解除

手順にしたがって、高速スタートアップを無効にする。

パーティションを切る

コントロールパネル→管理ツール→コンピュータの管理→記憶域→ディスクの管理を機動起動。

購入時、ドライブ構成はこんな感じ。

  • 合計 240GB
    • 回復パーティション 800MB
    • EFIシステムパーティション 260MB
    • Cドライブ 221GB
    • 回復パーティション 15GB

CドライブからArchLinux用のパーティションを切り出す。 150GB/70GBの 2対1くらいの比率にしておくか。適当だけど。

リカバリディスク作成

いざというときのために、リカバリディスクを作成。これはノートPCの説明書にしたがった。

FAQを読む/ArchWayを読む

FAQとArch Wayを読んで、インストールして後悔しないか再度確認。

KISS

Keep It Simple, Stupid.

シンプルにしとけよ、このバカチンが

ArchLinuxのインストール

基本的には以下のページにしたがう。

USBメモリから起動

F2からBIOSの設定を変更して、USBメモリから起動する。

いきなりエラーしてワクワクするO(〃⌒▼⌒〃)O

failed to start loader

Secure Bootが怪しいということで、以下のガイダンスにしたがう。

rootでログイン成功。

言語の選択

キーマップで日本語を設定。

loadkeys jp106

文字コードも設定。

nano /etc/locale.gen
ja_JP.UTF-8 UTF-8

locale-gen
export LANG=ja_JP.UTF-8

無線の設定

pingしてダメなことを確認する。unknown hostと出てきた。

# ping -c 3 www.google.com
# iw dev
phy#0
        Interface wlp2s0

# ip link set wlp2s0 up

エラーした。

RTNELINK answerss: Operation not possible do to RF-kill

wifiの物理スイッチがOffになってただけだった。スイッチオンしたら成功。

# wifi-menu wlp2s0

wifi-menuではdhcp設定がうまくいかない。手動設定でうまくいった。pingも通る。

# wpa_supplicant -B -i wlp2s0 -c <(wpa_passphrase "ssid" "psk")
# dhcpcd wlp2s0

パーティションを切る

以下を参考にパーティションを考える。

こんな感じ。swap領域はwikiを信じて作成しない。 rootとhomeを分けておくと rm -rfしたときにデータ復旧できる。

  • / 20GB
  • /home 130GB

/bootは、EFI system partitionがあるのでそれをつかう。 (この用語についてはあとでまたでてくる)

gdisk

パーティションツールは、SSDを長持ちさせるために、GPTに対応したgdiskを利用する。

(以前つかったことがある GPartedを試みたものの、GPTの設定方法がわからなかった。どうも一旦すべてのパーティションを削除しないとgptは設定できないようだった)

# gdisk /dev/sda

nコマンドでパーティション追加。

  • Parttition number は defaultなので Enter
  • First sector は defaultなので Enter
  • Last sector は +20G/Enter
  • GUIDは は defaultなので Enter

最後にwでディスクに書き込む。

ファイルシステムの作成

ext4でパーティションをフォーマットする。

まずは、lsblkで device nameを確認

# lsblk

容量と見比べて、今回は以下が対象。

  • sda7 20G Root用
  • sda8 126G home用
# mkfs.ext4 /dev/sda7
# mkfs.ext4 /dev/sda8

lsblk -fでFSTYPEがext4であることを確認。

パーティションのマウント

パーティションをマウントする。

# mount /dev/sda7 /mnt

# mkdir /mnt/home
# mount /dev/sda8 /mnt/home

EFI system partitionを /boot/efiにマウントする。

# mkdir -p /mnt/boot/efi
# mount /dev/sda2 /mnt/boot/efi

ミラーの選択

とりあえず、jaistとtukubaを最優先に設定。

ベースシステムのインストール

ついにインストール。

# pacstrap -i /mnt base base-devel

fstabの生成

# genfstab -U -p /mnt >> /mnt/etc/fstab

Chroot とベースシステムの設定

# arch-chroot /mnt /bin/bash

ごちゃごちゃしているのでメモは省略。

ブートローダ設定

ブートローダは使ったことがあるGRUBにする。

べんきょ

まずは、用語がわからないので、wikiをざっとながめる。

つぎに自分のシステムがUEFIとGPTに対応しているか調べる。

# parted /dev/sda print

冒頭にPartition Table:gpt, リストの2番目に EFI system partitionとかいてある。どうやらGPTとESPがあるもよう。さすが、最新式。

GRUBインストール

Arch WikiのUEFIシステムのインストール手順にしたがう。ツールを入れる。

# pacman -S grub efibootmgr os-prober dosfstools

以下のコマンドでインストール

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck --debug

デュアルブート対応

これもwikiにしたがう。

# pacman -S os-prober
# grub-mkconfig -o /boot/grub/grub.cfg

grub-mkconfigがエラーする。 os-proberを単体で実行しても同じエラーメッセージがでる。 os-proberを削除するとエラーがでない。どうもこれが悪いみたい。

manualで grub menuを設定する。/etc/grub.d/40_customを編集。以下を書くことで、grubのmenuにwindowsを表示できる。ArchLinuxはかってに表示される。

#!/bin/sh

exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

if [ "${grub_platform}" == "efi" ]; then
  menuentry "Microsoft Windows 8.1 x86_64 UEFI-GPT" {
    echo "Loading Microsoft Windows 8.1..."
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --set=root $hints_string $uuid
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
  }
fi

menuentry "System shutdown" {
	echo "System shutting down..."
	halt
}

menuentry "System restart" {
	echo "System rebooting..."
	reboot
}
# uuid
# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
1231-C3B2
# hints_string
# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
--hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2

/boot/grub/grub.cfgに反映させる。このコマンドでgrub.cfgに追記される。

grub-mkconfig -o /boot//grub/grub.cfg

ここまで完了したら、reboot!

再起動してgrubメニューにArchLinuxとWindowsが表示されていることを確認。今日はつかれたので、ここまで。

参考にしたページのBookMarks

ArchLinuxとは

インストール

Arch Linux のリリースを USB ドライブに書き込む方法

パーティションの切り方

デュアルブート関係

その他