それで、私はしばらくこれにいて、数日間答えを探し回っていました、そして助けを求める時が来たと思います。 VMWareFusionでUbuntu10.10を実行しており、3.2カーネルのコピーをダウンロードして、すべてのデフォルト設定でビルドしました。 installを呼び出した後、新しいカーネルを起動しようとすると、次のメッセージが表示されます。
[ 1.581916] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 1.582260] Pid: 1, comm: swapper/0 Not tainted 3.2.4 #1
[ 1.582444] Call Trace:
[ 1.582552] [<ffffffff815e7447>] panic+0x91/0x1a7
[ 1.582666] [<ffffffff815e75c5>] ? printk+0x68/0x6b
[ 1.582799] [<ffffffff81ad2152>] mount_block_root+0x1ea/0x29e
[ 1.582929] [<ffffffff81ad225c>] mount_root+0x56/0x5a
[ 1.583047] [<ffffffff81ad23d0>] prepare_namespace+0x170/0x1a9
[ 1.583178] [<ffffffff81ad16f7>] kernel_init+0x144/0x153
[ 1.583304] [<ffffffff815f45f4>] kernel_thread_helper+0x4/0x10
[ 1.583436] [<ffffffff81ad15b3>] ? parse_early_options+0x20/0x20
[ 1.583570] [<ffffffff815f45f0>] ? gs_change+0x13/0x13
これは、再起動するたびに表示されていました。 VMのハードドライブの種類を変更すると、少なくともGRUBで起動できますが、新しくコンパイルしたカーネルを読み込もうとすると、上記のメッセージが表示されます。古いカーネルは次のように機能します。以前に確認し、ルートが実行しているfsであるext4のサポートをコンパイルしました。また、「Sudo update-initramfs -c -k 3.2.4」を呼び出してinitrdファイルを生成しようとしましたが、無駄に。
コンパイルはかなり標準的だったと思います。
make menuconfig
make
make modules_install
make install
update-grub
reboot
一般的な手順でした。オプションに関しては、基本的にすべてをデフォルトにしました。それが適切な場合、私のfstabは次のようになります。
proc /proc proc nodev,noexec,nosuid 0 0
#UUID=c75eddd9-f4fa-49be-927b-8c2da7074135 / ext4 errors=remount-ro 0 1
/dev/sda1 / ext4 defaults 0 1
#UUID=5bc6915e-fdfa-479a-885f-ea03cb14f9cd none swap sw 0 0
/dev/sda5 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
UUIDと/ dev/sd *表記の両方で試してみました。それは非常にイライラするので、どんな助けやアドバイスも大歓迎です。
ありがとうございました。
カーネルに対応するinitrdを構築するのを忘れました。実行update-initramfs -c -k kernelversion
その後 update-grub
それを見つけて、grubメニューに追加します。
ルートパーティションのマウントに必要なすべてのドライバーを組み込みましたか?つまり、I/Oコントローラードライバー、ファイルシステムドライバーなどですか?
エラーはそれが何を意味するかを意味し、カーネルはルートファイルシステムをマウントできません。
正確に何をすべきか思い出せませんunknown block
beですが、I/Oコントローラードライバーが不足していることを意味していると思います。
ドライバーをカーネルに組み込む必要があることに注意してください。モジュールは機能しません(モジュールにアクセスするにはファイルシステムをマウントする必要があるため)。