私のラップトップにはWindows10とManjaroがあり、すべて問題ありませんでした。昨日、別のパーティションにKali Linuxをインストールしました。正しくインストールされ、正常に動作します。しかし、問題は、マンジャロを起動したいときです。 grubメニューでManjaroを選択しますが、これが表示される画面です。
そしてこれはエラーです:
unknown-block(0 0)にルートfsをマウントできないvfsを同期できない
どうすれば問題を解決できますか?
VFS: unable to mount root fs on unknown-block(0 0)
は、カーネルがルートファイルシステムをマウントできなかったことを意味します。これには2つの一般的な原因があります。
カーネルはデバイスのファイルシステムをサポートしていません。独自のカーネルをコンパイルした場合、これは通常、ファイルシステムドライバーをカーネルのネイティブ部分ではなくモジュールとしてビルドするように指定したためです。ディストリビューションのカーネルを使用している場合、これは通常、ルートファイルシステムにエキゾチックなフォーマットを選択したためです。どちらの場合も、それを行わないでください。
カーネルに渡されたルートデバイスの名前が間違っています。これは修正が難しい場合があります。私が見つけた最良の方法は、ブートローダーからカーネルコマンドラインを変更し、root=
パラメータは、機能するものが見つかるまで次のようになります。
私の問題である第3の原因があります。
通常、各grubメニュー項目には、「linux ...」行と「initrd ....」行があります。
/ bootのスペースが足りなくなったため、initrd ....ファイルを削除し、別のカーネルバージョンに対してupdate-initramfsを実行しましたが、適切なエントリを更新するupdate-grubの実行を怠っていました。
ブートシーケンス中にブートメニューに手動で行を追加してこれを修復し、ログイン後にそれを永続化してupdate-grubを実行できるようにしました。
カーネルの更新後も同じ問題が発生しました。関連するISOまたはCD/DVDディスクをマウントして、レスキューを実行してください。たとえば、CentOS7 DVDをマウントしてこれを実行します。
mount --bind /proc /mnt/sysimage/proc
mount --bind /dev /mnt/sysimage/dev
mount --bind /sys /mnt/sysimage/sys
chroot /mnt/sysimage
/ henから/ bootから最後のinitramfsを見つけて再生成します。この場合もそうです。
dracut -f /boot/initramfs-2.6.32-754.14.2.el6.x86_64.img initramfs-2.6.32-754.14.2.el6.x86_64
再起動後、すべてがワインで機能します。
この種のカーネルパニックを引き起こす可能性のあるものはさまざまです。 grub2を使用しているので、grub Shellコマンドを手動で実行することを強くお勧めします(常に/boot/grub/grub.cfgファイルのコマンドを参照できます)通常、次のようなコマンドがあります。
set prefix=...
set root=...
# you can test if values above are set correctly by simply run `ls` here
# and see whether errors show up
linux /...
initrd /...
上記のコマンドを1つずつ実行し、何か問題が発生した場合は、返されたエラーメッセージからシステムの問題の手がかりが得られます。次に、エラーメッセージをグーグルして解決策を見つけます。
どうやらこれは、十分なメモリを割り当てていない場合にも発生する可能性がありますVM同様に。32GBではなく320MBにメモリを設定していることがわかりました。