🖥️

Windows PCに安定したネイティブLinux環境を構築する方法

5 min read 2

はじめに

この記事を、WindowsとLinuxのデュアルブート環境を構築してOS両方吹き飛ばしたことのある全ての人に捧げます。

人類はなぜデュアルブート環境のOSを両方ふっとばすのか

主語が大きければ「人類」を「おろかな、からあげ」に置き換えてください。

「Linux試してみよー」と雑誌やネット記事に書いてあるままに、気軽にデュアルブート環境構築した人類には以下のようなワナが待ち受けています。

  • Linux環境が壊れて道連れでWindowsもブートしなくなる
  • Linuxの再インストールに失敗してWindowsが吹き飛ぶ
  • Windowsの再インストールしたらLinuxが吹き飛ぶ
  • Windowsの大型アップデートでLinux環境が吹き飛ぶ

多くの人は、その後「二度とLinuxなんて入れるか!」と思ったり、一部のマニアはLinux専用機を買ったりするのではないでしょうか。

古いPCで遊ぶだけならそれでも良いですが、近年のAI(ディープラーニング)の流行などで「WindowsもLinuxも高価なGPUを使いたい」「なるべく仮想環境は使いたくない」というニーズから、1台のPCで安定してWindowsとLinux両方を気軽に切り替えられる環境が求められているのではないかと思います。

やりたいこと

前置きが長くなりましたが、今回やりたいことは安定したWindowsとLinuxのデュアルブート環境の構築です。具体的には以下を実施します。

  • 1台のPCでネイティブのWindows環境/Linux環境を使えるようにします
  • WindowsとLinuxは完全にディスクを分けます。今回はプライマリ(1台目)のディスクにWindowsを入れて、セカンダリ(2台目)のディスクにLinuxを入れます

ポイントは、ずばりブートローダー含めて、Windows側のデバイスには一切Linuxの環境を入れないことです。
これにより、どちらかのOSが死んでも、共倒れせず気軽にOSを入れなおすことができます。Linux環境が不要になれば、セカンダリのディスクを外せば、ただのWindows機となります。

この方法だと、通常起動はWindowsが立ち上がり、Linuxを起動するときはブートメニューからセカンダリディスクを選択することとなります。起動時にブートメニューを立ち上げる1手間が必要なのが少し手間ですが、何度もデュアルブートにチャレンジしては、Windowsを吹き飛ばしてきた経験上、これが(自分にとっては)ベストソリューションではないかと思っています。

同じようなことしている人はいると思うのですが、ネット探しても10年くらい前の情報がでてきたり、なかなかそのものずばりの方法が書いてなかったりしたので、まとめておきます。

Linuxのインストール作業は、間違えるとOSごとふっ飛ばしたりするので、ふっとばす覚悟した上でこのあとの作業に取り組んでください。また、MBRとかパーティションなどの詳しい説明は飛ばしていきます(あんまり詳しくない)ので、ご了承ください。間違えてたら優しく教えてください。

また、最後の方に書きますが、Windowsの大型アップデートで吹き飛ぶ可能性があるので、決して完璧な方法ではありません。一番は、PCをOSごとに分ける、ストレージごと毎回入れ替えるが安全な運用となります。

ハードウェアの前提

  • WindowsPC(周辺機器は省略)
  • セカンダリディスク
  • Ubuntuブートディスク(USBメモリ)

PCは私の場合はデスクトップPC(PC工房のゲーミングPC)ですが、ノートPCでもセカンダリのディスクとして外付けのUSBのドライブを用意すれば同じことができます。外付けのUSBドライブを使うと、持ち運べるポータブルなLinux環境となるので、それはそれで良いかもしれませんね。

BIOSの起動方法とブートメニューの起動方法はハードウェアにより異なるのであらかじめ確認しておきましょう。私の場合は、BIOSは起動時にDELETE連打、ブートメニューは起動時にF7連打でした。

Linuxのインストール

Linuxのブートディスクの作り方は省略します。以下記事など参考ください。

https://qiita.com/karaage0703/items/e79a8ad2f57abc6872aa

ブートディスクでLinuxをインストールしていきます。途中手順も省略します(基本デフォルトです)。

インストールの種類のところから解説します。ここでは「それ以外」を選択します。

このあと、セカンダリのHDDにLinuxをインストールするように設定します。セカンダリディスクのデバイス名は、環境により違いますので、確認ください。Windowsが入ってない方ですね。WIndows Boot Managerとか書いてある方のディスクはWindowsが入っているので、消さないように注意しましょう。自分の環境ではセカンダリディスクは /dev/nvme1n1/ でした。

デスクトップPCで、PCの組み立てなれている人は、いっそWindowsのドライブを一時的に抜いてしまうと、間違えてWindowsのファイルを消すことがなくて良いかもしれません。

最終的な設定は、以下の画面の通りです。

設定のポイントは以下です。

ブートローダ

「ブートローダをインストールするデバイス」にセカンダリディスクを選択します。ここが重要です。
これにより、通常はWindowsが起動し、セカンダリディスクからブートしたときのみLinuxが起動するようになります。

パーティションの削除

最初に、セカンダリディスクで - を選択して、パーティションを削除します。

パーティションの作成

パーディション削除したのち、セカンダリディスクで + を選択してパーティションを作成していきます。パーティションは以下のように簡単に分けます。あんまりこだわりないので適当です。
Swapはメモリの2倍とっていますが、多分こんなにいらない気もします。

全て基本パーティションです(論理パーティションは5つ以上のパーティションに分ける場合に必須となりますが、ここでは詳しくは説明しません)。

マウントポイント タイプ サイズ
/ ext4 100GB
swap 64GB
/home ext4 残り全部

実際の運用

インストールが完了したらOKです。

再起動してWindowsの起動画面が出たらOKです。普通にWindows機として使えます。プライマリのディスクにはWindowsしか入っていないし、ブートローダもそのままなので当たり前ですね。

えっ、Linuxが立ち上がる?それはそれは…ご愁傷様です…Windows OSを再インストールからはじめましょう。

Linuxを立ち上げたい場合は、ブート選択画面を立ち上げます(PCの機種によって操作方法が変わります)。

ここでLinuxを選択すればLinuxが立ち上がります。

以下は運用上のポイントや注意点です。

Windowsの時間が9時間ずれる

Linux側のターミナルで以下実行すればOKです。

$ sudo timedatectl set-local-rtc true

OSの再インストール

デュアルブート環境だとトラブルになりやすいOSの再インストールですが、この構成なら簡単です(多分)。

Linuxの再インストールは、この記事の内容を繰り返すだけです。可能ならWindows側のディスクを外しておけば安心でしょう。

Windowsに関しては、セカンダリのディスクを外せば、完全に普通のWindows機なのでLinuxを意識する必要はなく、普通に再インストールできます。

複数のOS環境を手軽に入れ替える

異なるOS環境を増やしたいときは、外付けディスクを変えて同じことをすれば、いくらでもOS環境を増やすことができます。

ラズパイでSD毎環境を入れ替えるように、PCでもディスク毎環境を入れ替えると、あたかもPCが大きいラズパイ(?)みたいな感覚で使えますね。世の仮想環境とは完全に逆方向の物理で殴っていく方向の運用ですね(笑)

Windows大型アップデートには要注意

この環境なら完璧だろ!と思っていたら、Windowsのアップデートだと、別ドライブのLinuxを破壊するという情報が続々と…恐ろしいなWindows。

https://twitter.com/hampen2929/status/1439218962818953221

https://twitter.com/PINTO03091/status/1439211890387738626

https://twitter.com/NWLab_jp/status/1439213255457603589

一番確実なのは、普段はLinux側のディスクを外しておくことですね。内蔵してしまうと非現実的なので、USBの外付けディスクにLinuxを入れて、使うときに繋ぐというのが現実的かと思います。

危ないのは、Windowsの大型アップデートのときみたいなので、そのときだけ外すという選択肢もあるかもしれません。いずれにしてもやはり壊れる可能性があるということで、この環境でも完璧ではないみたいです。

まとめ

Windows機で安定したネイティブLinux環境を構築する方法を紹介しました。

知っている人には当たり前ですし、やっている人も多そうなのですが、意外にネットに最近の情報がなかったので書いてみました。

仮想環境も充実してきているので、需要自体少ないのかもしれませんが、誰かの役に立つことを願って記事公開します。

参考リンク

https://www.eureka-moments-blog.com/entry/2021/10/01/223352

関連ページ

https://karaage.hatenadiary.jp/entry/2021/09/27/073000

https://karaage.hatenadiary.jp/entry/2021/09/20/073000

https://qiita.com/karaage0703/items/e79a8ad2f57abc6872aa

https://qiita.com/karaage0703/items/705f1b750c486f00d554

Discussion

今ならUSBメモリ型のSSDに入れて使うときだけ刺すのが安全そうですよねぇ
勝手に電源立ち上げてWindowsUpdate実行してくれちゃったりしますし

ちなみに私もWindowsUpdateで

デフォルトの起動をGRUBからWindowsのブートローダに変更されたり
別ディスクに入れてたLinuxをUpdateで破壊されたりした経験者です

@坦々狸さん
続々とLinux破壊仲間が出てきて、自分だけじゃないとちょっとだけ安心したのは内緒ですw
Windows Update、気をつけたいと思います!

ログインするとコメントできます