web-dev-qa-db-ja.com

カーネルパニック-同期していません:VFS:ルートfsを不明にマウントできません-bloc(8,2)

私はスペイン語を話しますので、英語が下手です。

私はSlackwareカーネルをコンパイルする方法を学んでいるので、linux-3.2.7.ta​​r.bz2を http://www.kernel.org からダウンロードしました。

条件:

  • Vmware仮想マシンにインストールされたSlackware。
  • ホストOSウィンドウ7。
  • Slackwareルートファイルシステム:ext4
  • Slackwareの古いカーネル:2.6.37.6
  • Slackwareパーティション:スワッピング用のsda1、カーネル用のsda2。

基本的に、私は次の手順に従いました。

#cd /usr/src
#tar jvxf linux-3.2.2.tar.bz2
#mv /usr/src/linux /usr/src/linux.old 
#ln -s /usr/src/linux-3.2.2 /usr/src/linux
#cd linux-3.2.2
#make mrproper
#cp /usr/src/linux-2.6.37.6/.config /usr/src/linux-3.2.2/.config
#make menuconfig

代替構成ファイルをロードします。configINCLUDED(OPTION Y):

ATA/ATAPI/MFM/RLL support (DEPRECATED) (at Device drivers)
SCSI generic support (at Device drivers)
second extended support (at filesystems)
ext3 journaling (all)
ext4 (all)
ext4 (at filesystems)
JBD (ext4) debuggin support
JBD2 (ext4) debugging support
ReiserFS support
XFS filesystem support
"compile kernel with debug info" (at kernel hacking)

make dep
make clean
make bzImage
make modules
make modules_install
mv /boot/System.map /boot/System.map.old
cp /usr/src/linux/System.map /boot/System.map-3.2.2
ln -s /boot/System.map-3.2.2 /boot/System.map
mv /boot/vmlinuz /boot/vmlinuz.old
cp /usr/src/linux/Arch/i386/boot/bzImage /boot/vmlinuz-3.2.2
ln -s /boot/vmlinuz-3.2.2 /boot/vmlinuz
nano -w /etc/lilo.conf

次の行を追加しました:

image=/boot/vmlinuz.old
label = oldSlack
root = /dev/sda2
read-only

#lilo
#lilo -q
#shutdown -r now

カーネル3.2.2が起動しているとき、次の表示を停止します。

VFS: Cannot open root device "802" or unknown-block(8,2)
Please append a correct "root=" boot option
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-bloc(8,2)

カーネルを何度も再コンパイルしたので、このメッセージは嫌いです。何時間もコンパイルした後、常にこのメッセージが表示されます。 :(

誰かが私が悪いことをしているのか、なぜそのエラーなのかを理解するのを手伝ってくれますか?

1
adrian4aes

注:私はLinux3に精通していません。

私は今推測することができます、間違ったパスはliloコマンドを実行している間にこの問題を引き起こします。 Liloはmbrを別の場所にインストールしました。

1番目:カーネルが起動を開始しなかったと思うので、カーネルの再コンパイルを停止します。

2番目:ブートファイルのパスと、liloを実行するときのパスを再度確認します。 lilo -rスイッチについて読む

 system=sda2
 mbr=sda
 lilo -F -r /mnt/$system -b /dev/$mbr -C /etc/lilo.conf

出力を表示:

/sbin/sfdisk -d /dev/sda
ls -all /boot/
lilo
dmesg

Lスイッチを使用することをお勧めします。

cp -L /usr/src/linux/System.map /boot/System.map-3.2.2
cp -L /usr/src/linux/Arch/i386/boot/bzImage /boot/vmlinuz-3.2.2

確かに、Linuxはボッティングしていますか?

0
okobaka