web-dev-qa-db-ja.com

Ubuntuはlvmetadのために起動しません

このチュートリアルに従って、Ubuntu 15.10をインストールしました。

https://thesimplecomputer.info/full-disk-encryption-with-ubunt

コンピューターを再起動した後、grubメニューに移動してUbuntuを選択しました。その後まもなく、次のエラーが表示されました。

/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.

これらのメッセージは、毎秒黒い画面に追加され続けます。しばらくすると、initramfs ashコンソールにアクセスできます。

私は何を間違えていますか?

27
Mac Dre

今日、Ubuntu 15.10を実行しているラップトップで同じエラーが発生しましたが、常に最新の状態を保ちましたが、現在のカーネルをテストするまで1か月間再起動しませんでした(つまり、最近の変更があった可能性があります)。

とにかく、私の場合、根本的な原因は実際には上記のチュートリアルに従う際のセットアップの不具合のために「欠落した」スワップパーティションであることがわかりました。これが当てはまる場合、および/または実際にlvmを使用している場合は、以下のステップ2をスキップできる場合があります。もちろん、システム(またはセカンダリデータ)パーティションが破損しているか見つからない場合にも、上記のエラーメッセージが表示される場合があります(手順3を参照)。

ステップ1:システムをマウントし、前述のチュートリアルに従ってパーティションをブートします

(ext2)ブートパーティションが/ dev/sdX1、(暗号化された)スワップパーティションが/ dev/sdX2、(暗号化された)データパーティションが/ dev/sdX3であり、cryptsetup luksOpen /dev/sdX3 dataを使用して後者を正常に復号化したとします。マウント:mkdir /tmp/data; mount /dev/mapper/data /tmp/data

チュートリアルのバインドマウントに注意し、システムパーティションの/ bootディレクトリからアクセスできるように/ dev/sdX1を必ずマウントしてください(これはupdate-initramfsを実行する必要があるため重要です)。

以下では、chroot /tmp/data/@ubuntu1510(またはマウントされたシステムパーティションが呼び出されるもの)が正常に実行されたと仮定しています。

ステップ2:上記のエラーメッセージを取り除きます

(前述のサブボリューム名から推測できるように)btrfsを使用しているため、機能を損なうことなくlvmetadを次のように簡単に無効にできます。

  • /etc/lvm/lvm.confを編集し、use_lvmetad=1use_lvmetad=0に変更します
  • update-initramfs -k $(uname -r) -u ; syncを実行します

ここで、could再起動すると、エラーメッセージが消えます。 しかし、私の場合、、次のエラーメッセージ[1]は上記の根本的な問題を指摘していたので、私たちはそれに取り組んでいますが、.. 。

ステップ3:/ etc/crypttabが正しい損傷のないパーティションを指していることを確認してください

まず、sfdisk --list /dev/sdXを実行し、暗号化されたスワップパーティション(私の場合、/ dev/sdX2)が実際にnotが(通常の)スワップとして表示されることを確認しますパーティション。 (私の場合のように)これが行われた場合、これは、たとえばレスキューディスクを使用して起動すると、その利用可能なスワップパーティションが使用され、cryptsetup関連のメタデータ(キーフレーズとUUID)が上書きされる可能性が高いことを意味します。

次に、/ dev/disk/by-uuidを見て、暗号化されたパーティションのそれぞれのUUIDを/ etc/crypttabに含まれているUUIDと比較します。この時点での私の推測:あなたの場合、不一致があります。

専用の暗号化されたスワップパーティションが/ dev/disk/by-uuidの下に見つからない場合、それは現在レスキューシステムで使用されているためです。その場合は、次を実行します。

  • パーティションの使用を必ず停止してください:swapoff -a
  • 再フォーマット:mkfs.ext2 /dev/sdX2(これはcrucialです。特にGPTパーティション[2]を使用する場合は、前述のグリッチを解消します。 sfdiskリストに「スワップ」タイプとして表示されるパーティションは、最初にパーティションを設定するときに誤ってmkswap /dev/sdX2を使用したということです)
  • チュートリアルに従ってパーティションを暗号化し、パスフレーズを設定します。その後、cryptsetupを使用して開き、now-decryptedパーティションを適切に再フォーマットします(mkswap /dev/mapper/swapなどを使用)
  • sfdisk --list /dev/sdXがスワップパーティションをそのように識別しないようにします(その場合、最後の手順を繰り返します)

ここで、/ etc/crypttabにリストされているUUIDが、各暗号化パーティションの/ dev/disk/by-uuidの下に表示されている行にあることを再確認します。

繰り返しますが、変更を永続的にするには、上記のようにupdate-initramfsを実行する必要があります。

満足したら、すべてがディスクに書き込まれていることを確認し、システムを再起動します(すべてを手動でアンマウントする必要はありません)。その後、問題はなくなるはずです。

[1]多分私は最初に注意を払わなかったか、最初のエラーメッセージが2番目のメッセージを「マスク」しました。つまり、(use_lvmetad=0を使用して)再起動した後にのみ、「すべての物理ボリュームを読み込んでいます。これにはしばらく時間がかかる場合があります...」回)、その後に「ALERT!/ dev/disk/by-uuid/... does not exist。」が続きます。 (update-initramfsもパーティションの欠落について不平を言っていることに注意してください。)

[2]それらのタイプはコンテンツの分析から差し引かれ、最終的にフラグ/バイトで指定されないためです(たとえば、[g]partedを使用してGPTファイルシステムタイプを変更する簡単な方法はありません)。

12
Markus Ueberall

Ubuntu 18.04.1 LTSはこちら。数か月間無人で動作していましたが、戻ったときにキーボードが認識されていませんでした。再起動すると、「lvmetadに接続できません」というメッセージと、「UEFI dbリスト」を取得できないことについての詳細が表示されました。

ディスク暗号化なしでインストールしました。

UEFIコンピューターへの最初のインストールであるため、UEFIメッセージが心配でした。そのため、経験がなく、有用性についてまだ率直に知らされていません。私の問題は、「/」、ルート、ボリュームになるものに「lvm」を使用したという事実によってさらに悪化しました。 (実際、そもそもどうやってそれを成し遂げたか忘れていました!ねえ。私は年寄りです。)

ただし、マシンが再起動しない場合、解決策を検索して決定的なものは見つかりませんでしたが、a)EFIパーティションが1つのサイトで推奨される500MBよりも小さく、b)配置した別の/ boot /パーティションに気づきましたおそらく無関係で未使用だったからです。無人アップグレードが、おそらく、割り当てられたスペースを何かで満たす可能性があると考えました。

私は再インストールすることにしました-それは機能し、私の/ home /ディレクトリ構造を無傷のままにしました。/etc /をチェックしていませんが、事前に両方のコピーを作成していたので[1]、後でチェックできます。/etc /は本当に小さいです。

また、削除したEFIと/ boot /のパーティションを削除し、単一の大きなEFIパーティション(> 750MB)にまとめました。

今はリブートしますが、1つのエラーメッセージが点滅して速すぎて読めません。また、Linuxイメージのブート「メニュー」を提供することもありません。代わりにUbuntuを直接ブートします。私が思うに、これに対処するために、まだやるべきことがあります。しかし、少なくとも私のファイルは戻ってきました。

[1] UbuntuのインストールをUSBスティックから起動し、Ubuntuを「試用」することを選択しました。これにより、デスクトップから「インストール」を選択する前に、etcやhomeのコピーを作成できました。

1
quagmire