Grub2 is a Boot Loader. Most people in our freenode channel #puppylinux think that Grub 2 is confusing, and it can be. I tried for some time then gave up and continued booting from cd.

The information below was done using linux mint 10 and is a general guide. Most steps will be similar for other linux.

The first thing about grub 2 is that it can detect and auto generate menus for all os it detects. this can be good, it does have some drawbacks. For some os and os configurations it may use a generic name. My vista os was detected as "windows recovery environment". And it will not detect a puppy frugal install.

First you need to set up your puppy frugal install. Don't forget to save the extra files to make it boot faster when prompted to.

(As mint is built on ubuntu base here is a tutoral on grub 2 for ubuntu. **Click Here**)

If you want edit grub2 (the proper grub 2 way) then go to /etc/grub.d and editing the config files there. each file changes a different part of the boot loader. The main file you need to edit to add your custom files is 40_custom. To edit the default auto detected entries edit 10_linux.

You can also turn off the OS-Prober (OS-prober is the auto detect feature in grub 2). I have found this works and gives a more Grub feel but everything has to be done manually. (when you stop OS-Prober it is ok to change or remove unwanted auto detected entries from grub.cfg under #BEGIN /etc/grub.d/10_linux Remember to leave your os that the grub 2 is on). I also copied the original auto detected entries to 40_custom file so I could edit them there. saving time worrying how to format them.

If you want edit grub2 (the proper grub 2 way) then go to /etc/grub.d and editing the config files there. each file changes a different part of the boot loader. The main file you need to edit to add your custom files is 40_custom. To edit the default auto detected entries edit 10_linux.

In ubuntu based os go to the file /etc/default/grub.
uncomment (remove the # before the line) #GRUB_DISABLE_OS_PROBER=true (Enables/disables the os-prober check of other partitions for operating systems, including Windows, Linux, OSX and Hurd).

Now you need to go to /etc/grub.d/ (this is where you manually edit all your grub entries each filel edits a different part of /boot/grub/grub.cfg).

open 40_custom you will see Similar to this.

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.

here are my custom entries. (note that the main entry for Mint 10 I left in grub.cfg this is needed encase you update the os changes). also after you have configured grub you need to run sudo sudo update-grub.

Notice any entries beginning with # are ignored. its useful for infomation about each section or unused entries. to boot my other os i set up a link to there own grub menus for Mint 9 and Mint Debian. my puppy entries for quirky are booting frugal install on hdd and are there for an example you will have to tweak them for your own particular needs.