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を入れるのはあまり見かけなかったので、その意味では少し希少な情報かもしれません。
前提
以下の前提でインストールを行います。
- UbuntuもWindowsも両方クリーンインストールする
- PCは購入時WindowsがインストールされていたLet’s note CF-S10
- SSD 512GBの前半分256GBにUbuntu、後ろ半分256GBにWindowsを入れる
- 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に認識されていることを前提にします。
ターミナルを起動して、以下コマンドを実行します。
1 2 3 |
sudo mkdir /mnt/chrootdir sudo mount /dev/sda1/ /mnt/chrootdir/ sudo grub-install --root-directory=/mnt/chrootdir /dev/sda |
これでSSD内のUbuntuのgrub設定で、SSDのブート領域を上書きできます。これにより、PCがUbuntuから起動出来るようになりますので、PCを再起動し(USBは抜く)、SSDのUbuntuを起動してください。
Ubuntuのgrubを編集してデュアルブート可能にする
この状態では、今度は毎回Ubuntuが起動するようになっています。Ubuntuを起動したら/etc/default/grubを編集し、これによりデュアルブートを可能にします。
1 |
sudo vi /etc/default/grub |
エディタが開いたら、GRUB_TIMEOUT_STYLEとGRUB_TIMEOUTを次のように変更します
- GRUB_TIMEOUT_STYLE=countdown
- GRUB_TIMEOUT=10
タイムアウト時間(OSが選択されない場合自動起動するまでの時間)は任意の秒数を入れてください。今回は10秒としています。
変更できたら保存してエディタを抜け、次のコマンドを入力します。
1 2 |
sudo update-grub sudo grub-install |
これでPCを再起動すれば、起動後にUbuntuとWindowsを任意に選択できる画面が表示されるはずです。
今回初めてデュアルブートでOSをインストールしたので、やり方が少し冗長かもしれません。とりあえずうまく行った方法を書いていますが、そもそも最初にSSDのパーティションを2つに分けて、先に後半パーティションにWindowsを入れる、次に前半パーティションにUbuntuを入れる、というやり方にすれば、少ない手間で同じ結果が得られたかもしれません。万一データ破損とかでまたこの手順を踏まなくてはいけなくなったら、次はそんな手順でやってみるかも…
コメント