DynabookにLinuxをインストールしたときに起きた問題

4年前に買ったDynabookでLinuxをデュアルブートしようとしたら様々な問題が発生したので記録しておきます。初めてQiitaで記事を書いたので、指摘等があればぜひ編集リクエストを送ってください。

#事の経緯
最近プログラムを始め、なんとなく環境にもこだわってみたいと思ったので知り合いに相談してみたところ、「Linuxを触ってみてはどうだろうか」と提案されたので、思い立ったが吉日、色々調べた上でLinuxの入ったPCを作ってみることにした。
調べた結果、選択肢が3つになった。

1. 安い中古PCを買い、それにLinuxをクリーンインストールする。
2. 現在所持しているChromebookのうち一台にcroutonを使ってLinuxをインストールする。
3. 現在プログラムに使っているDynabook(windows10)でLinuxをデュアルブートする。

金銭の都合と、Chromebookのスペックがそこまで高くなかったことから、今回は3番の選択肢を取ることとした。

#インストール作業
##参考サイト
インストールはこのサイトに沿って行った。
1. [Ubuntu16.04 + Windows10 のデュアルブート環境を構築する - 俺とプログラミング](http://www.iandprogram.net/entry/2015/09/15/115918)
2. [Windows10とUbuntu16.04のデュアルブート環境構築](https://qiita.com/medalotte/items/4bb5cfa709e93d044f1c)

##用意したもの
・Dynabook R734
>スペック
CPU:Intel corei5
RAM:8GB
HDD:100GB
（大学生協仕様のパソコンなので、市販のものとスペックがかなり違う）

・USBメモリ（8GB, USB2.0）

##インストール手順
基本は参考サイトを参考に行った。
特筆すべき事としては
・何故か参考サイトの手順ではパーティションが区切れなかったので、以下のフリーソフト（EaseUS Partition Master Free）を使って区切った。容量は20GB用意した。
[Windows 10でパーティションのサイズを変更する方法 -EaseUS](https://jp.easeus.com/partition-manager/resize-partition-windows-10.html)

・DynabookでBIOSを起動するには、PCを起動した直後に現れる「Dynabook」のロゴの画面でF2を連打すると「TOSHIBA Setup Utility」が起動する。Dynabookでは、この画面がBIOSメニューに相当する。

・一見USBを優先してBootさせるための項目が見当たらないが、
```BIOSメニュー > Advanced ```の下の方に「Change Boot Order」という項目がある。ここでBootの優先順位を変える。

・BIOSから優先順位を設定しなくても、PCを起動して「Dynabook」のロゴが現れたときにF12を連打すれば、HDDを読み込むか、USBを読み込むかを選択できる。


これでLinuxのインストールはうまくいく…はずだった。

#起きた問題
##キーボードの配列が違う
まず、UbuntuをインストールするときにWifiに繋がなければならないのだが、パスワードとIDに含まれるアンダーバーとアットマークが打てなかった。これはLinuxのキーボード配置が日本語キーボードと違うことが原因で起きているらしい。画面右上の「EN」と書かれたボタンをクリックし、「Keyboard cheat sheet」を見ると、対応する文字がどこにあるのか確認できるので、それをチェックしながら文字を打った。気づくまでに時間がかかったけど、気づけば些細な問題だった。無知が恥ずかしい…

##Ubuntuが起動しない
一番手こずったところ。インストールまではうまく行ったのだが、再起動してもOSの選択画面（ブートローダー、GRUB）が起動せず、Windowsが勝手に起動するようになってしまった。

###講じた対策１（ブートローダーの再インストール（失敗））
[Ubuntuのブートローダが消えてしまった時の対処 - 俺とプログラミング](http://www.iandprogram.net/entry/2015/09/28/161057)
このサイトを参考にして、ブートローダーの再インストールを行ったが、相変わらずWindowsがそのまま起動するだけだった。


###講じた対策２（BIOSの切り替え（失敗））
調べると、BIOSには「CSMモード」と「UEFIモード」と言うものがあることを知った。
正しい認識なのかは分からないが、前者は古いBIOS、いわゆる「レガシーBIOS」で、後者はそれに取って代わる次世代のBIOSのようなものらしい。
LinuxはWindows8以降のUEFIを乗り越えるのが難しいらしい（なぜかはわからない）。

よくわからないけど、とりあえず「レガシーBIOS」に切り替えればいい！と考え、
```BIOSメニュー > Advanced > System Configuration > Boot Mode```
からUEFIをCSMに切り替えて再起動した。
しかしうまく行かず、「Intel Boot Agent」なるものが起動し、「Insert system disk in drive」というエラーを吐き、WindowsもLinuxも起動せずに終わる。
もう一度CSMからUEFIに戻すとWindowsは起動するようになるが、僕はLinuxを起動したいのである。

###講じた対策３（BIOSを切り替えた上で再起動（成功））
1.BIOSメニューを起動し、Boot ModeをUEFIからCSMに切り替えて再起動
2.起動した後「Dynabook」のロゴが表示されている間にF12を連打して、Bootするデバイスを選ぶ画面に入り、Linuxのisoファイルを読み込んであるUSBを選択してUbuntuを起動する。
3.Wifiの設定をしたあと、デスクトップにある「Install Ubuntu16.04.4 LTS」を起動する。
4.「インストールの種類」を選択する画面で「Ubuntu16.04.4 LTSを削除して再インストール」を選択して実行

これでうまくいきました。やってる作業は「講じた対策２」と同じなのだが、ここではCSM（レガシーBIOS）に切り替えたあとにインストールをしている。
Windowsが起動したくなったら、
```BIOSメニュー > Advanced > System Configuration > Boot Mode```
からCMS −> UEFIに切り替えればWindowsが起動する。少し手間だけど、頻繁に切り替えることは今のところなさそうなので目を瞑ることにする。

#まとめ
少し手間がかかりましたが、無事にLinuxのデュアルブートに成功しました。どうやら
1.BIOSをCSMに切り替える
2.Ubuntuをインストール
という順番が大事だったようです（何故かはわからない）。
こんな知識で環境を維持できるのかは微妙ですが、まあ寿命の近いPCで遊んでると思うことにします。
結局ブートローダーも使ってませんが、これを使ってもっと楽なOS切り替えの方法を見つけたらまとめたいと思います。

##謝辞
Twitterで相談に乗ってくれた西山くん、とうがらしくん、ジャキ花くん、本当に助かりました。ありがとうございました。