2018年10月16日火曜日

何もしてないのに仮想環境が壊れた(機械弱者)

 諸々の解析ソフトがWindows未対応なため、解析時にはVirtualBoxでUbuntu16.04を立ち上げて解析を行っている。しかしその仮想環境がある日突如立ち上がらなくなるということが過去たびたびあり、そのたびに仮想環境ごと削除して一から環境構築をすることにより消極的解決を行ってきた。
 そして本日、再び仮想環境が立ち上がらなくなった。また一から環境構築しようかとも思ったのだが、環境構築が面倒な解析ソフトが以前より増えていたため、再度一から環境構築をするのはあまりにも面倒に感じた。そのため、仮想環境が完全に破壊されたらそれはそれでいいや(鼻ホジ)くらいの気概で、仮想環境の再生に取り組んだ次第。バックアップさまさまですな。

 起動時ターミナルがこちら




 "Welcome to emergency mode!" がパーティの司会風に脳内再生されるので「なにがウェルカムじゃこの」という気分になった。
 'journalctl -xb'でログを見たところ、上の画像の頭に表示されているエラー2点に加えて、共有フォルダがマウントできないエラーが吐かれていた。そこでVirtualBoxの設定から共有フォルダの共有設定を全て削除したり戻したりしたが、該当エラーは消えなかったので一旦保留。

 "Failed to start load kernel modules"でググったところ、多くの人が"apt-get update"と"dpkg --configure -a"あたりのコマンドをしろと言っていたので、ひとまず実行して再起動したが変化なし。そのまま色々ググって見回っていたら、このサイトにこんな記述がされていた。

'Remember it's quite common to have to repeat the above commands in no specific order'

繰り返せと(笑)
 他にやれることがあるわけでもないので、上記サイトに書かれた通りひたすら4コマンドと再起動を繰り返した。(5, 6周くらい?) 途中、文字化けにより真偽は不明だが、" 'sudo apt-get autoremove'しろ"と言われてそうな時には'sudo apt-get autoremove'を実行し、"/var/lib/dpkg/lockをopenできない"と言ってそうな時には'sudo rm /var/lib/dpkg/lock'を実行した。
 また途中わけわからんタイミングでGUI起動して完全に文字化けした何かが表示されたことがあった。エスケープ押したら<♦♦>と<♦♦♦>の2択になったので、無難にNOっぽい2文字の方選択したらターミナルに戻ったけど、あれなんだったんやろ(ヤケになりすぎてスクショ撮り損ねた)

 さすがに飽きてきたななどと思った矢先の起動画面がこちら。



1行目消えた!まじで繰り返して消えんのかよ!

 次のエラーについてググってたらまたさっきの4コマンドのうちの一つが解決策として書かれていたので実行するなどしたところ



増えた(笑)

 その後、ググリ着いたこのサイトの記載通りにコマンド実行し、再起動した起動画面がこちら。



消えた~!しかし起動しない。「頭の2行のエラーによってemergency modeになっている」と思いこんでいたが、どうやらそうではないらしいということが判明する。
 残すは共有フォルダの問題しかない。"Welcome to emergency mode"でググってこのサイトに行きつき、vimで/etc/fstabを開いてみた。



 この時、共有フォルダ 'share' はVirtualBoxマネージャーから共有を外していたので、「shareについての記述があるのはおかしい!(決めつけ)」と判断し、行ごと削除して保存。そして一旦仮想環境をシャットダウンし、VirtualBoxマネージャーから再度共有フォルダに'share'を設定して、そして起動!


 ログイン画面出た!中身もそっくりそのまま残っていました。めでたしめでたし。


 さて、振り返ってみると、実は最後の共有フォルダの設定だけが問題だったのではないかという気がしてくる。そういわれてみると、正常にログインできていた頃も起動時に数行エラーを吐かれていた気がしないでもない。もう復活してしまったので試せないのだが、同じような使い方していれば定期的に仮想環境が壊れる()ので、次の機会には共有フォルダの件だけで解決するかどうかを試そうと思う。またその場合には何故共有フォルダの設定が狂ったのかが不明だが、これは先日のWindows自動更新によるものだと信じたい。

 決して!俺は!何もしていない!(機械弱者)

0 件のコメント:

コメントを投稿