カエデ自動機械

ちょっとしたものづくりや電子工作のメモなど。技術開発とは今は呼べないかな。

何もしていないのにUbuntuが立ち上がらなくなった

主に自分用のメモ。
自分でもなんの操作をしているか理解していないため、万に一つ自分と同程度の知識しか持ち合わせない方がご覧になった場合も、参考にはしないことをおすすめします・・・

前提

windows10とUbuntu16.04LTSのデュアルブートをしている中古レッツノート(¥35,000-)。
主に外出先でちょっとブログやコードを書く用。
基本的にこの中にデータは保管していないので、(¥35,000-は痛いが)色々な意味で冒険はできる。


windows10側で、このPCのBluetooth機能が使えなくなっていたため、Windowsアップデートの確認をしたところ、何やら色々ありそうだったので適用。
(なおこの操作ではBluetoothは回復せず、普通にデバイスマネージャからBluetooth関連ドライバを全て削除→PC再起動したら治った)

普通のWindowsアップデートと異なり、アップデート適用中に何度も再起動を繰り返し、アップデート完了後はWindows10のGUIがちょっと変わっていた。
大型のアップデートだったのか、もしくは適用してはいけないアップデートだったのか・・・? 一応それ以降もWindows側は使えている。



発生事象

普段はPC立ち上げ後、Ubuntuっぽい紫色の背景の画面で、Windows10とUbuntuのどちらのOSを立ち上げるか選択することができるが、その画面が立ち上がらず、自動でWindows10が立ち上がるようになった。

BIOSのOS選択画面を見ても、Ubuntuが選択肢からなくなっており、まったくUbuntuを立ち上げられそうにない。
下の写真は、下記の方策で復旧後の画面。下の二つが表示されない状態に当時はなっていた。

f:id:ktd-prototype:20200307220132j:plain
「デバイスを指定して起動」のうち「ubuntu」が表示されない。ディスクも入れていないと、上の3つだけになる。

ただし、Windows10側で「ディスクの管理」を見てみると、Ubuntuが入っているパーティションは生きているようだった。
SSDが1基だけ載っているノートPCのため、当該SSDパーティションを切ってUbuntuWindowsも入れている)


対処

別件でUbuntuを再インストールしたい衝動に駆られていたためそれを試そうかとも思ったが、折角なので別の手法にチャレンジしてみた。

参考にさせてもらった記事
ameblo.jp


この記事の後半、以下の文章以降を(賭けですが)適用しました。
「これらを踏まえてブートローダをboot repairで修復します。ブートローダを修復しないとデュアルブートは実現できません。」(当該記事より)


具体的には、

  • Ubuntu16.04LTSのインストール時に使用したインストールメディアをPCに入れ、BIOS画面にて起動するOSの在り処としてDVDドライブを選択
  • Try Ubuntu Without Install を選択し、Ubuntuを立ち上げる
  • Terminal画面にて、以下のコマンドを入力(上記サイトと同じ)
$ sudo add-apt-repository ppa:yannubuntu/boot-repair
$ sudo apt-get update
$ sudo apt-get install -y boot-repair
$ boot-repair
  • boot-repairのGUI画面で「高度なオプション」を選択(上記記事準拠の場合)
    • 「高度なオプション」の位置はちょっとわかりにくいが、頑張って探す。
  • GRUBの位置」タブに移動
  • ここから何をすればいいのかは正直よくわからなかったが、「ポイントは、GRUBUbuntuをインストールした2台目のHDDにインストールするように指定することです。」(上記記事より)という記述の趣旨に鑑み、「デフォルトで起動するOS」についてはUbuntuが入っていたパーティションを選択した(/sda5。ちなみにWindows10も同じパーティションを通じて起動するようだった)
    • 「別パーティションに/boot/efiを構成」にはチェックボックスにチェックが入っており、/sda4というパーティションが選択されていた。
    • 上記記事では、この部分がUbuntuが入っているHDD、Windowsが入っているHDD、のどちらが選択されているかによって、「GRUBを置く場所」を選ぶとあった(とにかくUbuntuが入っているHDDを選ぶ、という趣旨と理解)
    • その趣旨からすると、/sda4にわざわざ新しく/boot/efiを構成するのは間違っている気がするが、チェックボックスを外してGRUBの配置場所として/sda(PCに入っているSSD)を選択してもエラーを入って上手くいかなかった。
    • 従ってこの部分は気にせず(賭けだが)上記チェックボックスはチェックを入れ、/sda4に/boot/efiが構成されるように選択した(選択肢は他になかった)。
  • 修復完了後、再起動したら治っていた。OS選択の画面は前とは違うものになっていたが、一応WindowsUbuntuとも正常に立ち上がるし、サインイン用アカウント、サインイン後の設定、インストールしたアプリ等も無事であることを確認できた。

f:id:ktd-prototype:20200307221234j:plain
boot repairのGUI。マウスカーソルの部分が(わかりにくいが)高度なオプション

f:id:ktd-prototype:20200307221255j:plain
デフォルトで起動するOSはUbuntuを選択する。

f:id:ktd-prototype:20200307230001j:plain
パーティションに/boot/efiを構成は、チェックをONにしないとそもそもエラーを吐いて先に進めなかった。ちなみにチェックを入れた場合、別パーティションとやらの選択肢は/sda4のみ。

f:id:ktd-prototype:20200307215815j:plain
回復後の画面。元々は Ubuntu、Advanced options for UbuntuWindows Boot Manager(on /dev/sda4)、System setupの4項目しか表示されていなかったので、何かおかしいとは思う。



反省点など

私の知識レベルはこの記事のタイトルからなんとなく察せられるとおり。
それなりに高学歴だし理系だが、プログラミングやコンピュータ関連の知識は趣味を通じてしか学んでいない(大学院研究や仕事でまとまった時間を費やしていない)

もちろん趣味で相当な知識をつける人も居ると思うが、私の場合は(特にトラブル発生時は)基本的にエラーメッセージでググった時に出てくるネット記事を鵜呑みにして、書いてあるコマンドをターミナルに打ち込んで解決している(一応複数サイトを参照する程度のことはするが)

今回もそのように実施したので、この記事に記載したトラブル対応でも、私自信に新たな知識・技術が身についたとは考えにくい。
Windowsごとふっ飛ばしていた恐れもあったのではないかと思う(その場合、CADソフトが外出先で使えなくなるのでちょっと困る・・・)

が、とりあえず治ってよかった。
安いノートPCを外出時作業用兼PC自体に関する実験用に持っておくのは良いことだと思った。

今思えば、以下のサイトも参考になりそう。今回の症状にドンピシャである。
blog.medalotte.net