ノートPCでWindowsとUbuntuのデュアルブート環境を作る


ノートPCでWindowsとUbuntuのデュアルブート環境を作る

普段はWindowsでWSL2を使って開発しています。
WSL2 + docker + vscodeの組み合わせって非常に便利ですよね
でも↑の組み合わせをやると結構重たくなります。

そもそもWindowsを使わずに、純粋なlinux上で開発すればいいんじゃないかと思い、
手持ちのノートPCでデュアルブート環境を検討し、導入に至りました。

linuxで使えるアプリ

Linux導入にあたり、Windowsで使っていたアプリのLinxu対応状況を調べましたが、
代替アプリを探す必要もなく、普段使いのアプリは同じものが使えました。

  • vscode
  • Typora(markdownエディタ)
  • android studio
  • google chrome
  • Slack
  • Zoom

環境

PC:LG gram 13Z990
メモリ:16GB(8GBから換装済み) ←8GBでも問題なく動きます
ディスク:SSD256GB+1TB(増設)
公称バッテリ駆動時間:28時間
重量:965g

LG gramシリーズはNVMeの空きスロットがあるので、SSDの増設が可能です。
ですので、SSD1台目にWindows、2台目にUbuntuといった構成が簡単に作れます!
大容量バッテリを搭載しているので、普通に使っても10時間は持ちます。

LG gram非常に気に入っているのですが知名度あまり無いですね。。。

デュアルブート構成

SSD1台目:Windows10 + Windows Bootloader(WBM)

SSD2台目:Ubuntu20.04 + GRUB
500GBをUbuntuに割り当て、 残りはWindows側で使用

OSを別々のディスクに入れる

通常のデュアルブートだと、WBM(windows bootloader)を無効にし、GRUBなどのLinux系ブートローダを使う事が一般的かと思います。
この構成だと、WindowsUpdate時にWBMが復元され、GRUBが使えなくなる(Linuxが起動できなくなる)恐れがあるそうです。

安全にデュアルブート環境を作るために、今回はOSを別々のディスクに入れる方法を取りました。
この方法なら、最悪片方のOSやbootloaderが壊れても、もう片方のOSの起動には全く影響が出ないかと思います。

手順

ubuntuの起動メディアを作成

  1. ubuntu公式からisoイメージをダウンロード
  2. インストールUSBの作成
    WindowsでUbuntuのインストールUSBメディアを作成するを参考にしました。

  3. SSDにUbuntuを入れるための空き容量を確保しておく

Bootの順番を変更

  1. Windowsを再起動し、F2キー押下でUEFIに移る
    この時USBメモリは刺したままにしておきます。

  2. インストールメディアが入ったUSBメモリを1番上にする。
    USB HDDやUSBメモリのメーカ名が表示されていると思います。

  3. Exit Saving Changesを選び、起動します。

Ubuntuのインストール

  1. USBメモリからUbuntuを起動する
    GRUBが起動するので、Ubuntuを選んでください

    写真で見ると、画面結構汚れていますね。。。

  2. Ubuntuをインストール
    デスクトップにインストール用のアイコンがあったと思うので、クリック

  3. インストールの種類で、"それ以外"を選択
    空のSSDに入れる場合は、”ディスクを削除してUbuntuをインストール”を選びます。
    今回Ubuntuを入れるSSDは、WindowsとUbuntuで半分ずつに分けたいので"それ以外"を選びました。

  4. パーティションの設定
    "それ以外"を選ぶと、パーティションの設定に移るので、インストールするSSDを選び、”新しいパーティションテーブルを作成”を選択。
    私は下記のように設定しました。
    SWAP:10GBに設定。メモリの2倍程度が目安らしいです。
    /:残り全てを割り当て。

  5. ブートローダをインストールするデバイス
    Ubuntuを入れるディスクを選択。
    ※誤ってWindowsが入ったSSDを選ばないように注意してください

  6. インストール
    インストールボタンを押し、”ディスクに変更を書き込みますか?”のメッセージが出るので、"続ける"をクリック。
    あとは案内に従ってインストールを進めてください。

Ubuntuの起動

  1. 再びUEFIを開き、Ubuntuが最初に起動するようにします。

  2. 再起動するとGRUBの画面が出るので、Ubuntuを選択して起動します。
    Windowsの起動はGRUBからできるようです

これでデュアルブート環境が整いました。
もしUbunut環境が不要になった場合は、UEFIのBoot Priority OrderでWindows Boot Managerを1番目に持ってくるだけで良いです(Ubuntu自体の削除は必要に応じて)。

設定

ホーム内のディレクトリ名を英語にする。

ubunutu日本語版を入れた場合に限ります。
端末でパスを辿る時に、"ピクチャ"とか日本語で入力するのが面倒なので設定しています。

LANG=C xdg-user-dirs-gtk-update

MP4を再生できるように

デフォルトではMP4コーデックが無いと言われるので

sudo apt-get install ubuntu-restricted-extras
sudo apt-get install ffmpeg

電池周りの設定

powerTOPのインストール

Intelが提供するLinux向けのツールで、プロセスやハードウェアが消費している電力を一覧し、必要に応じて様々な少電力設定を行うツールです。

sudo apt install powertop
#自動チューニング
#powerTOPのTunablesのstatusをgoodに自動調整
sudo powertop –auto-tune

再起動するとstatusがまたbadに戻ってしまうので、別のアプリも入れる必要があります。

TLPのインストール

TLPはUbuntuの電力を実際に最適化することに特化したアプリです。
TLPは再起動してもリセットされません。

sudo add-apt-repository ppa:linrunner/tlp
sudo apt update
sudo apt install tlp tlp-rdw
sudo tlp start

電池周りの設定は下記サイトを参考にしました

入れてみた感想

Ubuntuにしたら、電池持ちが更に良くなった気がします!
OSやアプリの起動がめっちゃ早い。
これからはWindowsの出番が減りそうです。

自宅では、UbuntuにLogicool K380というキーボードを接続して使っていますが、
ファンクションキーのデフォルトがF1~12に設定出来ないという問題が起こったので、対処した時の備忘録を書きました。

未解決の課題

誰か知っていれば教えて頂きたいです。

  • 充電の上限を80%にしたい
  • 毎回パスワード打つの面倒なので指紋認証を使いたい