Earlier this evening, I had the interesting experience of shutting down my machine (because of that lp out-of-sync problem, discussed elsewhere), and watching it not come back up. I admit that I changed out one of my DVD writers for another one, but I don't understand how that could have had any effect on this: When I restarted the machine, it came up to the point where it normally shows: "GRUB Loading Stage 2..." Except, it stopped at the "GRUB" and hung - no stage 2, no disk activity, nothing, just hung. One of the changes I made a little while ago was to modify the boot order of my drives. I had been booting off of the hda drive, but now I'm booting from the sda drive. I went through the "grub-install /dev/sda" back then, then fixed the grub.conf because the disk id for the root was wrong (it was showing hd2, but in order to boot, this had to be set to hd0 because grub couldn't find anything on hd2 - weird, 'cuz that's where the /boot and / partitions both live, but I digress). I thought I'd be able to recover from this by booting from hda again, but that didn't work. So I put in my Live CD, booted from that and tried to fix it via grub-install from there - no go. Grub couldn't find /dev/mapper/livecd-rw (which wasn't there, although /dev/mapper/live-rw was - is that a bug in the live cd?) Then I went to my installation DVD, booted up into linux rescue mode (which took a few tries because I forgot to boot with linux rescue noapic), chroot'd to the right /dev and THEN I could finally run grub-install, and finally, the system rebooted from /dev/sda. I'm wondering: 1) What would cause the system not to get to the "Loading stage 2" part but be able to load GRUB? This one is really the key - if I can understand this, I can prevent it from happening again. 2) What's with the live CD not being able to run grub-install properly? (It also would not install using grub - I don't recall the exact error message, but it was something about there not being a stage 1 area on the drive, which makes no sense because it _does_ boot from that drive). 3) Is this the only way to recover from such an error (GRUB, no stage 2, not the lp error), or was there an easier way I missed? My configuration is: OS : CentOS 5.2 (2.6.18-92.1.10 Linux kernel) x86_64 with latest updates Hardware: AMD Athlon 64 x2 4200+ (2 x 2.0GHz), ECS NFORCE4M-A 4GB OCZ DDR2 800MHz (PC6400) /dev/hda Maxtor 160MB PATA UDMA-133 /dev/hdb Maxtor 120MB PATA UDMA-133 /dev/sda Seagate 300GB SATA-150/300 /dev/sdb WD 320GB SATA-150/300 /dev/hdc Pioneer 1810 (DVR-112D) 18x DVD+/-RW/DL /dev/hdd Pioneer 1810 (DVR-112D) 18x DVD+/-RW/DL Thanks. mhr -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.centos.org/pipermail/centos/attachments/20080922/cc7c32c4/attachment-0001.html>
on 9-22-2008 1:53 AM Mark Hull-Richter spake the following:> Earlier this evening, I had the interesting experience of shutting down > my machine (because of that lp out-of-sync problem, discussed > elsewhere), and watching it not come back up. I admit that I changed > out one of my DVD writers for another one, but I don't understand how > that could have had any effect on this: > > When I restarted the machine, it came up to the point where it normally > shows: "GRUB Loading Stage 2..." > > Except, it stopped at the "GRUB" and hung - no stage 2, no disk > activity, nothing, just hung. > > One of the changes I made a little while ago was to modify the boot > order of my drives. I had been booting off of the hda drive, but now > I'm booting from the sda drive. I went through the "grub-install > /dev/sda" back then, then fixed the grub.conf because the disk id for > the root was wrong (it was showing hd2, but in order to boot, this had > to be set to hd0 because grub couldn't find anything on hd2 - weird, > 'cuz that's where the /boot and / partitions both live, but I digress). > > I thought I'd be able to recover from this by booting from hda again, > but that didn't work. So I put in my Live CD, booted from that and > tried to fix it via grub-install from there - no go. Grub couldn't find > /dev/mapper/livecd-rw (which wasn't there, although /dev/mapper/live-rw > was - is that a bug in the live cd?) > > Then I went to my installation DVD, booted up into linux rescue mode > (which took a few tries because I forgot to boot with linux rescue > noapic), chroot'd to the right /dev and THEN I could finally run > grub-install, and finally, the system rebooted from /dev/sda. > > I'm wondering: > > 1) What would cause the system not to get to the "Loading stage 2" part > but be able to load GRUB? This one is really the key - if I can > understand this, I can prevent it from happening again. >Grub boot code is in the mbr so it loads. If it can't find the stage 2 it usually quietly dies. I believe it has to load stage 1 to have enough code to actually give error messages. The mbr is just too small to get all the code into. So changing drives also changed the bios disk order on your system, and grub got confused.> 2) What's with the live CD not being able to run grub-install properly? > (It also would not install using grub - I don't recall the exact error > message, but it was something about there not being a stage 1 area on > the drive, which makes no sense because it _does_ boot from that drive).The live CD isn't really a proper rescue disk for grub, but it is adequate to copy/move data off. I wish it had the rescue cd code from an install disk at least as a boot option.> > 3) Is this the only way to recover from such an error (GRUB, no stage 2, > not the lp error), or was there an easier way I missed? > > My configuration is: > > OS : CentOS 5.2 (2.6.18-92.1.10 Linux kernel) x86_64 with latest updates > > Hardware: > AMD Athlon 64 x2 4200+ (2 x 2.0GHz), ECS NFORCE4M-A > 4GB OCZ DDR2 800MHz (PC6400) > /dev/hda Maxtor 160MB PATA UDMA-133 > /dev/hdb Maxtor 120MB PATA UDMA-133 > /dev/sda Seagate 300GB SATA-150/300 > /dev/sdb WD 320GB SATA-150/300 > /dev/hdc Pioneer 1810 (DVR-112D) 18x DVD+/-RW/DL > /dev/hdd Pioneer 1810 (DVR-112D) 18x DVD+/-RW/DL > > Thanks. > > mhr > > > ------------------------------------------------------------------------ > > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos-- MailScanner is like deodorant... You hope everybody uses it, and you notice quickly if they don't!!!! -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 250 bytes Desc: OpenPGP digital signature URL: <http://lists.centos.org/pipermail/centos/attachments/20080922/626125a1/attachment-0001.sig>
On Mon, Sep 22, 2008 at 10:08 AM, Scott Silva <ssilva at sgvwater.com> wrote:> > Grub boot code is in the mbr so it loads. If it can't find the stage 2 it > usually quietly dies. I believe it has to load stage 1 to have enough code > to actually give error messages. The mbr is just too small to get all the > code into. So changing drives also changed the bios disk order on your > system, and grub got confused. >I sympathize (I'm confused, too). I can't swear to it, but I'm pretty sure I had rebooted several times after changing the boot drive and the boot drive order, all without a hitch. Then this happened. I can swear (now) that I have rebooted several times since recovering, so if I muddled through this correctly, you're saying that it shouldn't happen again as long as I don't change the drive order again, right? One of the things that I found rather irritating in all this was the utter lack of clarity provided in both the man pages for grub and grub-install, and the info pages (which are supposed to be more in detail but are not, really). How do I know which disk is which from grub's p.o.v.? There is no command to list the drives, and I wound up using the geometry command and my personal knowledge of what those were supposed to be to figure out which one grub thought was which, and even that made no sense because what grub saw as hd0 was my /dev/hda drive (which is not the boot drive) and hd2 was my /dev/sda, which _is_ the boot drive. Or do the drive designations change once the system is up? (I.e., in my grub.conf, the boot drive is hd0, but when the system comes up, it's hd2.) I've looked through the documentation for grub at http://www.gnu.org/software/grub/manual/html_node/index.html and this particular ideosyncrasy is not clear. Thanks, all. PS: My apologies for the earlier html post - I sent that via Evolution from home, and apparently it is not configured for text-only by default (which I completely forgot). mhr