I've been using Puppy Linux off a USB flash drive drive for a while, but that was really wearing it out. I decided to do a full install to the hard drive, so I cleared out some space, created an ext4 partition, and installed.

Unfortunately, I can't figure out how to add it to the Grub menu that Ubuntu installed. I looked around the documentation for a while, then decided that, rather than risk screwing something up, I'd just ask for help.

The output of fdisk -l is:

# fdisk -l

Disk /dev/sda: 160.0 GB, 160000000000 bytes
255 heads, 63 sectors/track, 19452 cylinders, total 312500000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf475f475

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63   196527491    98263714+   7  HPFS/NTFS/exFAT
/dev/sda2       196528126   312498175    57985025    5  Extended
/dev/sda5       308310016   312498175     2094080   82  Linux swap
/dev/sda6       196528128   295727103    49599488   83  Linux
/dev/sda7       295729152   308307967     6289408   83  Linux

Partition table entries are not in disk order

Disk /dev/sdb: 4004 MB, 4004511744 bytes
255 heads, 32 sectors/track, 958 cylinders, total 7821312 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          32     7817279     3908624    b  W95 FAT32

I have a Windows XP installation on sda1, an Ubuntu installation on sda6, and I've installed Puppy Linux on sda7. (Currently, I'm running Puppy Linux off of sdb1.) I'm not sure where Grub is, but I think it's either on sda6, with Ubuntu, or hiding somewhere in sda's MBR. Not sure though.

Basically, I need to find out how to add an entry to the Grub boot screen, with these options:

title Puppy Linux 5.4
root (hd0,6)
kernel /boot/vmlinuz root=/dev/sda7 pmedia=atahd

I've already tried to puzzle it out, but I couldn't manage to pull it off. I just need step-by-step instructions. I will provide any other config files or Terminal outputs requested.


1 Answer 1


If you currently using GRUB2 you can simple run this command:

update-grub                            # it's an ubuntu alias for following command
# or
grub-mkconfig -o /boot/grub/grub.cfg   # it'll work on all distributions that uses GRUB2

This update automatically grub entries.

  • 1
    Neither of those commands exist on Puppy Linux (I just tried both of them 12 seconds ago,) and if I run them on Ubuntu, how will it know the correct options to run Puppy Linux (or even that Puppy Linux exists on my hard drive?) Mar 2, 2013 at 18:39
  • @JamesTheAwesomeDude it will probe all the other partitions on the machine, looking for OSes to boot. Give it a try from Ubuntu and see if it works.
    – derobert
    Mar 2, 2013 at 18:51
  • Exact what @derobert commented, you need run one these commands in Ubuntu, and it's automatically check installed OS and add for GRUB2 menu (ubuntu) Mar 3, 2013 at 13:35
  • remember that "update-grub" is an alias, and it's only added in Ubuntu and baseds... for example, if you running ArchLinux, you need use second command Mar 3, 2013 at 13:39
  • okay, sudo update-grub got it working. It generated three new menu entries: unknown Linux distribution (on /dev/sda7), unknown Linux distribution (on /dev/sda7), and `Puppy Linux'. The first launches Puppy Linux, the second is identical to the first, and the third one (the one labeled "Puppy Linux") is broken. How do I remove the last entries from the menu? Mar 4, 2013 at 4:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .