• このエントリーをはてなブックマークに追加

スポンサードリンク

はじめに

新しいノート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 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が表示されていることを確認。今日はつかれたので、ここまで。