WinPCにて外付けHDD/SSDにUbuntu20.04をインストール

># 目次

- [なぜ外付けHDDにUbuntu？](#なぜ外付けhddにubuntu)
- [気をつけたいこと](#気をつけたいこと)
- [用意するもの（ハード関連）](#用意するものハード関連)
- [環境](#環境)
- [手順概要](#手順概要)
- [手順](#手順)
  - [Ubuntuインストールメディア作成](#ubuntuインストールメディア作成)
  - [BIOS設定変更](#bios設定変更)
  - [外付けHDDにUbuntuをインストール](#外付けhddにubuntuをインストール)
  - [各種調整](#各種調整)
- [参考URL](#参考url)

<div style="page-break-before:always"></div>

## なぜ外付けHDDにUbuntu？
- WindowsとMacはあるが、やはり開発だとLinuxが欲しい
- ただ、LinuxオンリーのPCは作りたくない（開発以外使わないから）
- 仮想環境、もしくは同一HDDでのデュアルブートだと、使いにくい場面が多いので避けたい
- よって、外付けHDDからUbuntuを起動したい
  - [外付けHDDにUbuntuをインストール](#外付けhddにubuntuをインストール)だけ見れば、まっさらな内臓HDDにUbuntuをインストールすることも可能

## 気をつけたいこと
- 何も知らないままUbuntuのインストールを進めると、`Turn off RTS`で絶対につまづく
  - `Turn off RTS`を回避するために、勝手に`AHCM`設定にすると、Windowsごと吹っ飛ぶ
- ブートローダーがWindows側のEFIにインストールされてしまうバグを回避することが重要
  - Ubuntu側のEFIにインストールしないと、初期にインストールに使用したWindowsPC以外のPCで、外付けUbuntuが起動しなくなる

## 用意するもの（ハード関連）
1. WindowsOSの入ったPC
2. USBハブ（最低でも2口あるもの）
3. USBフラッシュメモリ（16GB）
4. 外付けHDD（500GB）
5. 外付けHDDとPCを接続するためのケーブル（外付けHDDに対応するもの）

## 環境
|WindowsPC|Inspiron 5391|
|----|----|
|デバイス名|DESKTOP-CL735HE|
プロセッサ|Intel(R) Core(TM) i7-10510U　CPU ＠　1.80Ghz 2.30
実装RAM|8.00 GB
システム|64-bit OS、x64　ベース プロセッサ

|Windows OSの仕様||
|----|----|
エディション|Windows 10 Pro
バージョン|20H2
エクスペリエンス|Windows Feature Experience Pack 120.2212.3530.0

## 手順概要
1. Ubuntuインストールメディア作成
2. BIOS設定変更
3. 外付けHDDにUbuntuをインストール
4. 各種調整

## 手順
### Ubuntuインストールメディア作成
1. [http://releases.ubuntu.com/20.04/](http://releases.ubuntu.com/20.04/)にアクセスし、`64-bit PC (AMD64) desktop image`をダウンロード
   1. 実施現在は`ubuntu-20.04.3-desktop-amd64.iso`だったが、バージョンにより色々な作業が異なる可能性があるので注意されたし
2. [https://rufus.ie/](https://rufus.ie/)にアクセスし、ダウンロードしたexeファイルを実行
3. `デバイス`は用意したUSBを選択
4. `ブートの種類`に、ダウンロードしたisoファイルを選択
5. `スタート`を押す
6. 「ダウンロードが必要です」ポップアップに`はい`
7. 「ハイブリッドISOイメージの検出」ポップアップにて
   1. `ISOイメージモードで書き込む（推奨）`にチェック
   2. `OK`
8. USBフラッシュメモリのデータ消去を問われるので、`OK`
9. 「状態」欄のゲージがMAXになり「準備完了」が表示されたら、`閉じる`
10. インストールメディアと外付けHDDをPCに接続

### BIOS設定変更
1. 管理者権限でcmdを開き、以下を実行

        bcdedit /set safeboot minimal

2. PCを再起動、BIOS設定に移動
3. SATA operationにて、RAIDやIDEに設定されている場合は`AHCI`に変更
4. PCを再起動すると、Windowsがセーフモードで起動するので、管理者権限でcmdを開き、以下を実行

        bcdedit /deletevalue safeboot

5. PCを再起動、BIOS設定に移動
6. Boot optionsにて、読み込み優先順位を以下のように設定
   1. インストールメディア（USBフラッシュメモリ）
   2. インストール先のHDD（外付けHDD）
   3. Windows Boot Manager
7. PCを再起動し、インストールメディアを起動

### 外付けHDDにUbuntuをインストール
1. PC起動でBIOS設定に移る
   1. `Boot Option`にて、作成したインストールメディアを最優先して読み込むように、起動順番を変更
   2. BIOS設定を出て、インストールメディア起動
2. 勝手にインストーラーが起動するので、×ボタンでインストーラー終了
3. アプリケーションを起動し`disks`と入力すると`Disks`が選択できるので、これを起動
   1. インストール予定の外付けHDDのマウントポジションを確認（メモ）しておく
   2. 今回は`/dev/sda`として話を進める
4. `Install Ubuntu 20.04 LTS`を起動しUbuntuをインストール
   1. `日本語`を選択して`続ける`
   2. `Japanese`＞`Japanese`を選択し`続ける`
   3. 使用可能なインターネットを選択して`続ける`
   4. `通常のインストール`、`Ubuntuのインストール中にアップデートをダウンロードする`、`グラフィックとWi-Fi〜`にチェックを入れ`続ける`
   5. `それ以外`を選択して`続ける`
      1. ここで`それ以外`じゃ無いものを選択すると、Windowsが入っている方のHDDにUbuntuをインストールして、元々のWindowsのデータが吹っ飛ぶので注意
   6. インストールの種類画面にて、インストール先の`/dev/sda`を右クリックし、「このデバイスに新しいからのパーティションテーブルを作成しますか？」と問われるので`続ける`
   7. 作成した空き領域をクリック後、「＋」ボタンを押し、以下のようにパーティションを作成

        5. サイズ：`512 MB`
        6. 新しいパーティションのタイプ：`基本パーティション`
        7. 新しいパーティションの場所：`この領域の始点`
        4. 利用方法：`EFIシステムパーティション`

   8. `OK`後、`/dev/sda1`以下に`efi`タイプでパーティションが作成されたことを確認
   9. 空き領域で「＋」ボタンを押し、以下のようにパーティションを作成
      1.  サイズ：`8000 MB`
      2.  新しいパーティションのタイプ：`基本パーティション`
      3.  新しいパーティションの場所：`この領域の始点`
      4.  利用方法：`スワップ領域`
   10. `OK`後、`/dev/sda2`以下に`swap`タイプでパーティションが作成されたことを確認
   11. 空き領域で「＋」ボタンを押し、以下のようにパーティションを作成
       1.  サイズ：残りのサイズ全て選択
       2.  新しいパーティションのタイプ：`基本パーティション`
       3.  新しいパーティションの場所：`この領域の始点`
       4.  利用方法：`ext4 ジャーナリングファイルシステム`
       5.  マウントポイント：`/`
   12. `インストール`
   13. 「ディスクに変更を書き込みますか？」と問われるので`続ける`
   14. タイムゾーンを`Tokyo`に設定後、アカウント情報を入力して`続ける`
5. インストール中に以下を確認
   1. アプリケーションからsettingを起動し、`Power`の項目から、以下の項目を設定（自動シャットダウン防止）
      1. Dim Screen When Inactive：`Off`
      2. Blank Screen：`Never`
      3. Automatic Suspend：`Off`
      4. Power Button Action：`Nothing`
    1. アプリケーションからDisksを起動し、`/dev/sda1`がマウントされているか確認
6. インストールが終了したら、シャットダウン後、インストールメディアを抜いておく
7. インストールした外付けHDD（以下、UbuntuHDD）を起動
8. 起動したら、`Ctrl`+`Alt`+`T`でターミナル起動
   1. ホームディレクトリを英語表記にするために、以下を実行
      1. >`$ LANG=C xdg-user-dirs-gtk-update`
      2. 「Dont's ask me this again」にチェックを入れ「Update Names」を選択
   2. CapsLockとCtrlの入れ替えのため、以下を実行

                $ gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"

   3. Chromeをインストールするために、以下を実行

                $ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
                $ sudo dpkg -i google-chrome-stable_current_amd64.deb     
                $ rm google-chrome-stable_current_amd64.deb
   4. Vimをインストールするために、以下を実行

                $ sudo apt install vim`
   5. 日本語入力をインストールするために、以下を実行
      1. アプリケーションから言語サポートを起動
      2. インストールをクリック
   6. パッケージの更新をするために、以下を実行

                $ sudo apt update
                $ sudo apt upgrade
### 各種調整
1. `/dev/sda1`がマウントされていない場合、以下を実行（マウントされている場合は以下は無視して良い）
   1.  ターミナルにて、以下を実行

                $ sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt update  
                $ sudo apt install -y boot-repair && (boot-repair &)
   2. 「おすすめの修復」を選択
   3. 以降出てくるポップアップは全て`OK`
   4. Windowsを起動し、管理者権限でcmd起動
   5. 以下を実行

                $ cd c:\
                $ bcdedit /enum firmware

   6. 以下のように表示されるので`identifier`の右側の文字列をコピー
                
                identifier  {d626dc8a-3f6d-11ea-ab4f-806e6f6e6963}
                device
                partition=\Device\HarddiskVolume1
                path                    \EFI\UBUNTU\SHIMX64.EFI
                description             ubuntu
   7. 上記の例で、以下を実行

                $ bcdedit /delete {d626dc8a-3f6d-11ea-ab4f-806e6f6e6963}

   8. 以下を実行

                $ diskpart
                $ list disk

   9. WindowsHDDと思われるdiskを選択（ここではdisk 0とする）

                $ sel disk 0  
                $ list vol

   10. `Info`欄が`システム`となっているvolを選択（ここではvol 2とする）

                $ sel vol 2
                $ assign letter=Z
                $ exit
   11.  以下を実行

                $ cd /d Z:
                $ dir
                $ cd EFI
                $ EFI>dir
                $ rmdir /S ubuntu
2. cmdを終了し、PCをシャットダウン



<div style="page-break-before:always"></div>

## 参考URL
- [基本的なインストールの流れ](https://qiita.com/koba-jon/items/019a3b4eac4f60ca89c9)
- [Windowsを維持したままUbuntuをインストールするために](https://slash-mochi.net/?p=3876)
- [何も考えずにAHCIモードに変更するとWindowsが起動しなくなる例](http://pineplanter.moo.jp/non-it-salaryman/2020/06/25/ubuntu-in-lenovo/)
- [Ubuntu20.04をインストールした後の各種便利設定](https://sicklylife.jp/ubuntu/2004/settings.html)