新しいノートPCを買った。Panasonicの Let’s Note.
いままで散々弄りまわしてきたVAIOだけれど、最近になって裏のネジがなくなってしまった。そのため、ディスプレイが今にも外れそうな危ない状態だ。
VAIOには名残惜しいものの、このままだといつ壊れてもおかしくない。そんなわけで、新しいPCを買うことになった。本心は、再びVAIOを購入したいところだったが、VAIOがヨドバシに売っていなかった。
ヨドバシの店頭においてある一番高い、30万に届くような高スペックのLet’s Noteを購入。
最高スペックには最高のOSを!
ということで、Windows8とArchLinuxとのデュアルブートにすることにした。
以下は、インストールするまでの作業メモです。
Windows側での事前準備
まず、購入時にはWindows8.1がすでにインストールされている。デュアルブート化のための準備をWindows側でする。
ArchLinux ディストリビューションを取得
以下から、最新版をダウンロード。日本のミラーサイトからダウンロードする。
- Arch Linux - Downloads
- archlinux-2014.05.01-dual.iso
インストール用に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をざっとながめる。
- Unified Extensible Firmware Interface (日本語) - ArchWiki
- GUID Partition Table (日本語) - ArchWiki
- Boot Loaders (日本語) - ArchWiki
つぎに自分のシステムが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とは (アーチリナックスとは ) - ニコニコ大百科
- Ubuntuに飽きた俺達の楽園はArch Linuxにあった | Divide et impera
- Archlinuxをやめた理由 | ざかしんく
インストール
Arch Linux のリリースを USB ドライブに書き込む方法
パーティションの切り方
- Partitioning (日本語) - ArchWiki
- 実は簡単Arch Linuxのインストール手順! | volment
- awesome - ArchLinuxのGUI環境設を整える vol.1 - Qiita
デュアルブート関係
- Windows and Arch Dual Boot (日本語) - ArchWiki
- GRUB (日本語) - ArchWiki
- ThinkPad X240をArch Linuxとのデュアルブートにするメモ - 堕(惰)プログラマ開発記録
- x240にArchとWindows8.1を共存させる | In the Spica