DELL G5 15 で Windows 10 と Ubuntu 18.04 の デュアルブートを実現する方法

コストパフォーマンス重視で購入したDELL G5 15ですが、その目的の一つはLinuxで遊ぶことだったので、早速Ubuntu 18.04をインストールしてみました。Windows 10と併用したかったので、WSL2(Windows Subsystem for Linux 2)も考えたのですが、GPUなど活用して本格的に使うならデュアルブートで切り替えて使う必要がありますよね。
とは言っても、かなり落とし穴満載だったので、上手くデュアルブート環境を作る方法をメモしておきます(試行錯誤の結果を書いているため、上手くいくことを保証するものではないですが)。他の機種でも似たような問題が発生する可能性がありますので、参考にして下さい。

Ubuntu Live USBの作成

USBメモリを用意して、Ubuntuインストール用のブータブルUSBを作成します。

Ubuntu 18.04のISOイメージは下記からダウンロードできます。

Ubuntu Desktop 日本語 Remixのダウンロード

Universal USB Installerなどのソフトを使って、上記ISOイメージをUSBメモリに書き込みます。

高速スタートアップを無効に

OSのブートを可能にするために、高速スタートアップの設定を無効にします。

設定の「電源とスリープ」にある関連設定から「電源の追加設定」を押します。

「電源ボタンの動作を選択する」を押して、「現在利用可能ではない設定を変更します」を押します。

シャットダウン設定の「高速スタートアップを有効にする(推奨)」のチェックを外します。

BitLockerドライブ暗号化の無効化

Windows 10 ProのDELLのパソコンはBitLockerドライブ暗号化がデフォルトで有効化されていました。OS切り替え時などに長い回復キーを入力しないといけなくなってしまうので、無効化します。(Windows 10 HomeではBitLocker機能がないため不要)

コントロールパネルの「システムとセキュリティ」から「BitLocker ドライブ暗号化」を開き、「BitLockerを無効にする」を押します。

暗号化解除には時間がかかります。「BitLockerが無効です」と表示されるようになれば完了です。

ちなみにパソコンの起動時にBitLocker 暗号化キーの入力が求められて困った場合、Microsoftアカウントと紐づけていれば、他のパソコンからMicrosoftアカウントにサインして保存された回復キーを確認することができます。

SATAをRAID OnからAHCIに変更

Ubuntuのインストールを進めようとすると、SSDがインストーラーから見えませんでした。この原因はSATAのモードがRAID Onになっていたためで、AHCIに変更することで解決できました。

AHCIに変更する前に、Windows 10のブートオプションをセーフブートにしておきます。これをしないとWindows 10が起動できなくなります。(ちなみにこの状態になったときはRAID Onに戻すことで起動できるようになります。)

Win+Rで「msconfig」と入力してOKを押します。「ブート」タブを選んで、セーフブートにチェックを入れます。

設定の「更新とセキュリティ」で「回復」を選び、「今すぐ再起動」を押します。

再起動後オプションの選択で「トラブルシューティング」を押します。

「詳細オプション」を押します。

「UEFIファームウェアの設定」を押します。これで機種関係なしにBIOSの設定を開くことができます。
DELL G5の場合、起動時ロゴ表示時にF12を押し、BIOS Setupを選ぶことでも設定画面に入ることができます。

System ConfigurationのSATA Operationで、RAID OnからAHCIに変更します。

Applyを押すと、Warningが出ますのでよく読んで、問題なければ「Yes」を押します。
このあとExitを押して、設定を保存して再起動して、Window10が起動すれば、セーフブートを解除してまた再起動して正常に起動できることを確認します。万が一起動できなくなった場合は、DELLロゴ表示時にF12でBIOS設定に入り、SATA Operationの設定を元に戻してください。

セキュアブートの無効化

セキュアブートでUbuntuのブートが阻害されてしまうので、無効化します。

BIOS設定でSecure BootのSecure Boot Enableのチェックを外し、Applyを押します。Warningが表示されるので、よく読んで「Yes」を押します。

Ubuntu Live USBでの起動とインストール

USBポートにUbuntuが入ったUSBを入れ、そのUSBから起動させます。

ロゴ表示時にF12を押して、UEFI BOOTでUSBドライブの方を選択します。

または、BIOS設定のBoot Sequenceで、USBメモリの方が上に来るように設定します。

Try Ubuntu without Installing か Install Ubuntuを選び、前者の場合インストーラーを起動してインストールを開始します。
言語・キーボード・WiFiなどを設定します。

インストールオプションを決めます。

デュアルブートの場合、「Ubuntu を Windows Boot Manager とは別にインストール」か「それ以外」を選びます。
起動ドライブにWindowsとUbuntuを共存させたりするのには前者が簡単にパーティション操作できて便利ですが、今回は1TBのHDDの方に入れることにしたので、後者にしました。
ここで「Windows Boot Managerがインストールされています」と出ない場合は、SSDが認識できていない可能性がありますので、AHCI設定を再確認して下さい。

1TBのHDDを500MBずつに分けて、片方をext4フォーマットして/に、もう一方をFAT32フォーマットして/windowsにマウントさせることにしました。FAT32にすることでWindowsからもUbuntuからもアクセスできる共有ドライブになります。
ブートローダーをインストールするデバイスは起動SSD(/dev/nvme0n1)に設定します。

インストール開始。時間は結構かかります。

Ubuntuの起動

インストールが完了し再起動。GNU GRUBの起動メニューが表示されます。
Ubuntuを選べばUbuntuが、Windows Boot Managerを選べばWindows 10が起動します。

ただこのままだとフリーズが頻発するので、起動メッセージなどを確認して、ディスプレイドライバが適切に機能していないことが分かりました。

NVIDIAのGPSドライバをインストール

GRUBの画面でUbuntuを選んだ状態で「e」を入力します。

「quiet splash」と書かれているところを「quiet splash nomodeset」に書き換えて起動します。

下記サイトで使用しているGPUの最新版のLinux用ドライバーのバージョンを確認します。現時点ではGeFouce RTX2060(Notebook)は440でした。

https://www.nvidia.com/Download/index.aspx

Ctrl + Alt + F1~F7のどれかでコンソールモードに変更します。

下記コマンドで、そのバージョンのGPUドライバをインストールします。必要なパッケージを別途インストールする必要があるかもしれません。(nvidia-driver-440の440がバージョン)

sudo apt-get update
sudo apt-get upgrade
sudo apt-get purge nvidia-*
sudo add-apt-repository ppa:graphics-drivers/ppa
(Enter)
sudo apt-get update
sudo apt-get install nvidia-driver-440

再起動して、ターミナルで「nvidia-smi」というコマンドを打って、正常にGPUが認識されていればOK。

Windows10で時刻がずれるのを防止

UbuntuからWindows 10に切り替えると時刻が9時間ずれてしまうのに気づきました。これはUbuntuがUTC、Windows 10がLocalTimeになっているためですね。Ubuntuのターミナルで下記のコマンドを打って合わせます。

sudo timedatectl set-local-rtc true

Ubuntuも安定して動作するようになりました。Windows 10と切り替えて快適に利用できるのは良いですね。

saya: