DebianThis forum is for the discussion of Debian Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I have a system with two identical IDE drives, one with Windows 7, installed first on hda1, and one with Debian Lenny (installed second on hdb1 but failing to boot). It seems to me you used to be able to put the (boot record / loader?) on the drive you wanted to run Linux and just boot to it from the BIOS—that’s what I like to do. Now, I’m not sure whether the installers are dumbed down, or whether I have, but it seems if you have another OS like Win7 on the first hard drive and tell the installer to put Lenny on the second hard drive, it still regards the Win7 partition as the one to boot from (the one whose boot loader should be used). Therefore if you try to use the BIOS to boot to hdb1, say, it finds the GRUB record but is unable to boot the disk, probably because it misinterprets the instruction to boot to (hd1,0) and somehow references the “real” boot drive, hd0. Am I right? If this is the case I need to know what to put in GRUB (in menu.lst, I suppose) to REALLY boot hd1,0 when hdb is selected in the BIOS boot menu.
This is what my menu.lst says (this fails to work):
If you want to do things like this, it is best to change the BIOS boot order prior to installing Linux. This ensures hd0 really is hd0 - all the time. If you don't, hd0 is the Windoze drive (in your case) during the (linux) install, but when you later change the BIOS boot order, and reboot, the Linux disk is now hd0.
Note this is not a grub problem - it's doing what you tell (or told) it.
Easiest might be to change the BIOS and reinstall - that way you'll get a clean MBR boot record, menu.lst and fstab. Else you'll have to adjust each of those.
You might also want to look at the GRUB map command for switching the logical order of (hd0) and (hd1) before booting.
Also, check your BIOS specifications: It may automatically set the boot drive (whichever one you select to boot from) to be (hd0) and the other to be (hd1).
If you can get GRUB to show you a boot menu, push <escape> and then an "e" to get to a command prompt and use the editor and tab-completion to verify which drives are (hd0) and (hd1). (I usually just open a blank line, type (hd0,<tab> which produces a list of the partitions on (hd0). Knowing the partitions is, for me, usually sufficient to identify which drive is which.)
You can also use the GRUB mini-editor to create stanzas that works to boot your two OS, but don't forget that changes made in the GRUB editor are only made to the in-memory copy of the GRUB configuration file, and they are not saved back to the file.