hkoba blog

プログラマーです。プログラミング言語ミーハーです。ツッコミ歓迎です。よろしくどうぞ(能代口調)

Fedora20 を UEFI な HP製 notepc にインストールする時のパーティション設定について

.oO(老害っぽいインストールメモ記事ですよ、と…)

年初に Fedora20 を HP の notepc (HP Envy TouchSmart) にインストールした時にメモを残してなかったせいで、先日買った HP elitebook 840 G1 でも同じ試行錯誤をするはめになってしまいました。Fedora20 で UEFI な notepc をカスタムパーティション構成でインストールするのは結構ハマり沼っぽいので、今度こそ記録を残しておこうと思います。(UEFI のブート設定周りは、また別の記事で書きます)

試す場合は自己責任でよろしくお願いします。間違っても HP さんに問い合わせたりしませぬよう…

(自分メモなので、途中で口調が変わりますが、面倒なので放置します)

前提

  • あくまで Fedora Linux を常用する人のための内容です。(Dualboot にするとは限らない)
    • メーカーのツールなど Windows でしか動かないものが必要になった時のために、念の為 Windows の領域は残しますが、インストール作業を楽にするため、思い切ってリカバリー領域などは捨てることにします(elitebook 840 はリカバリー DVD が製品に付属しているため。Envy touchsmart の時はパーティションの開始セクターをメモっておいて、同位置に作りなおした、ような気がする…)
  • Fedora は暗号化 lvm の上にインストールします(vg 全体を暗号化する。 lv 毎の暗号化は行わない)

インストール CD/DVD で起動

CD/DVD が優先されない時は、起動直後に ESC を押してしばらく待ち、BIOS に降りて 設定をいじる

Windows領域を縮める

(書き終わってから気づいたですが、コマンド行に降りなくても ntfs パーティションの縮小が出来るっぽいですね…)

f:id:hkoba501:20141109231512j:plain

コマンド行に降りてパーティション構成を調べる

fdisk -l /dev/sda
  • 私の個体は sda1..6 の5つに分けられていた(はず。少しアヤフヤ) 一番大きい sda4 に Windows 本体が入っており、続く sda5, 6 がリカバリー関連だった。
  • EFI システムパーテイションは sda2

まず windows 領域 sda4 の中の ntfs を縮める。今回は 128GiB にする。

ntfsresize -s $[128*1024*1024*1024] /dev/sda4

(-s 128G だと 128*1000*1000*1000 になるので注意)

続けて fdisk /dev/sda

  • d コマンドで一旦 6, 5, 4 までを delete する
  • n コマンドで sda4 を目標サイズで確保し直す。
    • (最近の fdisk はサイズ指定で +128G など書けるので、それに頼る)
  • tパーティションタイプを 6 Microsoft basic data に戻す

GUI に戻って、インストール先の選択に進む

この時点でディスクの空きが 300GB ほど出来ているはず。

  • なお fedora20 のインストーラは、以前と違って既存のパーティションを転用する機能が弱い。
    • 例えば、予め lvm の pv を切っておくと、それを選べなくてハマる。
    • 最悪なのが、既にある EFI System パーティション sda2 を /boot/efi にマウントさせる設定が出来ない
    • しかし!おそらくインストーラのフラグ管理のバグで、一回自動パーティショニングを選択すると sda2 を EFI System パーティション として使うフラグが立ち、戻って手動パーティショニングした時も無事 /boot/efi として認識される \(^o^)/ (酷い...)

そんなわけで、自動 -> 戻って -> 手動パーティションを切る。具体的には:

f:id:hkoba501:20141109210604j:plain

  • インストール先の選択 画面で、自動パーティショニング(デフォルト)を選んだ状態で、

  • パーティションスキーマ: LVM を選ぶ。

    • データを暗号化する。パスフレーズは後で設定する もチェックして進む
    • パスフレーズを聞かれるので入力

f:id:hkoba501:20141109210644j:plain

  • するとトップメニューに戻るので、ここから再び手動パーティショニングに切り替える

f:id:hkoba501:20141109210706j:plain

f:id:hkoba501:20141109210722j:plain

  • 今度は インストール先の選択 画面で、続行する前にまずディスクパーティションの確認または修正を行う を選ぶ

f:id:hkoba501:20141109214730j:plain

  • これで無事に EFI システムパーティションが /boot/efi へとマウントされることになっている、ことを確認する。(そうでないと、 「stage1 のインストール先が無い」というエラーが出てインストールの続行を拒否される)

f:id:hkoba501:20141109214815j:plain

  • 左下の +/boot だけは ext4 で作成. (これが sda5) 固定容量で 1GB もあれば十分
  • / を 12G で確保。
    • この時点では デフォルトでは luks-fedora-00 のような lv 名が付くが、このままだと lv 単位の暗号化になってしまう。

f:id:hkoba501:20141109211809j:plain

  • そこで Volume Group リスト右側の 変更 ボタンを押して、vg 設定の画面で 暗号化 をチェックする。サイズポリシーは できるだけ大きく か、固定容量で余裕をもって割りつける。(lvm を使う以上は、サイズを随時増やしていくことが前提なので。)

f:id:hkoba501:20141109212024j:plain

  • lv の画面に戻ったら、そちらの 暗号化 チェックは外す。これで 変更 を押すと、lv の名前から luks-... という接頭辞が消えるはず。

f:id:hkoba501:20141109211848j:plain

  • vg の名前は、私はサルベージ時の vg 名の衝突が嫌なので vg${INITIAL}${YY} みたいな名前をよく使う。INITIAL は自分のイニシャル。
  • 残りのパーティションはこんな感じ
    • /var 8G
    • /home 1G. これは運用中に lvresize で拡張する
    • swap 8G

f:id:hkoba501:20141109215942j:plain

  • 左上の 完了 を押すと 変更の概要 ダイアログが出るので、本当に設定が望み通りになっているか確認する。この構成では下記のようになっているはず(順番は前後しうる)
    • sda5 は再フォーマット
    • sda6 を確保して LUKS でフォーマットして luks-sda6 を作る
    • luks-sda6 上に pv 作成
    • 上記 pv 上に vg 作成
    • root, var, home, swap の lv 作成

f:id:hkoba501:20141109212146j:plain

f:id:hkoba501:20141109212154j:plain

後は通常通り。