GRUB error 15 on stage1.5. Trying to dual boot Arch and WinXP
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
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.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I posted a similar thread on the Arch forums, but haven't got any answers since yesterday, so I figured it couldn't hurt to post here too.
I had Linux Mint dual booting fine with Windows XP, but hadn't used it in a long time and wanted to try Arch. I deleted Mint's partitions and made new ones for Arch, installed it (successfully, as far as I know), rebooted and...
Ugh! I don't see the GRUB menu or anything, it just locks up at this stage. I'm therefore unable to boot into either Arch or XP.
I have two HDs, one IDE and one SATA (where both OSs are installed). The IDE is sda, SATA sdb. sdb is divided in sdb1, which is Windows, sdb2, which is the boot partition, sdb3 - swap, sdb5 - root, and sdb6 - home.
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xc14bc14b
Device Boot Start End Blocks Id System
/dev/sda1 * 1 9728 78140128+ c W95 FAT32 (LBA)
Disk /dev/sdb: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xe2fbe2fb
Device Boot Start End Blocks Id System
/dev/sdb1 1 32059 257513886 7 HPFS/NTFS
/dev/sdb2 * 32060 32071 96390 83 Linux
/dev/sdb3 32072 32195 996030 82 Linux swap / Solaris
/dev/sdb4 32196 38913 53962335 5 Extended
/dev/sdb5 32196 34019 14651248+ 83 Linux
/dev/sdb6 34020 38913 39311023+ 83 Linux
menu.lst:
Code:
# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst
# DEVICE NAME CONVERSIONS
#
# Linux Grub
# -------------------------
# /dev/fd0 (fd0)
# /dev/sda (hd0)
# /dev/sdb2 (hd1,1)
# /dev/sda3 (hd0,2)
#
# FRAMEBUFFER RESOLUTION SETTINGS
# +-------------------------------------------------+
# | 640x480 800x600 1024x768 1280x1024
# ----+--------------------------------------------
# 256 | 0x301=769 0x303=771 0x305=773 0x307=775
# 32K | 0x310=784 0x313=787 0x316=790 0x319=793
# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794
# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795
# +-------------------------------------------------+
# for more details and different resolutions see
# http://wiki.archlinux.org/index.php/GRUB#Framebuffer_Resolution
# general configuration:
default 0
timeout 5
fallback 2
#color light-blue/black light-cyan/blue
# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*
# (0) Arch Linux
title Arch Linux
root (hd1,1)
kernel /vmlinuz26 root=/dev/disk/by-uuid/48700728-0695-46f1-8f47-ea364800af1a ro vga=773
initrd /kernel26.img
# (1) Arch Linux
title Arch Linux Fallback
root (hd1,1)
kernel /vmlinuz26 root=/dev/disk/by-uuid/48700728-0695-46f1-8f47-ea364800af1a ro
initrd /kernel26-fallback.img
# (2) Windows
title Windows XP
rootnoverify (hd1,0)
makeactive
chainloader +1
I tried all sorts of things in menu.lst - changing the first root to (hd0,x), pointing the second root directly to /dev/sdb5 instead of using uuid... also, curiously, using "find /grub/menu.lst" gives me (hd0,1). I tried "setup (hd0,1)", and that didn't work either.
I'm hesitant to try to install GRUB in the MBR as the Arch dual boot guide explicitly advises to install it in /boot.
What should I do?
I have very little experience with Linux, so any help is appreciated.
How weird - it seems my HDs are switching positions. I just ran fdisk and blkid again and the SATA came identified as sda, while it used to be sdb. Perhaps this is related to the GRUB problem?
(I guess it's the reason why it found menu.lst in (hd0,1))
Distribution: Mandriva 2009 X86_64 suse 11.3 X86_64 Centos X86_64 Debian X86_64 Linux MInt 86_64 OS X
Posts: 2,369
Rep:
If you change by accident the drive order during install sda and sdb does not change .
But what do change is that the drive that where the first drive at install time become hd0
I ran fixmbr with WinXP's Recovery Console. The first time I rebooted, GRUB seemed to be working just fine! I logged in to Windows XP (had to do some stuff on the Internet, didn't have time to set Arch up), and later shut the computer down and went to bed. Today I woke up and, to my disappointment, GRUB is now just skipped and Windows boots up automatically. I tried reinstalling GRUB with setup (hd0,1), but that did no good. Then I reinstalled Arch, still no luck. Tried this, but failed at the second umount -a because it said /mnt was busy or something to this effect.
Should I install GRUB in the MBR, despite what the Arch wiki advises? Or what should I do?
The MBR contains a small amount (a few hundred bytes) of code (stage1) that the BIOS executes on power-on. Its job is to find the code that does the real work - in grub that is located in /boot, which may (but doesn't need to) be a separate partition. In windows (prior to vista) ntldr does the work of finding boot.ini and doing the actual boot function.
The stage1 code is very limited due to its size constraints - grub and lilo are somewhat more flexible than the windows code, but constrained none-the-less.
On modern equipment the requirement for a separate /boot partition has all but disappeared.
syg00 won't there need to be something for bios to point to (mbr to operating system). I guess if everyone ran virtual machine it might make it easier.
The BIOS just cycles through the disks it knows about until it finds a sector zero with code in it - then it just loads the code and executes it. If all the disks have no code it gives up and complains. That's why you can have XP code on one disk and grub/lilo on another and flip-flop the BIOS entries to boot either if you want.
Can lead to unexpected errors if the first disk MBR has been blank for a while and gets re-written at some later stage - or a new disk changes the order in the BIOS.
I found what was wrong - every time I boot into Windows, it resets my boot partition from sdb2 to sdb1, so if I want to go back to Linux (or just use GRUB) I have to run cfdisk from a LiveCD... it's quite annoying. What could be causing this and how can I fix it?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.