私は何時間も問題に悩まされてきました:
Ubuntu を 15.04 から 15.10 にアップグレードした後、15.10 から 16.04 にアップグレードしましたが、新しいカーネルで起動できません。2 回目のアップグレード後、カーネル 4.4.0-36 と 3.16.0-33 が残っています (4.2.x の痕跡はありません)。このことから、3.16.0-33 を実行したまま 15.10 から 16.04 にアップグレードしたのではないかと考えられます。これが問題の原因かもしれません。
起動時 (4.4.0-36) に、「警告! /dev/mapper/ubuntu--vg-root が存在しません。シェルにドロップします!」というメッセージが表示されます。
3.16.0-33 で起動すると問題なく動作します。
私が試したこと:
- カーネル (4.4.0-36) を再インストールしました。変化なし。
- busybox で「vgchange -ay」と入力しようとしましたが、うまくいきませんでした。キーボードが busybox で機能しないのです。
- 4.4.0-38をインストールしました。結果は同じです。
- 指示に従おうとするhttp://pifuge.com/ubuntu/V0Wn-cant-find-lvm-root-dropped-back-to-initramfsただし、ファイル /usr/share/initramfs-tools/scripts/local-top/lvm2 には、何かを追加できる「modprobe -q」が含まれていません。
ご協力いただければ幸いです。
ワーナー
さらに詳しい情報:
- LVM2 を実行しています。(当然ですが) インストールされています。
- マルチブートなし。Ubuntu のみ。
- 暗号化なし(私の知る限り)
- Busybox は入力に反応しません。奇妙なことです。これは、どのように起動しても同じです (3.16.0-33 を実行する場合を除きます。その場合はシステムは正常に起動します)
- シェル (busybox) にドロップする前に、ルート ディレクトリを約 20 回マウントしようとします。出力は次のとおりです。
開始: ルート ファイル システムを実行しています... 開始: /scripts/local-top を実行しています... lvmetad はまだアクティブではありません。sysinit 中に直接アクティベーションを使用しています。論理ボリューム「ubuntu-vg/root」が見つかりませんでした。完了。 開始: /scripts/local-premount を実行しています... 完了 開始: ルート ファイル システムを待機しています... 開始: /scripts/local-block を実行しています... lvmetad はまだアクティブではありません。sysinit 中に直接アクティベーションを使用しています。論理ボリューム「ubuntu-vg/root」が見つかりませんでした。完了。
(最後のは20回繰り返されます)
ルート デバイスの待機をあきらめました。一般的な問題: ブート引数 (cat /proc/cmdline)、rootdelays の確認 (システムは十分に待機しましたか?)、root= の確認 (システムは間違ったデバイスを待機しましたか?)、モジュールの不足 (cat /proc/modules: ls /dev)、「警告! /dev/mapper/ubuntu--vg-root が存在しません。シェルにドロップします!」
答え1
- grub.cfg の「root=/dev/mapper/ubuntu--vg-root」を「root=UUID=XXXX」に変更します。
- mountroot の前のどこかに「vgchange -a y」を追加しました
基本的に、根本的な原因は、ルートがチェックされたときに「/dev/mapper/ubuntu--vg-root」が完全に準備ができていないことです。何らかの方法で、vgchange コマンドが lvm の更新をトリガーし、/dev/mapper に表示される可能性があります。より汎用的にするために、dev マッパー名を使用する代わりに「UUID」を使用することをお勧めします。
答え2
最近、暗号化された lvm にルートを持つ 16.04 Ubuntu Server をインストールしました。カーネル 4.4.0-34 では問題なく起動しましたが、4.4.0-36 では同じ問題が発生しました。lvmetad に関するメッセージが繰り返し表示され、シェルに切り替わります。回避策として、4.4.0-34 をデフォルトの起動オプションとして宣言し、自動更新をオフにしました。そのため、4.4.0-34 をインストールすると、4.4 カーネルが機能するようになるかもしれません。長期的な解決策はまだ見つかっていません。