はじめに
この文章の内容は、筆者が所属している会社・団体とは一切関わりがありません。いわゆる「自主的な研究の成果の発表」というものです。
前提は「GhostBSDが正常でない状態になってしまった時に、正常な状態に戻したい」です。下に行けば下に行くほど正常な状態に戻る確率が上がるのではないかと思います。が、もちろん、ただでは確率は上がりません。対価が要求されます。(時間とかデータとかね。)
また、「正常でない状態」というのにもいろいろあると思います。なので、ここに書いてある方法で必ず正常な状態に戻るとは保証できませんので、あしからず。
(なにも考えずに)再起動
流石に「なにも考えずに」再起動させることはできませんので、たまたまそうなってしまった場合が該当するかと。例えば、GhostBSDの起動中、コンソール画面に文字が流れている途中で、いきなり再起動が掛かることがたまーにあります。そのまま放っておくとGhostBSDが何事もなく起動しますので、よく分かりません。
とりあえず、こびとさんに感謝しておきましょうか。
お祈りしてから再起動
一度電源を切って、お祈り(宗派不問です)してから再起動です。が、残念ながら、これでうまくいったことがある、と自信を持っては言い切れません。まあ、私のこんなちっぽけな願いをいちいち聞くほど神さまも暇ではないぞ、と。
もしうまくいったら、神さまに感謝しましょう。
ただ、この方法を選んでしまうと、ネットワークのチップ?がGhostBSD/FreeBSDが想定しない状態に初期化されてしまうことがあるらしく、次のWindowsを一度起動してから再起動をやらないといけなくなることがしばしば。
Windowsを一度起動してから再起動
デュアルブートにしているのであれば、一度Windowsを起動してから(電源を切らずにそのまま)GhostBSDを起動します。ネットワークの状況がおかしい時(例えばDHCPが解決できない時)には、これが有効な場合があります。
たぶん、デュアルブートのGhostBSDでない方のOSであれば何でも良くて、Windowsである必要はないような気がします。(ただし、NomadBSDはダメ。GhostBSDと同じ状況になります。はい、経験者です。おそらくFreeBSDでもダメなのではないでしょうか1。おそらくデバイスドライバの問題で、デバイスドライバはNomadBSD、GhostBSD、FreeBSDで同じでしょうから。)
パッケージのアップデートをしてみる
これはGhostBSDが特にX関係でおかしくなった時に「そう言えばデュアルブートでWindowsを起動したときにアップデートが掛かっていたな」と思い当たるのであれば、試してみる価値のある方法です。
pkg update
pkg upgrade
たぶんsudoを付けて実行しないと権限がないと怒られると思いますが、そのままコピーする人がいそうなので、その辺は理解した上で使ってほしいな、と。あとpkg update
は余計な気もしないでもないですが、やっておいて悪くはないでしょう。
これでうまく行ったことが一度あるような、ないような、、、
パッケージを強制的にアップデートしてみる
パッケージのアップデートをしてみるでうまく行かなかったら、次に試すべきものはこれです。pkg update、pkg upgradeのどちらも-fオプションがあります。全部入れ直ししてくれますので時間は掛かりますが、それ以外に上以上のリスクはないと思いますから。
pkg update -f
pkg upgrade -f
sudoについては上と同じです。
これでうまく行ったことが、たしか一度はあると思います。
データをバックアップしてから再インストール
上に書いてある方法をすべて試してもダメなら、NomadBSDの出番です。条件が合うのならGhostBSDのデータ救出法 - もしくは、痛い目に会って学ぶzfsに書いてある方法でGhostBSDのデータを救出/バックアップします。
そして再インストールです。インストールについては、例えばFreeBSD(にしようかと思ったがそこまで漢(おとこ)ではないので実際はGhostBSD)をインストールしてからPostgreSQLのINSTALL日本語版を作成するまで(中編)を参照してください。
データをバックアップせずに再インストール
これが最後の手段です。喜んで選ぶものではないですが、「GhostBSDのzfsのメタな情報が壊れたらしく、NomadBSDからGhostBSDのzfsをマウントしようとしたら、NomadBSDが落ちる」という真っ青な状況になった時には、(バックアップを取っておかなかった自分の愚かさを呪いつつ2)これを選びました。この方法を選べば、当然、GhostBSD上でダウンロードしたり自分で作ったりしたデータは失われます。
インストールについては、上と同じですから繰り返しません。