Is there a boot manager that can handle this?
Thomas Schmitt
scdbackup at gmx.net
Fri Aug 27 07:45:49 UTC 2010
Hi,
> Primary partitions:
> Windows XP, FreeBSD 9-current, FreeBSD 7-stable
> Extended partition:
> FAT32 data volume, Ubuntu Linux
> menuentry "FreeBSD 9-Current amd64" {
> set root=(hd0,3)
> chainloader +1
> }
Did you already try :
set root=(hd0,3,a)
freebsd /boot/loader
I have a machine with primary partitions
FreeBSD, FreeBSD, Solaris,
and on extended partition
Debian Lenny 5.01
Booting is done by the GRUB2 1.98 which came
with Debian.
In Debian's /boot/grub/grub.cfg i have
these entries (which all work for me):
------------------------------------------------
menuentry "Debian GNU/Linux, linux 2.6.26-2-amd64, eSATA 1.5Gbps" {
set root=(hd0,5)
search --fs-uuid --set 5badec4b-751e-47e1-a3c5-f8555d680cc4
linux /boot/vmlinuz-2.6.26-2-amd64 root=UUID=5badec4b-751e-47e1-a3c5-f8555d680cc4 ro
initrd /boot/initrd.img-ts
}
menuentry "FreeBSD-8.0 STABLE on Partition 1" {
set root=(hd0,1,a)
freebsd /boot/loader
}
menuentry "FreeBSD-8.0 RELEASE on Partition 2" {
set root=(hd0,2,a)
freebsd /boot/loader
}
menuentry "Solaris snv 134 on Partition 3" {
set root=(hd0,3)
chainloader +1
}
------------------------------------------------
Despite fat warnings
# DO NOT EDIT THIS FILE
it is well recommended by GRUB2 developers to
do experiments directly in /boot/grub/grub.cfg
and to fiddle with the generator scripts only
later.
This removes one potential level of error.
Just do _not_ run update-grub while the
changes are not yet in the scripts.
------------------------------------------------
A general method to boot systems before they
get in reach of GRUB2 is:
- Install the desired system
- Boot rescue system (in my case RIP Linux CD).
- Backup to removable media the "invisible"
blocks which sit before the start of the
first partition
dd if=/dev/sda of=... bs=512 count=31
(Address /dev/sda depends on the booted
rescue system. Number 31 was learned from
the partitioning tool.
Maybe it suffices to copy just the first
block of /dev/sda.)
To boot a particular system:
- Boot rescue system
- Copy backuped blocks to disk
dd if=... of=/dev/sda bs=512 count=31
- Reboot will bring up the originally installed
boot loader of the desired system.
I did this with FreeBSD and Solaris before i
found the necessary GRUB2 menu examples.
Have a nice day :)
Thomas
More information about the freebsd-hackers
mailing list