ノート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が起動できなくなる)恐れがあるそうです。

https://slacknotebook.com/os-dual-boot-is-a-bad-idea/

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


# 手順

## ubuntuの起動メディアを作成

1. ubuntu公式からisoイメージをダウンロード
2. インストールUSBの作成
[WindowsでUbuntuのインストールUSBメディアを作成する](https://diagnose-fix.com/topic2-003/)を参考にしました。

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を選んでください
![grub.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299742/b4e7dac4-e6b5-c407-9968-545e0281da5c.jpeg)
写真で見ると、画面結構汚れていますね。。。

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

3. インストールの種類で、"それ以外"を選択
   空のSSDに入れる場合は、”ディスクを削除してUbuntuをインストール”を選びます。
   今回Ubuntuを入れるSSDは、WindowsとUbuntuで半分ずつに分けたいので"それ以外"を選びました。
![Image5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299742/c9c88d67-d49b-a5ed-76c8-6b88d322691c.jpeg)


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

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

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

## Ubuntuの起動

1. 再びUEFIを開き、Ubuntuが最初に起動するようにします。
![bootsetting.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299742/1261f655-544d-eaf2-3969-ab1881856cac.jpeg)


2. 再起動するとGRUBの画面が出るので、Ubuntuを選択して起動します。
   Windowsの起動はGRUBからできるようです
![grub.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299742/b4e7dac4-e6b5-c407-9968-545e0281da5c.jpeg)


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

## 設定

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

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

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

### MP4を再生できるように

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

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

## 電池周りの設定

### powerTOPのインストール

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

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

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

### TLPのインストール

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

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

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

https://websetnet.net/ja/install-tlp-to-increase-laptop-battery-life-in-linux-ubuntu-2/

## 入れてみた感想

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

![Screenshot from 2021-04-26 20-54-07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299742/56fd1e25-066e-0834-5333-e0f9c374ee82.png)

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

https://qiita.com/makisayo12/items/795318df121048915a7e

## 未解決の課題
誰か知っていれば教えて頂きたいです。

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