Linux:この画面が出てやったこと
昔のMacOSではシステムが壊れたりエラーを起こしたりの最悪な状況のときに遭遇する「Sad Mac」というのがありました。
心臓に悪いアイコンですが、Linuxにも似たような画面が出る場合があります。今回はそのエラーについて。
以前、Ubuntu 20.04から20.10にアップグレードする際、私のLinuxマシンがそのSad MacのLinuxバージョンとでも言うべき画面になってしまいました。こういうやつです。↓
こうなるとどうなるか
この画面になるとデスクトップ環境が立ち上がりません。つまりデスクトップ環境にログイン出来ず、通常のGUI作業が全くできません。
実際はOSが起動出来ていないわけではなく、CLIのOSは裏で起動しています。なので
[Ctl] + [ALT] + [F3]
とキーコンビネーションを押すと、真っ黒なコマンドラインインターフェイスのLinuxシステムに切り替わります。つまり、コマンドラインによる操作は出来ますが、その上に乗っかっているGUIのデスクトップ環境が動かないわけです。
経緯
こうなってしまったのは、
「gThumb(画像管理アプリ)の最新版をソースコードから自前でビルドしてみよう」
から始まりました。なんとなくやり始めて分かった事ですがこのgThumb、膨大な種類のライブラリをシステムに入れないとビルド出来ません。
gThumbの依存ライブラリをビルド
>その依存ライブラリが依存するライブラリ不足エラー
>エラーの原因となっている不足ライブラリを探す
>そのライブラリをビルド。
>その依存ライブラリの依存ライブラリ不足エラー。
>エラーの原因となっている不足ライブラリを探す
>そのライブラリをビルド。依存ライブラリ不足エラー・・・
という無限の泥沼状態に・・・
エラーに次ぐエラーで疲れ果ててしまい、ダウンロードしたライブラリもエラーログもとっちらかってしまいました。なので眠い頭のなかで要らないと思われるログやデータを削除したり整理し・・・・脳が限界まで疲れたのでそろそろ寝るかとその前に、と、なんとなく再起動。
あれ?起動しない・・・・
というわけです。(↑上の画像はその時に実際に撮った私のRyzenマシンの画面です)
疲れた状態でsudoコマンドをずっと使っていたので、うっかり何か大事なライブラリを削除してしまったのか・・・
このビルド作業をする前はシステムは絶好調でまったく問題はありませんでした。ライブラリの追加・削除を延々とやっていたのでこの一連の作業が原因であることは間違いありません。
解決方法その1
やったことは以下の通り。
$ sudo apt-get update && sudo apt-get dist-upgrade
でアップデート&アップグレードし、
$ sudo apt-get clean && sudo apt-get autoremove && sudo reboot
でダウンロードデータを掃除したあと再起動。
結果:うまくいきませんでした。
参考:
解決方法その2
もう一つの解決方法も試してみました。
[CTL]+[ALT]+[F4]
のあと
$ startx
と打って、
$ apt-get remove gnome-session
$ apt-get autoremove
でGNOMEを削除。
$ aptitude install task-gnome-desktop
でGNOMEをインストール。
結果:うまくいきませんでした。
参考:
最終解決方法
OS再インストール&再構築をすることにしました。結局上記のメジャーな方法で復旧しないので万事休す、というわけです。そこからさらに深堀りして原因究明にかかるであろう時間と復旧の可能性を考えると、そのほうが早く元の環境に戻せると判断したためです。最終的な解決方法は以下の通り。
(その1)
LiveUSBでマシンを起動。今使っているUbuntu 20.10にアップグレードする前の「Ubuntu 20.04LTS」をインストールする際に使ったLiveUSBを残していたので、それを使ってマシンを起動しました。
(その2)
HOME以下の大事なデータを救出。LiveUSB起動でWindowsが入っているディスクも含め全て見えてアクセス出来る状態になりました。この状態になれば一安心なので、起動しなくなったLinuxが入っているSSDから必要なデータを別ディスクにコピーしてバックアップ救出。
(その3)
OSの再インストール。まっさらに初期化してクリーンインストールしました。
(その4)
環境の再構築。OSの基盤がインストールされてまっさらな状態になったら、まずはOSのアップデート&アップレード。
(その5)
アプリ環境の構築。バックアップデータからデータを復旧。
時間をかけて構築した環境をまっさらにするのは正直辛いのですが、定番の対処法を施しても起動しなくなったシステムは依存性がかなり怪しい。そのまま使い続けるのは精神衛生上あまり心地よくないので潔くまっさらに初期化して新規インストール&再構築が結局GOOD。
やっててよかった事
1)インストールに使ったLiveUSB、おいてて良かった
2)バックアップ用の余裕のある別ドライブ入れてて良かった
この2つはやってて良かったです。
1)はインストール後不要になるのでUSBを初期化してしまう場合もあります。データを初期化せずにそのまま置いといてよかったです。
2)はPCの基本といえば基本です。デスクトップの場合ケースサイズに余裕があるので別ドライブを増設したほうが良いです。Backupアプリで自動バックアップをONにして、大事なデータは定期的にその別ドライブにバックアップされるよう動かしておけば安心です。外付けよりも速度が速いので私は内蔵ドライブに自動バックアップしてます。
あまり役に立たない事
1)Linuxの救済目的としてWindowsを入れておくこと
Windowsでどうしてもやりたい事があるのであればデュアルブートは意味があるでしょう。ただ、Linuxをメインで使う場合の救済目的としてのWindowsはあまり意味がないかなと思います。復旧目的やデータ救出なら、Windowsを起動するよりUbuntuのLiveUSBの方が圧倒的に早くて便利からです。
理由のひとつとして、Windowsはデフォルトだとext4が読めないというのがあります。なのでext4を読み書きできるソフトをインストールして作業するわけです。そういうことをいちいちするよりも、とっととLiveUSBのLinuxで起動して作業した方が早いです。
今回ピンチがあったので復旧作業に別ドライブに入れてあるWindowsも使おうかとも思いましたが、結局Windowsの助けを借りずに復旧しました。
なので「少なくともこのマシンでWindowsを使うことはもうないかな・・・」と思ったのでWindowsのNTFS領域は綺麗サッパリext4に初期化・フォーマットしました。
まとめ
以上、
(1)どうにならないエラーがある。
(2)その場合にやるべきこと。
(3)そうなった時のためにあらかじめやっておくこと
という例を書きました。普通なら上記に示した方法で復旧できるはずですが、できなくて初期化&再インストールせざるを得ない場合もある、ということで参考になれば幸いです。
この記事が気に入ったらサポートをしてみませんか?