LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1486|回复: 10

【已解决】grub错误:Invalid or unsupported executable format

[复制链接]
发表于 2010-8-9 09:37:15 | 显示全部楼层 |阅读模式
昨天晚上对着手册安装了gentoo,启动的时候grub提示“Invalid or unsupported executable format”错误,是什么原因呢。

分区:
/dev/sda6 swap
/dev/sda7 ext4 /

内核是自己配置然后使用 make && make modules_install 编译出来的vmlinux,改名为kernel-2.6.34-gentoo-r1后放进/boot目录的。

这样表述清晰不,还需要什么信息吗?
发表于 2010-8-9 10:03:54 | 显示全部楼层
为什么是vmlinuz?我编出来的都是bzImage。或许你还要提供/boot/grub.conf
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-8-9 10:14:56 | 显示全部楼层
Post by jsun;2107454
为什么是vmlinuz?我编出来的都是bzImage。或许你还要提供/boot/grub.conf

为什么是vmlinuz?打错了,是 vmlinux。编译后在/usr/src/linux目录下两个新文件 vmlinux, vmlinux.o。

grub.conf:

default 0
timeout 30
#splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Gentoo Linux 2.6.34-r1
root (hd0,6)
kernel /boot/kernel-2.6.34-gentoo-r1 root=/dev/sda7

title Windows 7 Ultimate
rootnoverify (hd0,0)
makeactive
chainloader +1

# vim:ft=conf:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-8-9 10:34:20 | 显示全部楼层
grub 支持从 ext4 分区引导吗?
回复 支持 反对

使用道具 举报

发表于 2010-8-9 10:59:37 | 显示全部楼层
Post by sharkke;2107464
grub 支持从 ext4 分区引导吗?


应该是这个原因,建议楼主用grub2.
回复 支持 反对

使用道具 举报

发表于 2010-8-9 11:14:57 | 显示全部楼层
我现在在用windows,看不到是否在编译内核时做了链接,但我编译完成后执行的是如下命令:
cp /usr/src/linux/arch/x86_64/boot/bzImage /boot/kernel-xxxxxxxx
其中x86_64中的bzImage是一个指向x86/bzImage的链接。

Gentoo的grub好像是打过ext4补丁的,我以前用ext4时没记得有什么特殊设置。你可以在启动时用grub的find命令找一找/boot里面的文件,能找到就说明grub支持ext4

此外kernel一行或许应指明rootfstype=ext4
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-8-9 11:56:28 | 显示全部楼层
Post by jsun;2107473
我现在在用windows,看不到是否在编译内核时做了链接,但我编译完成后执行的是如下命令:
cp /usr/src/linux/arch/x86_64/boot/bzImage /boot/kernel-xxxxxxxx
其中x86_64中的bzImage是一个指向x86/bzImage的链接。

Gentoo的grub好像是打过ext4补丁的,我以前用ext4时没记得有什么特殊设置。你可以在启动时用grub的find命令找一找/boot里面的文件,能找到就说明grub支持ext4

此外kernel一行或许应指明rootfstype=ext4


多谢。grub引导的时候,用tab能找到哪个ext4分区下的文件。

是我搞错了,手册上说
# cp arch/i386/boot/bzImage /boot/kernel-2.6.30-gentoo-r5
我把这个给漏掉了。不过我今天重新打开,也还是没有找到这个文件。
现在在重新编译,等编译完看能不能找到这个 bzImage 文件。
回复 支持 反对

使用道具 举报

发表于 2010-8-9 12:04:42 | 显示全部楼层
Post by sharkke;2107485
多谢。grub引导的时候,用tab能找到哪个ext4分区下的文件。

是我搞错了,手册上说我把这个给漏掉了。不过我今天重新打开,也还是没有找到这个文件。
现在在重新编译,等编译完看能不能找到这个 bzImage 文件。

提醒一下,如果用的是amd64,就是arch/[color="Red"]x86_64/boot/bzImage
回复 支持 反对

使用道具 举报

发表于 2010-8-9 12:09:04 | 显示全部楼层
Post by blackwhite;2107487
提醒一下,如果用的是amd64,就是arch/x86_64/boot/bzImage

BTW, it's just a link to arch/x86/boot/bzImage.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-8-9 12:47:12 | 显示全部楼层
搞定了,重新编译后把它复制过去,重新安装grub,OK。
看了一下,在我这儿直接 cp ,得到的不是link。

驱动没选好,网卡没驱动起来。
回复 支持 反对

使用道具 举报

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

本版积分规则

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