私は長年の熱心なWindowsとMacのユーザーでした。最近、技術起業家と政府官僚の間の愛情が大きくなり、私はオープンソースの世界に加わりました。開始プロセスを把握するまで、移行は順調に行われました。私はこの問題で数日間苦労しました。私は完全に泣き始め、チームクックの懐に戻る前に、ここにいるスマートな人々に助けを求めなければならないと思いました。

背景

私のLinuxディストリビューションは、暗号化されたLVM(sda5_crypt)を持つ単一のパーティションに設定されています。ブートパーティションには2つのカーネルイメージ(4.19と5.9)を使用できます。sudo apt-get purge --auto-remove lvm2crypttabおよび/またはfstabファイルの実行中または使用中に、私のinitrdイメージが混乱している可能性があります。sudo update-initramfs -u.

大きな問題

GRUBがカーネル5.9をメモリにロードした後、initramfsシェルに入り、カーネルが検索するなど/dev/sddの操作を実行します。また、「メディアが見つかりません」などが表示されvgscanます。確かに!ディストリビューションがシェルから出ることができないため、これは奇妙です。pvscan/dev/sddsda5exit

試してみるソリューション

私は試しましたが、実際には成功しませんでした。一時的にroot=GRUBブートローダのパラメータを変更し、initrdイメージ(4.19)をinitrdイメージ(5.9)にコピーするなどの操作を実行します。おそらくここで幸いなことは、GRUBブートメニューからカーネル4.19イメージを選択したときにディスクのパスワードを正常に復号化し、ディストリビューションシェルで起動できたことです。しかし、カーネル4.19をロードしましたが、一体どのようにupdate-initramfsカーネル5.9を使用する必要がありますか? !トワイライトゾーン(Twilight Zone)のような感じでした。

Linuxベテランのアドバイスをいただきありがとうございます!

答え1

私は成功した!問題を解決する手順は次のとおりです。これが将来同じ問題に直面している誰かに役立つことを願っています。

  • 私の場合のように、他のカーネルをインストールするなど、システムにアクセスする他の方法がある場合は必要ありません chroot。 GRUBメニューからカーネルを選択してシステムにログインするだけです。ターミナルシェルに入ることができます。

  • すべてのブロックデバイスのUUIDを取得するために使用されますsudo blkid。ファイルを開き、/etc/fstabカーネル名記述子(つまり/ dev / sda1)をUUIDに置き換えます。カーネル名記述子は永続的ではないので、これは重要です。また、MBR/GPTパーティションタイプ(引用する)。すべてが話され、完了したら、次のようになります。

UUID=XXXXXX-XXXXXX-XXXXX-XXXX-XXXXXX /      ext4    errors=remount-ro 0    $

UUID=XXXXXX-XXXXXX-XXXXX-XXXX-XXXXXX /boot  ext2    defaults          0    $

UUID=XXXXXX-XXXXXX-XXXXX-XXXX-XXXXXX none   swap    sw                0    $
  • ここで/etc/crypttabファイルを開きます。これには、暗号化デバイスごとに1つの項目のみが必要です。最初の列はdevice mapper's name引用する)UUIDであってはなりません(fstabファイルのように)。blkidプリント内のデバイスマッパーの名前を見つけることができます。一般的にとしてリストされます/dev/mapper/sda5_crypt。ただし、crypttabファイルのUUIDは次のようになります。いいえ、同じです。blkidオンラインで見つかったようですdev/mapper/sda5_crypt。代わりにblkid使用する必要がある正しいUUIDは、crypttabファイル行にあります/dev/sda5。結局、次のような結果が得られます。

sda5_crypt UUID=XXXXXX-XXXXXX-XXXXX-XXXX-XXXXXX none luks,discard
  • 次に、ブートディレクトリ(/ bootなど)に移動します。 vmlinuzファイル(ievmlinuz-5.9.0-0.bpo.5-amd64)をバックアップします。

  • これで、特定のカーネルのvmlinuzファイルを更新するコマンドを実行する必要があります(引用する)。 u は「更新」を意味します。 v は「Verbose」(すべてをリアルタイムで印刷)を表します。 kは、initramfsイメージを構築する特定の「カーネル」バージョンを表します。注文する:

sudo update-initramfs -uvk 5.9.0-0.bpo.5-amd64
  • それでは長い騒音を探してみてください。画像作成時にエラーがないことを確認してください。そうでない場合は、システムを再起動することをお勧めします!

関連情報