老朽化したコンピュータのPSUが不安定で、交換したばかりです。コンピュータを再組み立てすると、起動しなくなり、「ルート待機を放棄しました」というメッセージが表示されます。私はシェルに投げられ、私のすべてのハードドライブの名前が付けられたか、後で指定されていて、/dev/sdf
そのパーティションがすべてそこにあることがわかりました。もちろん、同じように珍しいデバイス名もありました。
これで、ルートディレクトリはsda5ではなく/dev/sdf5です。
私のgrubブートローダは、ルートデバイスが開いていると仮定しています/dev/sda5
。
私はシェルに投げられ、cat /dev/sda
答えは「媒体が見つかりませんでした」。この事実は、私のカードリーダーのスロット数(5)が「低い」デバイス名(sda..sde)の数に対応するという事実とともに、このデバイスが実際に私のカードリーダーであると信じさせます。
だからカードリーダーのプラグを抜いたところ、システムが正常に起動しました。
私のパーティションのほとんどはラベル付けされており、そのラベルはfstabにリストされているので、ルートが見つかったら、残りの起動プロセスは問題になりません。ただし、ルートは grub 構成にリストされているため、/dev/sda5
正確なデバイス名が必要です。
汚れた修正
PSUを交換する前に、この問題は発生しませんでした。以前とは異なるUSBポートを使用している可能性がありますが、それ以外の(そして新しいPSU)以前の設定とは違いはありません。
だから私はカードリーダーを別のUSBポートに接続しました。
各種カーネルの修正
私のカーネルは3.16.7-ckt25 #4 SMP PREEMPT
ソースからコンパイルされたカーネルです。デフォルトのカーネル(3.16.0-4-amd64)から起動すると、この問題は発生しません。これがPREEMPTに関連しているかどうか疑われます。タイミングの問題だと思います。
質問
- USBカードリーダーデバイスに常に名前を付けるようにシステムに指示するにはどうすればよいですか?後ろにSATAハードドライブ?