【2020年12月】UbuntuにWindows10を追加してデュアルブートする

Linux

Linux好きなのですが、Photoshop、Illustrator等のソフトの勉強もしたくて、最近Windowsを触る必要も出てきました。Linuxを残しつつWindowsも動かすデュアルブートをする為、先日SSDを買ったので、UbuntuとWindows10を載せてみました。ネットの情報ではデュアルブートをするとWindowsがUpdateの時にパーティションを勝手に触ってUbuntuのデータを壊すという情報が散見されます。しかし私は重要なデータはほとんど毎日gitに上げてバックアップを取るので、稀にデータ破損があっても致命傷は受けない体制にしており、まあちょっと挑戦してみてデータ破損の頻度とか、使い勝手とか、その辺の調査も兼ねてやってみようと思います。

データ破損対策として、気休めかもしれませんがWindows→Ubuntuの順に入れるのではなく、Ubuntu→Windowsの順に入れて、SSDのパーティション的にもその順にしておきます。Windowsの後ろにデータがあるより、前にあった方が安全かな、という観点です。対策としての有効性は未検証です。

ネット上にはWindows PCに後からUbuntuを入れる方法は結構情報がありますが、Ubuntu PCに後からWindowsを入れるのはあまり見かけなかったので、その意味では少し希少な情報かもしれません。

前提

以下の前提でインストールを行います。

  1. UbuntuもWindowsも両方クリーンインストールする
  2. PCは購入時WindowsがインストールされていたLet’s note CF-S10
  3. SSD 512GBの前半分256GBにUbuntu、後ろ半分256GBにWindowsを入れる
  4. Ubuntuはパーティション1つだけ(/dev/sda1)。Swap使わない。

また、以下の物の準備が必要です。

  • USBメモリ 8GB以上 2つ (1つしかなくても出来るが面倒)
  • 作業用Windows PC (インストール対象とは別のPC、今回)
  • Ubuntu & Windows OSインストール対象PC

4ですが、私はそんなにメモリを多量に消費する作業をしないのでSwapを必要としていないのと、パーティション構成が複雑になるほどWindowsに勝手にパーティションをいじられたりした時に面倒なことになりそうなので、Ubuntu側はシンプルな構成でいきます。但し実際はSwapとか/homeのパーティションを分けても同じことが出来ると思います。Windows側のパーティションはOSを空き領域にインストールするとその中で勝手に作られるのでそこはいじりません。

Ubuntuのインストール

まず、Ubuntuをクリーンインストールします。作業用WindowsでUbuntuの最新のISOイメージをとってきます。それをRufusというソフトでUSBメモリに焼いて、Bootable USBを作成します。

ここら辺の手順はネット上にたくさん情報があるので割愛します。「ubuntu usb rufus」などで検索すれば、やり方は上位サイトに出てきます。

次に、PCのBIOSを設定します。BIOSはPCの電源を入れると通常はハードディスク又はSSDのブート領域を読み込みに行ってしまいますので、それをUSBのブート領域を読み込みに行くように設定します。BIOSの設定を変更するには、PCの電源を投入し、メーカーのロゴが出たくらいのタイミングでF2とかF12とかのキーを押下します(PCの機種によって異なります)。Let’s noteの場合、起動直後メーカーロゴ表示のタイミングでF2を押すとBIOSの画面に飛びます。

BIOS設定では「起動」タブに移動し、起動オプション優先度の1番上に「USBハードディスク」を持ってきます。

設定出来たらそのまま「終了」タブに移動し、設定を保存して終了を選びます。この時、先ほど作成したBootable USBをPCに挿入しておきます。

すると、Bootable USBのUbuntuが起動します。最初にcheck-in disk (File Systemのチェックをするやつ)が走るのですが、時間がかかるのでCtrl+cでキャンセルします。するとOSインストール用GUIが起動し、「ようこそ」の下に言語選択メニューが現れるので日本語を選択して、Ubuntuをインストール -> キーボードレイアウトでJapanese選択、Wifi設定 -> 通常のインストールと進みます。

インストールの種類を選択する画面で「それ以外」を選択し「続ける」を押すと、下のようなパーティション作成画面に遷移します。

ここで空き領域を右クリックして「追加」を選び、サイズに任意のパーティションサイズを入力(今回は256GB)、マウントポイントに / を入力しOKを押します。パーティションのタイプは「基本パーティション」、新しいパーティションの場所は「この領域の始点」のままでOKです。そのまま「インストール」を押すとUbuntuのインストールに進めます。

ちなみにこのパーティション作成画面ですが、Displayの小さいPCだと下側のインストールボタンまで表示されないことがあるらしく、私のLet’s Noteでも表示がされませんでした。最初、先に進めないのでかなり混乱しました。とりあえず手持ちの外部Displayに繋ぐと問題なく下の方まで表示されたので事無きを得ました。

UbuntuのInstallが完了したら、一度再起動します。再起動時にUSBを抜くように促されるのでそれに従い、再起動してみてUbuntuが起動することを確認します。

Windows10のインストール

次にWindowsのインストールを行っていきます。Windowsのインストール方法はその時々で変わるので、もし変更されていれば公式のやり方に従います。2020年12月現在はMediaCreationToolというのを使います。Microsoft公式のサイトからダウンロードできますので、これをインストール対象とは別のWindows PCで落としてきます。

「ツールを今すぐダウンロード」を選択すると、MediaCreationTool20H2.exeというツールがダウンロードされます。USBメモリ(UbuntuのBootable USBとは別のもの)を刺して、このツールを起動してください。

ライセンスに同意し、「別のPCのインストールメディアを作成する」を選択、言語・エディション・アーキテクチャはそれぞれ「日本語」「Windows10」「64ビット」を選択、使用するメディアに「USBフラッシュ」を選択し、挿入したUSBのドライブを選択します。するとWindowsのインストールメディアの入ったUSBをツールが作成してくれるので、しばらく待ちます。結構時間がかかります。

ツールが完了したら、OSインストール対象のPCに挿して起動します。BIOSの設定はUSBハードディスクを最優先のままにしている前提です。起動すると、Windowsのインストール設定画面が表示されます。

セットアップは任意で入力し、ライセンスキーを入力、インストールの種類の選択では「カスタム:Windowsのみをインストールする(詳細設定)(C)」を選択。

Windowsのインストール場所選択画面に移りますので、パーティションの空き領域(Ubuntuがインストールされていない領域)を選択して、「次へ」をクリックします (画像はインストールが終わった後再確認した時のもので、パーティション2以降にすでにWindowsが入ってしまっています。Windowsインストール前はパーティション2以降がなく、空き領域が選択できました)。

この後もインストール設定が続きますが、設定に迷うようなものはないはずです。設定が完了すると、SSDからWindowsが起動するようになります。

Bootの支配権をWindows→Ubuntuに戻す

上記手順を行うと、Windowsを後にインストールしているせいでPCを起動すると必ずWindowsが起動するようになります。これをPC起動時にWindowsを起動させるか、Ubuntuを起動させるか選べるようにします。

Windows側のBootの設定でもPC起動時にWindowsかUbuntuかを切り替えることもできるようなのですが、Windows Boot ManagerはWindows Updateで動作がおかしくなったりする情報があったので、今回はUbuntu側のBootの設定(grub)を使用して起動するOSを切り替えられるようにします。

そのために、現在Windowsに乗っ取られているBoot領域を再びUbuntu側に戻す手順が必要になります。手順として、再度UbuntuのBootable USBを使用します。Bootable USBを挿入したままPCを起動し、言語選択で「日本語」を選択。「Ubuntuを試す」を押して、USBからUbuntuを起動します。

起動したら、ファイルのエクスプローラー(nautilus)を開いて、左ペインの「Other Location」(日本語になっていれば「他の場所」)を選択。

先程SSDにインストールしたUbuntuが/dev/sda1等に見えていることを確認します。SSDに入ったUbuntuはディレクトリを開くと/rootや/bin, /home等、Linux特有のディレクトリ構成となっているのですぐに分かります。今回はUbuntuが/dev/sda1に認識されていることを前提にします。

ターミナルを起動して、以下コマンドを実行します。

これでSSD内のUbuntuのgrub設定で、SSDのブート領域を上書きできます。これにより、PCがUbuntuから起動出来るようになりますので、PCを再起動し(USBは抜く)、SSDのUbuntuを起動してください。

Ubuntuのgrubを編集してデュアルブート可能にする

この状態では、今度は毎回Ubuntuが起動するようになっています。Ubuntuを起動したら/etc/default/grubを編集し、これによりデュアルブートを可能にします。

エディタが開いたら、GRUB_TIMEOUT_STYLEとGRUB_TIMEOUTを次のように変更します

  • GRUB_TIMEOUT_STYLE=countdown
  • GRUB_TIMEOUT=10

タイムアウト時間(OSが選択されない場合自動起動するまでの時間)は任意の秒数を入れてください。今回は10秒としています。

変更できたら保存してエディタを抜け、次のコマンドを入力します。

これでPCを再起動すれば、起動後にUbuntuとWindowsを任意に選択できる画面が表示されるはずです。

今回初めてデュアルブートでOSをインストールしたので、やり方が少し冗長かもしれません。とりあえずうまく行った方法を書いていますが、そもそも最初にSSDのパーティションを2つに分けて、先に後半パーティションにWindowsを入れる、次に前半パーティションにUbuntuを入れる、というやり方にすれば、少ない手間で同じ結果が得られたかもしれません。万一データ破損とかでまたこの手順を踏まなくてはいけなくなったら、次はそんな手順でやってみるかも…

コメント

タイトルとURLをコピーしました