But if you need to install a bootloader from scratch, you must also run the GRUB4DOS setup. This program provides two choices.
1. Write the GRUB4DOS boot code onto the MBR, thus erasing the original DOS/Windows code. Then write the two support files, grldr and menu.lst, to the root of the first partition. There is no option to use a different partition.
2. Don't touch the MBR, but write the two support files to the first partition, which is probably Windows. This method assumes that you want to dual-boot with Windows and leaves you to modify the WinXP boot.ini file or the Vista BCD mechanism.
For those users who want either a Puppy-only install or a co-exist install with Windows, these choices are sufficient. But many users want the flexibility of installing GRUB into a different configuration. The following article discusses three scenarios.
A - Installing GRUB4DOS on a Different Drive
1. Write the bootloader code onto the MBR with the command
Code: Select all
bootlace.com --time-out=0 /dev/sdX
2. Copy the file /usr/lib/grub4dos/grldr to the root of the target partition. You don't need to use the traditional /boot/grub directory structure.
3. Write your menu.lst file to the same location as grldr. GRUB4DOS recognizes the same syntax as legacy GRUB. Or you can use the code generated by the PUI and saved in /tmp/NEWGRUBTEXT.
B - Installing GRUB4DOS onto a Partition Boot Sector
The safest way to dual-boot with Windows is to not touch it at all! In this scenario, you will put all the GRUB4DOS files on a different partition. By flagging that partition as bootable, you can run a multi-OS setup without making any changes to the MBR or Windows. You can manage your boot files in a Linux environment independent of Windows.
In legacy GRUB, you could install the Stage1 code onto an MBR or a partition boot sector with identical functionality. However, this is not true with GRUB4DOS, so a slighly different approach is needed.
1. Download and install the attached grubinst-1.1.pet. It contains one program, grubinst, which is saved in /usr/sbin.
2. Run Gparted. You must allocate one of your primary partitions to act as a dedicated boot partition. Make it small (100 MB) and format it as ext2. Flag this partition as bootable.
3. Copy the file /usr/lib/grub4dos/grldr into your new boot partition.
4. Put your menu.lst file in the boot partition.
As usual, you can launch Windows with the entry
Code: Select all
title Windows
rootnoverify (hd0,0)
chainloader +1
Code: Select all
grubinst -p=X /dev/sda
Code: Select all
grubinst -p=1 /dev/sda
a. You have the standard DOS/Win boot code on your MBR.
b. You have flagged your boot partition as bootable.
c. You have copied grldr and menu.lst into the boot partition.
d. You have installed the GRUB4DOS boot code to its boot sector.
C - Using GRUB4DOS to Boot a Flash Drive
The standard bootloader for USB devices is syslinux. But using GRUB4DOS instead lets you work with the familiar menu.lst syntax.
1. Use the method from Part A where the device is probably /dev/sdb.
2. Make a menu.lst file like the following
Code: Select all
timeout 0
default 0
#
title Puppy 4.3.1 on USB
find --set-root --ignore-floppies /pup-431.sfs
kernel /vmlinuz pmedia=usbflash
initrd /initrd.gz