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


27

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

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

コンピューターを再起動した後、grubメニューに移動してUbuntuを選択しました。その直後、私はこのエラーを受け取りました:

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

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

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


ash consoleまたはbash console?打ち間違え?
Thufir

回答:


12

今日、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を使用しています(前述のサブボリューム名から推測されたかもしれませんが)

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

さて、あなたは可能性が再起動し、エラーメッセージが消えてなければなりません。しかし、私の場合、次のエラーメッセージ[1]は上記の根本的な問題を指摘していたので、その間、...

手順3:/ etc / crypttabが正しい破損していないパーティションを指していることを確認します

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

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

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

  • パーティションの使用を停止してください: swapoff -a
  • 再フォーマット:(mkfs.ext2 /dev/sdX2これは、特にGPTパーティション[2]を使用する場合に重要です。前述の不具合を解消します。sfdiskリストにタイプ「スワップ」として表示されるパーティションの原因としては、誤って使用したことがあります。mkswap /dev/sdX2最初にパーティションを設定するとき。)
  • チュートリアルに従ってパーティションを暗号化し、パスフレーズを設定します。その後、cryptsetupを使用して開き、今復号されたパーティションを適切に再フォーマットします(次のようなものを使用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 /。」 。は存在しません。」。(update-initramfsパーティションの欠落についても不満を言ったことに注意する必要があります。)

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


2

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のコピーを作成できました。


mount /dev/mapper/data /tmp/data私は得るunknown filesystem type LVM2_member
フランチェスコ・ボイ

2

Failed to connect to lvmetadエラーはすることができ、ディスクが100%いっぱいであるために起こります。これを修正するには、USBサムドライブから起動し、ディスク全体をマウントし、不要なファイルを削除して、再起動します。ブートシステムも再インストールしました。それが必要かどうかはわかりません。

これらは私のために問題を解決したコマンドで、USBドライブから起動した後にターミナルから実行します。フルドライブ暗号化を備えたUbuntu 18.04があります。YMMV。

  • ドライブをマウントします。
sudo cryptsetup luksOpen /dev/sda5 sda5_crypt
sudo vgscan --mknodes
sudo vgchange -ay
sudo mount /dev/mapper/ubuntu--vg-root /mnt
  • 不要なファイルを削除(cd /mnt/home/your_username... rm ...
  • (必要ではない場合があります)ブートシステムを再インストールします。
cd /mnt/
sudo mount /dev/sda1 boot
for d in dev sys proc run; do sudo mount --bind /$d $d; done
sudo vi etc/crypttab # make sure first line uses "sda5_crypt"
sudo chroot .
update-grub
grub-install /dev/sda
update-initramfs -u -k all
exit
sudo umount dev sys proc run boot
  • アンマウント:
cd /
sudo umount /mnt
sudo vgchange -an
sudo cryptsetup close sda5_crypt
  • リブート:
sudo reboot

0

USBなどからシステムを起動する必要はありません。同じ問題と理由がありました-ディスクが100%満杯だからです。次の解決策が私を助けてくれました。

1)システムを再起動します。BIOSで、Shiftキーをすばやく押し続けると、GNU GRUBメニューが表示されます。

2)「e」を押してUbuntuの設定を編集した後。では、この問題、あなたは画面を見つけることができます。次のように、「linux *」のような文字列を探します。

linux     /boot/vmlinuz-4-4.0-22-generic root=UUID=43ad24d3-e\
c5b-44ee-a099-a88eb9520989 ro  quiet splash $vt_handoff

削除:

ro  quiet splash $vt_handoff

追加します:

init=/bin/bash

準備ができたら、CTRL + xまたはF10を押して起動します。

3)ルートパーティションは読み取り専用でマウントされます。読み書き可能にマウントするには、次のコマンドを入力します

mount -o remount,rw /

4)何が悪かったのかを調べる:

df -hT
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.