2026年8月26日

クアッドブート with rEFInd (その 1/5): オリエンテーション

脱 Windows を見据えて Linux の推しディストロを見つけるため、および単に FreeBSD が好きだからという理由で、新しく調達したノートパソコンを Linux ×2、FreeBSD ×2 のクアッドブート (with rEFInd) にしてみました。今回は実際の作業を開始する前の準備編です。

供試パソコン

今回調達したのは ASUS の Zenbook 14 UX3405C というノートパソコンです。

  • CPU: Intel(R) Core(TM) Ultra 9 285H
  • GPU: Intel(R) Arc(TM) 140T GPU (16GB)
  • ストレージ: 953.8 GB
  • メモリ: 32768 MB
  • ディスプレイ: 1920x1200
  • OS: Windows 11 Home (※ もったいないけど削除します)

構想

OS の選定

Linux のディストロ多すぎ問題を経て、次のように 4 枠分の OS を選びました。

  1. Zorin OS: 「難しいこと抜きですぐに始められそうな OS」枠。Windows 10 のサポート切れの際に大きな話題となった、Windows 代替 OS の最有力候補?
  2. Artix Linux (Basic 版): 「自分で一から設定するのが楽しそうな OS」枠。
  3. FreeBSD (普段使い用): 個人的に FreeBSD が好きなので、シード枠みたいなもんです。以降「FreeBSD A 面」と呼びます。
  4. FreeBSD (事前確認用): これもシード枠です。以降「FreeBSD B 面」と呼びます。

FreeBSD 用の 2 枠は、普段使い用が 15.x-RELEASE、事前確認用が 16.x-RELEASE みたいな感じで使用することを考えています。まあ今回は両方とも 15.1-RELEASE を入れておくことにします。

ディスクの暗号化

このノートパソコンは外に持ち出す可能性があるので (まあ家の中に置いといたって盗まれるおそれはあるけど)、ディスクを暗号化することにしました。

Linux の場合は LUKS という技術でパーティションごとに暗号化できるようです。なお、/boot が暗号化されていると rEFInd がカーネルを読み出せないので、/boot だけは暗号化の及ばない別パーティションに分けておく必要があるようです。

FreeBSD の場合は ZFS なら標準で、UFS なら Geli (げり?) という技術で暗号化できるようです。ZFS のほうは事前に試したところ、どーしても rEFInd からブートローダー (loader.efi) を起動させることができませんでした。よってここでは UFS + Geli でいこうと思います。こちらもルートファイルシステム (/) 全体が暗号化されていると rEFInd がブートローダーを読み出せません。なんやかやの試行錯誤を経て /home だけを別パーティションにして暗号化する方法に至りました。

スワップをどうするか問題

以前は「スワップパーティションは実メモリの 2 倍を確保」といわれていましたが、本機は 32 GB を積んでいますので、真面目に守っていたら 256 GB ものストレージがスワップパーティションに費やされることになってしまいます。いくらなんでもムリです。また、盗難に備えるなら、実メモリ上のセンシティブなデータがスワップアウトされた場合に備えて、スワップパーティションも暗号化する必要があります。

いろいろ調べたところ、Linux には「スワップファイル」というしくみによりディスク上にスワップを設けることができるそうです。書き出し先のディスクが LUKS で暗号化されていれば、スワップアウトしたデータを暗号化するという要求も自動的に満たされます。一方、FreeBSD にもスワップファイルのしくみはあるものの、Linux ほど成熟していないようす…。なので素直にスワップパーティションを切ることにします。ただしサイズは控えめに、A 面、B 面それぞれ 8GB とします。スワップパーティションも Geli によって暗号化できるみたいです。

いずれにしても、ハイバネーション (Windows でいう休止状態) はあきらめなければならないようです。理屈のうえでは、ハイバネーションを行うには実メモリと同容量のスワップパーティションが必要です。

作業の流れ

OS をどの順番にインストールしていくか、についてですが、今回は Zorin OS を最初にインストールすることにします。理由は、Zorin OS などの Ubuntu 系の OS は GRUB2 というブートローダーの使用を前提にしているらしく、事前に rEFInd などのブートマネージャーが ESP にインストールされていても、GRUB2 で上書きしてしまう (らしい) からです。また、Zorin OS は最初から何でもそろっているので、ネットに接続して rEFInd をダウンロードし、ESP にコピーして設定ファイルを編集する、みたいな作業が容易に進められるからです。その他の OS は好きな順番でかまわないと思います。

その点をふまえると、作業手順は次のようになります:

  1. 念のため工場出荷時のパーティション情報を記録しておく
  2. 必要に応じて Windows のバックアップを取る
  3. パーティション分割
  4. Zorin OS をインストール
  5. ESP に rEFInd をインストール、起動メニューに Zorin OS のエントリーを追加
  6. Artix Linux をインストール、rEFInd の起動メニューにエントリーを追加
  7. FreeBSD (A 面) をインストール
  8. rEFInd に UFS ドライバを組み込み、起動メニューにエントリーを追加
  9. FreeBSD (B 面) をインストール、rEFInd の起動メニューにエントリーを追加

パーティション分け検討

実際の作業にとりかかる前に、各パーティションの容量配分を検討してみましょう。上記の構想をふまえて、必要なパーティションは

  • ESP
  • 各 Linux: /boot 用、/ (ルート) 用
  • 各 FreeBSD: / (ルート) 用、/home 用、スワップパーティション
  • (必要に応じて) OS 間でデータをシェアできるパーティション

となります。で、本機のストレージの総容量は約 953 GiB、これをざっくり次のように配分しました。

No.OS用途サイズ [GiB]ファイルシステム暗号化
1

ESP

0.5

FAT32

2

Zorin OS

/boot

1.0

ext4

3

Zorin OS

/

338.0

ext4

LUKS

4

Artix Linux

/boot

1.0

ext4

5

Artix Linux

/

338.0

ext4

LUKS

6

FreeBSD (A)

/

44.0

UFS

7

FreeBSD (A)

/home

80.0

UFS

Geli

8

FreeBSD (A)

swap

8.0

Geli

9

FreeBSD (B)

/

44.0

UFS

10

FreeBSD (B)

/home

80.0

UFS

Geli

11

FreeBSD (B)

swap

8.0

Geli

12

共有

10.0

exFAT or FAT32

実際の作業時にはセクタ単位でもう少し細かく指定しますが、それはそのときに説明します。

インストールメディアの作成

各 OS の ISO ファイルを下記の URL からダウンロードして、Rufus とか dd コマンドとかで USB メモリに書き込みます。参考までに Rufus のスクショを貼っときます (図 1)。

留意事項:

  • (*1) 無料の Core 版を選択しました。
  • (*2) Base 版 (デフォルトではデスクトップ環境なし) かつ Dinit 版を選択しました。
  • (*3) Rufus で書き込む場合、ISO モードで書き込むか、DD モードで書き込むかを訊かれます (図 2)。最初 ISO モードで作成したら起動に失敗したので、DD モードで作成するのがよいと思います。
図 1: Rufus メイン画面
図 1: Rufus メイン画面
図 2: Artix Linux ISO での警告
図 2: Artix Linux ISO での警告

関連記事

広告