Debian initramfsプロンプトが表示され起動しない

## 前文
[8.7. 起動しなくなってしまったシステムの回復](https://www.debian.org/releases/jessie/mips/ch08s07.html.ja "8.7. 起動しなくなってしまったシステムの回復")
> ことによると宇宙線がディスクに命中して /sbin/init の中のビットがちょっと弾きとばされてしまったのかもしれません。

面白いことを言っているつもりだろうが、トラブルに見舞われた人間としては笑えない。
対処法が分からず数年間放置していた DebianインストールデスクトップPC が起動しないトラブル、やっと解決したので備忘録として残す。

## 環境
| Debian | Kernel | ハードウェア名 |
| ---- | ---- | ---- |
| 7.11(wheezy) | 3.2.0-4-686-pae | i686 |
※ ファイルシステム（内蔵HDD）はLVM構成

## 症状
起動時に停止し進まない。ブートメニューは表示されるので、`rescue`モードを選択し起動しても`initramfs`プロンプトが表示され停止する。

## 対処法
`initramfs`プロンプトで以下の呪文を入力する。

```shell
vgchange -ay
exit
```

`vgchange -ay`でHDDを手動マウント。`exit`で抜けると初期化処理が再開され無事起動した。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/84926ff9-16d8-7f8d-bf45-e2567985fd15.jpeg" width=80%>

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/24aef715-9e58-ea21-74a3-77f1bff780b3.jpeg" width=80%>

参考URL：
[boot - Can't find LVM root dropped back to initramfs](https://askubuntu.com/questions/551446/cant-find-lvm-root-dropped-back-to-initramfs "boot - Can't find LVM root dropped back to initramfs - Ask Ubuntu")

分かってしまえば簡単。大山鳴動だったでござる。

## HDD不良の場合の対処法
HDDが不良で起動に失敗することもあり、その場合は`exit`で抜ければ自動でエラーチェックが始まるそうで、それで直る場合もあるらしい。または、手動で`fsck`をかけるとか。

[Linux が起動しないエラー_ intramfs という表示が出るとき](https://ultrabem-branch3.com/informatics/linux/error_initramfs "Linux が起動しないエラー_ intramfs という表示が出るとき")
[Ubuntuが起動できずBusyBoxが表示された時の対処法 - Qiita](https://qiita.com/takanemu/items/911f1943ecaf764e973d "Ubuntuが起動できずBusyBoxが表示された時の対処法 - Qiita")

自分の場合は原因が異なったが。

## 原因
そもそもおかしいのが、`ALERT! 〇〇〇 does not exist.`で示される`uuid`と、`blkid`で表示される`uuid`が食い違っていること。それが根本原因で、だから手動でマウントすれば起動する、ということらしい。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/6bcd701d-a2e7-9240-714e-a8ffd0a87a37.jpeg" width=80%>
しかし何故そんなことに。それこそが根本原因だよな。`対処法`項で挙げたURLに`bug`の文字があるし、システム側のバグですかねぇ。
いずれにしても、手動マウントで起動できても、再起動したらまた同じ問題が繰り返される。
根本的に治すには起動設定を編集する必要があるが、今回は見送り。怖くて触れないし。

## そもそも`initramfs` `BusyBox`って何？
以下参照。
[第384回　Initramfsのしくみ：Ubuntu Weekly Recipe｜gihyo.jp](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0384 "第384回　Initramfsのしくみ：Ubuntu Weekly Recipe｜gihyo.jp … 技術評論社")
> Ubuntuはカーネルを起動したあと，ルートファイルシステムをマウントするために「Initramfs」というイメージファイルを使用します。
> 
> ディスクの障害などによりルートファイルシステムをマウントできなくなったとき，「⁠BusyBoxなんたら」とかいうメッセージとともに「(initramfs)」と表示されることがあります。これはInitramfsの中のBusyBoxのシェルが起動している状態です。普通のシェルに比べると，機能的な制約はありますが，使い方はそれほど変わるわけではありませんので，障害の要因などを追求できます。これもInitramfsの使い方の1つですね。

[initramfsについて - Qiita](https://qiita.com/akachochin/items/d38b538fcabf9ff80531 "initramfsについて - Qiita")

[BusyBox - Wikipedia](https://ja.wikipedia.org/wiki/BusyBox "BusyBox - Wikipedia")

内部的な話でトラブルが発生しない限りは中々触れる機会が無い世界。勉強にはなる。

## LVMの憂鬱
問題の PC は古い自作機をファイル倉庫として再利用していた物。最悪起動しなくても、内蔵HDD を取り外し USB変換ケーブルで他の PC に接続しサルベージ、という手もある。
しかしファイルシステムは`LVM`構成（200G + 500G だったかな）。この場合はどうするの？
ぐぐれば情報は見つかるが……。うーん、よく分らん。実際にやってみないと覚えないってやつだろうね。

[LVM (LVM2) のイメージファイルをマウントする](https://blog.goo.ne.jp/halcali/e/155796f0777049ace0dcd4c8cb13f445 "LVM (LVM2) のイメージファイルをマウントする - 写真集")
[lvmのディスクイメージをmount](https://gunshot.hatenablog.com/entry/20080604/p1 "lvmのディスクイメージをmount - 間違いだらけの備忘録")

という経緯もあり、どうしたものかと長年放置していた次第。

## 余談
久しぶりに実機で Debian を触り新鮮だった。今は仮想マシンが主流、ガチャポンで Linux を含め自由自在な時代だけど。やはり実機はいいよ。面白い。