Hi all, After applying some updates onto a Debian web server, I rebooted it. However it will no longer start, and generates this error in XenCenter: 22/12/2011 09:57:45 Error: Starting VM ''Web Server'' - Using <class ''grub.GrubConf.Grub2ConfigFile''>; to parse /boot/grub/grub.cfg - WARNING:root:Unknown directive load_video - WARNING:root:Unknown directive terminal_output - Traceback (most recent call last): - File "/usr/bin/pygrub", line 746, in ? - raise RuntimeError, "Unable to find partition containing kernel"; - RuntimeError: Unable to find partition containingkernel This server is mission-critical, so we need it back as soon as possible. Any ideas guys? thanks for the help, -- regards, Jacob Mansfield, Lead developer jacob@bluesapphiremedia.co.uk Blue Sapphire Media recommends A2 Hosting _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
> 22/12/2011 09:57:45 Error: Starting VM ''Web Server'' - Using <class > ''grub.GrubConf.Grub2ConfigFile''>; to parse /boot/grub/grub.cfg - > WARNING:root:Unknown directive load_video - WARNING:root:Unknown > directive terminal_output - Traceback (most recent call last): - File > "/usr/bin/pygrub", line 746, in ? - raise RuntimeError, "Unable > to find partition containing kernel"; - RuntimeError: Unable to find > partition containingkernelThis clearly is a grub2 config, while pygrub can only parse grub 0.97 configs.> This server is mission-critical, so we need it back as soon as > possible. Any ideas guys?Don''t panic. :) (I got that from the Hitchhiker''s guide...)
> 22/12/2011 09:57:45 Error: Starting VM ''Web Server'' - Using <class > ''grub.GrubConf.Grub2ConfigFile''>; to parse /boot/grub/grub.cfg - > WARNING:root:Unknown directive load_video - WARNING:root:Unknown > directive terminal_output - Traceback (most recent call last): - File > "/usr/bin/pygrub", line 746, in ? - raise RuntimeError, "Unable > to find partition containing kernel"; - RuntimeError: Unable to find > partition containingkernelThis clearly is a grub2 config, while pygrub can only parse grub 0.97 configs.> This server is mission-critical, so we need it back as soon as > possible. Any ideas guys?Don''t panic. :) (I got that from the Hitchhiker''s guide...)
> On 22 Dec 2011, at 10:54, Mark van Dijk wrote: > > This clearly is a grub2 config, while pygrub can only parse grub > > 0.97 configs. > > Don''t panic. :) > > > > (I got that from the Hitchhiker''s guide...) > > Don''t Panic... nice > is there a way to downgrade my Grub install? or upgrade pygrub?Yes, if you can reach the domU''s data then you can mount and chroot to it and then use the way you normally do this in the domU OS. Example for partitioned LVM disks where partition 1 is /boot and partition 3 is / : kpartx -a /dev/lvmarray/host mount /dev/mapper/lvmarray-host3 /mnt mount /dev/mapper/lvmarray-host1 /mnt/boot for i in proc sys dev; do mount /$i /mnt/$i; done chroot /mnt aptitude .... exit for i in proc sys dev boot ""; do umount /mnt/$i; done kpartx -d /dev/lvmarray/host HTH, Mark
On Thu, Dec 22, 2011 at 5:54 PM, Mark van Dijk <mark@internecto.net> wrote:>> 22/12/2011 09:57:45 Error: Starting VM ''Web Server'' - Using <class >> ''grub.GrubConf.Grub2ConfigFile''>; to parse /boot/grub/grub.cfg - >> WARNING:root:Unknown directive load_video - WARNING:root:Unknown >> directive terminal_output - Traceback (most recent call last): - File >> "/usr/bin/pygrub", line 746, in ? - raise RuntimeError, "Unable >> to find partition containing kernel"; - RuntimeError: Unable to find >> partition containingkernel > > This clearly is a grub2 config, while pygrub can only parse grub 0.97 > configs.Not strictly true. Newer version of pygrub can parse grub2 config, but at least on some version that I used, it has problems with nested menu.> >> This server is mission-critical, so we need it back as soon as >> possible. Any ideas guys? > > Don''t panic. :)You can edit grub.cfg manually to remove the nested menus. You can do a chroot and remove old linux-image-*, leaving only one latest version, which should automatically remove the nested menus. You could create old grub config file manually (since pygrub doesn''t need grub to be installed, it just reads the config file) ... or, copy the kernel and initrd to dom0 and load it from xen config file (i.e. not using pygrub). -- Fajar
On 22 Dec 2011, at 12:29, Fajar A. Nugraha wrote:> You can edit grub.cfg manually to remove the nested menus. > > You can do a chroot and remove old linux-image-*, leaving only one > latest version, which should automatically remove the nested menus. > > You could create old grub config file manually (since pygrub doesn''t > need grub to be installed, it just reads the config file) > > ... or, copy the kernel and initrd to dom0 and load it from xen config > file (i.e. not using pygrub).ok, what exactly am I looking to remove in the grub.cfg or how would I go about completing the other suggestions? thanks for the help! -- regards, Jacob Mansfield, Lead developer jacob@bluesapphiremedia.co.uk Blue Sapphire Media recommends A2 Hosting
On Thu, Dec 22, 2011 at 7:33 PM, Jacob Mansfield <cyberjacob@gmail.com> wrote:> On 22 Dec 2011, at 12:29, Fajar A. Nugraha wrote: >> You can edit grub.cfg manually to remove the nested menus.> ok, what exactly am I looking to remove in the grub.cfgstart by removing submenu sections> or how would I go about completing the other suggestions?A minimal grub.cfg would look something like this menuentry ''Ubuntu Natty 3.1.4-1-generic'' { linux /boot/vmlinuz-3.1.4-1-generic root=/dev/xvda1 ro initrd /boot/initrd.img-3.1.4-1-generic } it SHOULD be enough to allow pv-grub to boot -- Fajar