QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4848|回复: 17

内核启动出错

[复制链接]
发表于 2006-9-20 09:37:45 | 显示全部楼层 |阅读模式
我用rh9,原来的内核是2.4.20,现在内核升到2.6.13,但是启动的时候出错,报错为
VFS: Cannot open root device "LABEL=/" or unknown block(0.0)
>; Please append a correct "root=" boot option
>; kernel panic: VFS: Unable to mount root fs unknown block(0,0)
我找了一些相关资料,发现有个跟我类似的问题的解决方法。



编译完后不启动,报以下错误:
VFS: Cannot open root device "LABEL=/" or 0.0
>; Please append a correct "root=" boot option
>; kernel panic: VFS: Unable to mount root fs
如果是上面的错误,请确认你把如下选项配置进kernel
(1) 如果/使用了EXT3 文件系统,在内核中要加入EXT3的支持
(2)如果是IDE的硬盘必须要IDE的驱动加载
(3)在block devices--RAM disk support 中选取 Initial disk(initrd) support,有时在mount / 之前
需要加载一些模块,这些modules 被做到一个镜像文件中--kernel-ver.img 中,这个文件位于/boot.举个例子,如果EXT3 的是以模块加载的话,在mount / 时就需要用到它,所以系统就在initrd.kernel-ver.img 中寻找它.
使用命令 mkinitrd initrd.kernel-ver.img kernel-ver 可以生成initrd.kernel-ver.img

注意:跟我遇到的问题有点不一样,我在后面多了个unknown block的语句,我按照上面的方法去试了几次,似乎不行,请教一下各位大虾,应该如何解决。
PS:  我使用的是默认的GRUB启动方法
发表于 2006-9-20 10:22:40 | 显示全部楼层
修改grub.conf文件?!
回复

使用道具 举报

 楼主| 发表于 2006-9-20 11:30:54 | 显示全部楼层
应该如何修改?我用df命令察看root挂载在/dev/sda0,在grub.conf中添加了2.6.13内核的启动项,把root=label/改成root=/dev/sda0,还是报相同错误
回复

使用道具 举报

发表于 2006-9-20 12:33:48 | 显示全部楼层
贴出以下信息:
1 硬盘分区信息(用fdisk查询)
2 根分区的文件系统格式(ext2?ext3?reiserfs?xfs?)
3 .config的文件系统部分
4 grub.conf的内容
回复

使用道具 举报

 楼主| 发表于 2006-9-20 15:47:47 | 显示全部楼层
硬盘分区信息

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2006-9-20 15:53:40 | 显示全部楼层
config中文件系统的内容:
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_JBD=m
CONFIG_JBD_DEBUG=y
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
# CONFIG_REISERFS_FS_XATTR is not set
CONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not set
# CONFIG_JFS_SECURITY is not set
CONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not set
CONFIG_FS_POSIX_ACL=y

#
# XFS support
#
# CONFIG_XFS_FS is not set
CONFIG_MINIX_FS=m
CONFIG_ROMFS_FS=m
CONFIG_INOTIFY=y
CONFIG_QUOTA=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
CONFIG_SYSFS=y
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
CONFIG_HFS_FS=m
# CONFIG_HFSPLUS_FS is not set
CONFIG_BEFS_FS=m
# CONFIG_BEFS_DEBUG is not set
CONFIG_BFS_FS=m
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
CONFIG_VXFS_FS=m
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set

#
# Network File Systems
#
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
# CONFIG_NFS_V4 is not set
CONFIG_NFS_DIRECTIO=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
# CONFIG_NFSD_V4 is not set
# CONFIG_NFSD_TCP is not set
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
# CONFIG_CIFS is not set
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
CONFIG_NCPFS_STRONG=y
CONFIG_NCPFS_NFS_NS=y
CONFIG_NCPFS_OS2_NS=y
CONFIG_NCPFS_SMALLDOS=y
CONFIG_NCPFS_NLS=y
CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
# CONFIG_CODA_FS_OLD_API is not set
CONFIG_AFS_FS=m
CONFIG_RXRPC=m

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
CONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not set
CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
CONFIG_SUN_PARTITION=y
# CONFIG_EFI_PARTITION is not set

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=m
回复

使用道具 举报

 楼主| 发表于 2006-9-20 15:55:04 | 显示全部楼层
grub.conf文件:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2006-9-20 15:58:21 | 显示全部楼层
cat /proc/filesystems

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2006-9-20 16:10:19 | 显示全部楼层
mount:
/dev/sda2 on /type ext3 (rw)
none on /proc type proc(rw)
usbdevfs on /proc/bus/usb type usbdevs
/dev/sda1 on /boot type ext3(rw)
none on /dev/pts ......
none on /dev/shm type tmpfs ......
回复

使用道具 举报

 楼主| 发表于 2006-9-20 16:11:10 | 显示全部楼层
再补充一个,我是在vmware上安装的
回复

使用道具 举报

发表于 2006-9-20 17:55:47 | 显示全部楼层
在你提供的信息里可以看出:
你的/boot在/dev/sda1上 所以第一行root (hd0,0)应该是对的,可以找到内核。
但是根分区/在/dev/sda2上,第二行就不对了,改称下面的的样子试试:
[code:1]
    kernel /vmlinuz-2.6.13 ro root=/dev/sda2
[/code:1]
另外我说的看分区信息不是只执行fdisk,而应该执行fdisk /dev/sda然后按p看分区表,然后按q退出。
回复

使用道具 举报

 楼主| 发表于 2006-9-21 09:14:44 | 显示全部楼层
修改了,还是不行,报错一样
VFS: Cannot open root device "/dev/sda2" or unknown block(0.0)
fdisk /dev/sda信息如下
device boot        start     end    blocks      id
/dev/sda1   *        1          13     104391   83     linux
/dev/sda2             14        604                           linux
/dev/sda3                                                          linux swap
回复

使用道具 举报

 楼主| 发表于 2006-9-21 09:36:42 | 显示全部楼层
还有个问题,我参考了一些网上的编译必选项,发现有些是必选的,但我只能选择M,例如关于scsi的那些
回复

使用道具 举报

发表于 2006-9-21 12:58:16 | 显示全部楼层
scsi硬盘我不是很清楚。但是sda2的分区信息有点奇怪,block数和id哪里去了?这个分区没有问题?
编译进内核或者是编译成模块,在功能上没有差别。
回复

使用道具 举报

发表于 2006-9-28 14:33:15 | 显示全部楼层
和我遇到的问题一样,不过我用的是SATA硬盘
期待中....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-3-29 13:55 , Processed in 0.082793 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表