最近、コンピュータに新しいディスクを追加しました。無料のSATAスロットがあったので、他は変更されませんでした。ディスクを挿入して数日後、コンピュータが起動を停止しました。
私はDebian Bookワームを使っています。ルートパーティションを含む複数の仮想パーティションを持つLVMを含む暗号化されたパーティションがあります。
通常、Grubの後はパスワードの入力を求められますsda2_crypt
。 Grubが通過した後、コンピュータがしばらく停止し、BusyBoxが特定のコマンドがタイムアウトしたことを知らせるようです。脱出しようとしましたがsudo grub-mkconfig
役に立ちませんでした。
最新のカーネルだけが起動に失敗することがわかりました。古いカーネルを起動しようとすると、まだ機能します。
答え1
2番目のディスクを追加すると、ドライブ文字が変更されたことがわかりました。ルートファイルシステムを含むディスク/dev/sda
はだったが/dev/sdb
。これにより、システムはルートパーティションのパスワードを復号化できません。
Grubは大丈夫です。カーネルを正しくロードします。したがって、Grubに対してシステムを回復しようとするすべての試みは失敗するはずです。
BusyBoxではなくシェルでエラーが発生しましたinitramfs
。起動プロセスを続行できるようにエラーを修正できます。この回答には、これを行う方法を説明する専用セクションがあります。
その他のセクションでは、問題を恒久的に解決する方法について説明します。
この問題を一時的に解決する方法initramfs
実は本当に簡単です。この回答詳細はありますが、私の場合はLVM関連の手順は必要ありませんでした。
システムが起動し続けない理由は、ルートファイルシステムを含むデバイスが見つからないためです。私が知っている限り、それはです/dev/mapper/ssd-root
。これを表示するには、暗号化されたパーティションを手動で開く必要があります。
cryptsetup open /dev/sdb2 some-arbitrary-mapname
その後、終了する必要がありますinitramfs
。
exit
もちろん、ルートファイルシステムを含むデバイスを使用する必要があります。マップ名にはどの名前でも使用できます。一般的な名前を使用することもできますが、sdb2_crypt
たとえば、独自の説明名を使用することもできますssd500-crypt
。
たとえば、予想されるマップ名が使用されていない場合は、しばらくしsda2_crypt
てからしばらくしてからパスワードの再入力を求められます。予想される地図名は で確認できます/etc/crypttab
。
この問題を永久に解決する方法
この問題を永久に解決するにはファイルシステムの初期化更新する必要があります。著者は次の一連のステップを使用しました。
- この問題を一時的に解決します
initramfs
。 - 地図名を
/etc/crypttab
新しい名前に変更します。何でも可能なので、次の自己説明値を使用できますssd500-crypt
。 sudo update-initramfs -u
そして再起動- 今回も問題が一時的に解決されました
initramfs
。ただし、今回はマップ名が(2)段階で使用した名前でなければなりません。 sudo update-initramfs -u
そして再起動
すでに新しい地図名を選択している場合は、手順(1)を省略できます。