[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Problem solved - NTLDR using old boot sector file invalidated by RH /sbi
From: |
jon |
Subject: |
Problem solved - NTLDR using old boot sector file invalidated by RH /sbin/installkernel |
Date: |
Sun, 28 Sep 2003 11:16:23 +1000 (EST) |
User-agent: |
IMP/PHP IMAP webmail program 2.2.6 |
You are saint, a scholar and gentleman - that was exactly the problem. If I had
actually bothered booting XP and glanced at the boot.ini file I would have
remembered that the NTLDR uses a redirected boot sector, but that was the one
thing I didn\'t try. D\'oh.
Ok, so the problem was running make install which called /sbin/installkernel
which called grub-install which copies the files again which changes their
block allocations which means that the old boot sector stored in the XP file
can\'t find the 1.5 stage.
I agree that this could be regarded as a bug in Redhat\'s installer though, how
does it know it doesn\'t have to run grub-install (again)?.
I have a suggestion about how the behaviour of grub-install could be improved
to compensate for this behaviour. If grub-install did a conditional copy of the
stage files (only copy them if they are different) then this kind of problem
could be avoided because the block allocations wouldn\'t change
and /sbin/installkernel wouldn\'t have to encode knowledge about whether a grub-
install was necessary or not.
Regards,
jon.
Quoting Yedidyah Bar-David <address@hidden>:
> I know it\'s ugly to reply to myself, but anyway, just a small note -
> adding an entry to grub (or otherwise changing its conf) doesn\'t
> require reinstalling it, unlike lilo. \'make install\' in the kernel
> runs /sbin/installkernel, which in RH eventually runs a program
> named grubby, which has no manpage, and which probably reinstalls
> grub (unnecessarily). If you consider this a bug, you can report
> it to RedHat. If you ran grub-install yourself (before trying to
> reboot to what \'make install\' did), it\'s your bug :-(
>
> Good luck,
> --
> Didi
>
> On Sun, Sep 28, 2003 at 12:25:43AM +0300, Yedidyah Bar-David wrote:
> > Hello Jon,
> >
> > Your problem isn\'t with grub, but with ntldr. Can you please post your
> > boot.ini? I guess the relevant line is something like this:
> > c:\\somefile=\"GRUB\"
> > where somefile is a copy of the first sector of /dev/hda3.
> > I really can\'t imagine this happening without your intervention, so
> > either you forgot you did it or someone did it for you.
> > How to solve it?
> > 1. The ugly way - copy again your first sector to a file. This is
> > ugly because if your NT is on NTFS you will have to copy this
> > sector to a floppy (or some other FAT partition, network etc.),
> > reboot to NT, and copy it back over somefile.
> > 2. The good way - simply install grub on /dev/hda (the MBR) and add
> > an entry for NT
> > (something like
> > title Windows XP
> > rootnoverify (hd0,0)
> > chainloader +1
> > boot).
> > --
> > Didi
> >
> > On Sat, Sep 27, 2003 at 11:48:58PM +1000, Jon Seymour wrote:
> > > I have had grub installed on my RedHat 8 system for sometime now. It
> had
> > > been working fine.
> > >
> > > Just recently, I needed to compile a later kernel (2.4.21) to take
> > > advantage of some additional functionality.
> > >
> > > make install on the kernel updated my grub configuration, but I can
> no
> > > longer boot from the hard disk.
> > >
> > > The symptom is a console with the following message:
> > >
> > > GRUB<space>
> > >
> > > To explain my setup:
> > >
> > > * the MBR of hd0 boots into Windows XP on /dev/hda1 [ kept around
> so
> > > that I can use partition magic ]
> > > * boot.ini of Windows XP has been configured with one item for
> > > Windows XP and one for /dev/hda3
> > > * the Linux root file system is on /dev/hda5 (hd0,4)
> > > * the boot file system is on /dev/hda3 (hd0,2) and is mounted
> over
> > > /boot when /dev/hda5 is the root fs.
> > > * /dev/hda3 and /dev/hda5 are ext2 partitions
> > > ... see original append for details ...