LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Grub Chainloader Question (https://www.linuxquestions.org/questions/linux-newbie-8/grub-chainloader-question-456886/)

gangrel1985 06-21-2006 06:37 AM

Grub Chainloader Question
 
I have 2 hds (1 IDE, 1 SATA)
my partition sheme:

hda (MBR) = Grub
hda1 = NTFS (backup)
hda2 = Ubuntu
hda3 = Linux-swap
sda (MBR) = Windows boot loader
sda1 = Windows XP


I was wondering, how do I configure my menu.lst to boot the MBR of the sata hd, istead of booting directly the windows xp partition.

here is my menu.lst (after some tries):

# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not change this entry to 'saved' or your
# array will desync and will not let you boot your system.
# 7 entry is Windows XP, because of an empty entry (start with 0).
default 6

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

# Pretty colours
#color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=/dev/hda2 ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,1)

## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery mode) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## ## End Default Options ##

title Ubuntu, kernel 2.6.15-25-386
root (hd0,1)
kernel /boot/vmlinuz-2.6.15-25-386 root=/dev/hda2 ro quiet splash
initrd /boot/initrd.img-2.6.15-25-386
savedefault
boot

title Ubuntu, kernel 2.6.15-25-386 (recovery mode)
root (hd0,1)
kernel /boot/vmlinuz-2.6.15-25-386 root=/dev/hda2 ro single
initrd /boot/initrd.img-2.6.15-25-386
boot

title Ubuntu, kernel 2.6.15-23-386
root (hd0,1)
kernel /boot/vmlinuz-2.6.15-23-386 root=/dev/hda2 ro quiet splash
initrd /boot/initrd.img-2.6.15-23-386
savedefault
boot

title Ubuntu, kernel 2.6.15-23-386 (recovery mode)
root (hd0,1)
kernel /boot/vmlinuz-2.6.15-23-386 root=/dev/hda2 ro single
initrd /boot/initrd.img-2.6.15-23-386
boot

title Ubuntu, memtest86+
root (hd0,1)
kernel /boot/memtest86+.bin
boot

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
#title Microsoft Windows XP Home Edition
#root (hd1,0)
#savedefault
#makeactive
#map (hd0) (hd1)
#map (hd1) (hd0)
#chainloader +1

# This is a test for booting MBR on /dev/sda
title Windows XP
savedefault
map (hd0) (hd1)
map (hd1) (hd0)
chainloader (hd1)+1

Thanks in advance!

Zmyrgel 06-21-2006 06:54 AM

AFAIK your config does that as windows own loader starts it. You probably miss that menu with F8? I have no idea how to access that, though.

syg00 06-21-2006 07:02 AM

Quote:

Originally Posted by gangrel1985
I was wondering, how do I configure my menu.lst to boot the MBR of the sata hd, istead of booting directly the windows xp partition.

You can't.

And why would you want to - what function would that add that chainloading can't achieve ???.

gangrel1985 06-21-2006 11:23 AM

Just to know if it's possible. =)
With this config file I'm able to boot windows XP using chainloader (hd1)+1, as you say it's not possible to do boot other mbr, why I'm able to boot windows?

syg00 06-21-2006 04:42 PM

Essentially the loader code (in the MBR) simply locates the partition to boot and transfers control there.
Chainloading is basically the same function except you tell it to go somewhere else (and where - in your case hd1).


All times are GMT -5. The time now is 03:45 PM.