Booting CentOS v5.2 fails with GRUB error 13: Invalid executable format
Posted: 2009/05/05 04:36:10
Hello everybody,
I'm trying to install a dual booting machine with OpenSUSE v11.1 32bit and CentOS v5.2 64bit. I installed OpenSUSE first and allowed it to install and configure grub in the MBR and after that I wanted to proceed with CentOS v5.2. The installation went fine with two notable exceptions:
- when I had to configure grub installation parameters, CentOS offered me only 2 solutions: either install it on the MBR of the first hard disk or not installing it at all. Other distributions are more flexible allowing you to install it in the boot sector of the root partition for example. Because I didn't want to ruin the existent grub configuration, I reluctantly accepted not to install it for CentOS assuming that I could manually configure the entry later in grub's menu.lst file.
- when I was presented with the options for software components installation, I've clicked on virtualization category/function because I intend to use the machine as a VMware host. There was no guidance on screen at that point and I blindly assumed that by choosing the virtualization function I would get necessary tools and drivers that will help me further on. It seems that this was a wrong move as you can see it below.
After completing the installation, I tried to search for a template or guiding on how the menu entry in menu.lst should look like but the grub directory was empty, not surprisingly because I've told CentOS earlier not to install it. Using the files in the /boot directory from the CentOS installation I tried to improvise a menu entry but it's not working. The boot stops with famous Error 13: Invalid or unsupported executable format. Using the file command to check what kind of files I'm trying to load as kernels I'm getting :
marte:~ # file /mnt/vmlinuz-2.6.18-92.el5xen
/mnt/vmlinuz-2.6.18-92.el5xen: gzip compressed data, from Unix, last modified: Tue Jun 10 19:20:51 2008, max compression
marte:~ # file /boot/vmlinuz-2.6.27.21-0.1-pae
/boot/vmlinuz-2.6.27.21-0.1-pae: Linux/x86 Kernel, Setup Version 0x209, bzImage, Version2.6.27.21, RO-rootFS, root_dev 0x809, swap_dev 0x2, Normal VGA
Obviously, the CentOS kernel file is not in the right format and the xen word gave me a bad feeling. Doing a little research, I found that the xen kernel contains a Linux kernel that runs on the Xen hypervisor and that the linux kernel used by Xen is in a different format than Grub expects.
That's why I said that choosing virtualization without knowing the consequences was a mistake.
My question is should I try to fiddle with grub an menu.lst to make the current installation work or It would be better to reinstall CentOS without the virtualization component. A secondary question would be can anyone post here an example of a menu entry in menu.lst for xen kernel ?
Thanks
I'm trying to install a dual booting machine with OpenSUSE v11.1 32bit and CentOS v5.2 64bit. I installed OpenSUSE first and allowed it to install and configure grub in the MBR and after that I wanted to proceed with CentOS v5.2. The installation went fine with two notable exceptions:
- when I had to configure grub installation parameters, CentOS offered me only 2 solutions: either install it on the MBR of the first hard disk or not installing it at all. Other distributions are more flexible allowing you to install it in the boot sector of the root partition for example. Because I didn't want to ruin the existent grub configuration, I reluctantly accepted not to install it for CentOS assuming that I could manually configure the entry later in grub's menu.lst file.
- when I was presented with the options for software components installation, I've clicked on virtualization category/function because I intend to use the machine as a VMware host. There was no guidance on screen at that point and I blindly assumed that by choosing the virtualization function I would get necessary tools and drivers that will help me further on. It seems that this was a wrong move as you can see it below.
After completing the installation, I tried to search for a template or guiding on how the menu entry in menu.lst should look like but the grub directory was empty, not surprisingly because I've told CentOS earlier not to install it. Using the files in the /boot directory from the CentOS installation I tried to improvise a menu entry but it's not working. The boot stops with famous Error 13: Invalid or unsupported executable format. Using the file command to check what kind of files I'm trying to load as kernels I'm getting :
marte:~ # file /mnt/vmlinuz-2.6.18-92.el5xen
/mnt/vmlinuz-2.6.18-92.el5xen: gzip compressed data, from Unix, last modified: Tue Jun 10 19:20:51 2008, max compression
marte:~ # file /boot/vmlinuz-2.6.27.21-0.1-pae
/boot/vmlinuz-2.6.27.21-0.1-pae: Linux/x86 Kernel, Setup Version 0x209, bzImage, Version2.6.27.21, RO-rootFS, root_dev 0x809, swap_dev 0x2, Normal VGA
Obviously, the CentOS kernel file is not in the right format and the xen word gave me a bad feeling. Doing a little research, I found that the xen kernel contains a Linux kernel that runs on the Xen hypervisor and that the linux kernel used by Xen is in a different format than Grub expects.
That's why I said that choosing virtualization without knowing the consequences was a mistake.
My question is should I try to fiddle with grub an menu.lst to make the current installation work or It would be better to reinstall CentOS without the virtualization component. A secondary question would be can anyone post here an example of a menu entry in menu.lst for xen kernel ?
Thanks