免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 18521 | 回复: 5
打印 上一主题 下一主题

新编内核启动 加载内核, Invalid magic number [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-03 18:05 |只看该作者 |倒序浏览
本帖最后由 haitianguyan102 于 2011-12-05 10:42 编辑

环境是 debian 6, grub2,

  我新编译了一个 3.1.2的内核,按照标准步骤编译安装,并使用 update-grub 更新 grub 配置,但是重启试图使用新的内核,在启动的时候出现如下错误

    Loading Linux 3.1.2debian
    error : invalid magic number
    Loading  initial ramdisk
    error : you need to load the kernel first .


显然,第二个错误是有第一个错误导致的。 magic number 在一种情况下指的是在 mbr中两字节标识 mbr 的一个 number,但在我的情况显然并非如此,因为我可以使用旧内核进入系统。
grub 是系统使用  grub-mkconfig  自动配置的,按理应该不会出现问题,我之前也编译过一次内核并使用update-grub 自动更新 grub ,并没有出现问题。
不过还是贴上这一段 grub 配置

menuentry 'Debian GNU/Linux, with Linux 3.1.2debian' --class debian --class gnu-linux --class gnu --class os {
        insmod part_msdos
        insmod ext2
        set root='(hd0,msdos1)'
        search --no-floppy --fs-uuid --set 2aaafa6b-d140-4602-afb6-dce07a6ecfc3
        echo    'Loading Linux 3.1.2debian ...'
        linux   /vmlinuz-3.1.2debian root=/dev/mapper/debian-root ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /initrd.img-3.1.2debian


我尝试了 grub2 下面的命令行引导,依旧会出现这个问题。
我的问题是,什么情况下会出现 invalid magic number 这种错误, 该 magic number 指的是什么?



PS:个人的怀疑是自己下载的内核有问题,或者是自己在配置过程中出现了一些错误,或者就是因为内核比较新,有点问题。我下载后验证签名是不完整的,而使用的签名跟以前不一样,是<greg@kroah.com>的,报错说
      *損壞* 的簽章來自於 "Greg Kroah-Hartman (Linux kernel stable release signing key) <greg@kroah.com>"
     繁体字为“损坏的签章来自于”,不过我下了很多次都是如此,我使用的是支持断点续传的 axel 。官方并不提供 md5 之类的验证,不过我搜索 md5 倒是发现一个和自己一样的,觉得如果我下载的过程有问题,别人应该也不会跟我是同样的问题。



   

三天后:
      我删掉了 /boot  目录里面自己拷贝过去的 sysmap vmlinux config 及 initrd.img 文件,重新使用 make install 命令来自动设置,可以居然没有自动生成 initrd.img 文件,我试着重启使用新内核,居然可以使用,只是需要 initrd.img  文件,自己再做了一个,成功了。只是还是很糊涂,到底这个错误意味着什么,而且我也是按标准步骤
cp vmlinuz /boot/vmlinuz-3.1.2debian
cp .config   /boot/config-3.1.2debian
cp System.map  /boot/System.map-3.1.2debian
mkinitramfs -o /boot/initrd.img-3.1.2debian  3.1.2debian
update-grub
做的啊

论坛徽章:
0
2 [报告]
发表于 2011-12-03 18:09 |只看该作者
应该还是grub 的问题

论坛徽章:
0
3 [报告]
发表于 2011-12-03 18:17 |只看该作者
回复 2# taojie2000


   也许吧,我本来想使用 grub 的命令行引导方式,怎奈 grub2 的命令与 grub 不同,
   正在找 grub2 的命令行引导方式的资料,但是还是希望能够知道具体是哪里错误了

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
4 [报告]
发表于 2011-12-03 20:17 |只看该作者
set root='(hd0,msdos1)'

这行比较奇怪,为什么是msdos1呢?正常应该是hd0,0这样的

论坛徽章:
0
5 [报告]
发表于 2011-12-04 22:09 |只看该作者
回复 4# chenyx

grub2 就是这样,貌似我们平时 mbr 分区就是兼容 msdos的,叫 msdos 分区方式

论坛徽章:
0
6 [报告]
发表于 2012-12-23 19:01 |只看该作者
和楼主同样的问题啊!!!不知到invalid magic number 到底是什么意思
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP