
kernel.orgからカーネルをダウンロード、設定、インストールしました。この新しいカーネルを初めて起動するとき、このエラー画面はルートデバイスがないか、間違って言及されていることを指すことがあります。しかし、明示的に言及しておらず、インストールスクリプトで言及しました。これがバグであれば、誰かを修正する方法を教えてもらえますか?
あるいは、原因が他のものである可能性がある場合は、それが何であるかを教えてください。
注:私はこのプロセスのすべてにVirtualBoxを使用しました。この実験中にラップトップを起動できないようにしたくありません。
メモ:
- Grubエントリは、このシステムで実行されている他のカーネルと同じで、他のカーネルがうまく機能するため、問題はありません。
- DEVTMPSは単に警告を生成します。プログラマは警告ではなくエラーにのみ興味があると思います。したがって、それが主な理由ではないことを願っています。
- TSCでエラーが発生したことを確認してみると、おそらくルートデバイスとは何の関係もないクロックモードでした。
- 繰り返しますが、動作している他のカーネル grub エントリが同じ ID を使用して正しく起動するため、UUID は問題になりません。
答え1
ルートファイルシステムにアクセスするために必要なドライバの1つがありません。 initramfsのコードはマウントするブロックデバイスを探していますが、失敗するため、問題はそのデバイスにアクセスすることです。 initramfsのコードは自分がアクセスできるコードだけを見ることができ、問題は必要なルートデバイスにアクセスできないため、より明確なメッセージを得ることができません。
make localmodconfig
カーネルソースディレクトリから実行して、現在使用中のすべてのドライバを含むカーネルを設定できます。より良い方法は、ディストリビューションのカーネルを使用するか(これを行わない唯一の一般的な理由は、ハードウェアが新すぎてサポートできないことです)、少なくともディストリビューションのカーネル構成を使用することです。 Ubuntuを使用しているので、次を見つけることができます。更新されたプリコンパイルされたカーネル必要に応じて。
独自のカーネルを設定したい場合は、ブートに含める必要があるもののチェックリストがあります。一般的な要件のみをリストしましたが、これは完全なリストではありません。
SCSI
、BLK_DEV_SD
(→scsi_mod
、sd_mod
)は、ほとんどのハードドライブおよび類似デバイス(SCSIまたはATAを含むSCSIに似たコマンドセットを含む)です。- ハードディスクコントローラの右側
ATA_xxx
またはPATA_xxx
その他(たとえば、およびIntel PCチップセットのAHCIコントローラの場合SATA_xxx
)SCSI_xxx
ata_generic
libata
ahci
MD
、該当する場合はBLK_DEV_MD
正しいRAIDモード(→md_mod
とはいraid1
)MD
、BLK_DEV_DM
(→md_mod
、dm_mod
)はLVMの場合です。MD
、BLK_DEV_DM
およびdm -DM_CRYPT
cryptに必要な暗号化アルゴリズム(→md_mod
、たとえば、など)dm_mod
dm_crypt
aes_generic
sha256_generic
cbc
EXT4_FS
(→ext4
)または他のファイルシステム。
これはカーネルに組み込まれているか、モジュールにコンパイルできます。モジュールにコンパイルする場合は、initramfsにモジュールを含めることを忘れないでください。使用する場合Ubuntuのカーネルビルドインフラ、カーネルパッケージをインストールすると、すべてが自動的に行われます。
答え2
それを発見! ! !これは私のハードディスクコントローラ用のドライバです。コンパイル前にカーネルを設定したときにSATA AHCIは追加されませんでした。今追加、再コンパイル、ビオラを実行します!新しくインストールされたカーネルが起動します。 :)