Ok - that helps me to understand better. You have to tell the BIOS where to boot from.
Originally Posted by micromidgetmonkey
b) There must be a partition on the HDD that is marked as "bootable", use gparted or parted to create partitions.
c) If the HDD is over 1.5TB and you never plan to install WinXP, you probably want to use the newer partitioning method - GPT - instead of the older, less flexible type, MBR. GPT has too many pluses when compared to all the MBR minuses. It really is better, just be aware that you need to use parted and gparted to manage partitions on GPT HDDs, not fdisk. If you run 12.04 and later, this happens automatically unless you type in "fdisk" yourself. These tools also handle 4K-sector disks the way you want for best performance.
For example, here is how I've partitioned my XBMC Ubuntu box.
This HDD uses the MBR partition format as shown by the "msdos". It is only a 300G HDD. Linux can boot from either a primary or logical partition, Windows used to only boot from primary, but can read data, programs, etc from logical partitions just fine.
$ sudo parted -l
Model: ATA ST3300620AS (scsi)
Disk /dev/sda: 300GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 20.0GB 20.0GB primary ext4 boot
2 20.0GB 300GB 280GB extended
5 20.0GB 230GB 210GB logical ext4
6 230GB 251GB 21.0GB logical ext4
7 251GB 272GB 21.0GB logical ext4
8 298GB 300GB 2096MB logical linux-swap(v1)
Part-1 = Linux OS and Apps (no data)
Part-2 = Extended partition that holds all the remaining logical partitions
Part-5 = /home ... note how it is larger?
Part-6 = Spare partition for another Linux OS and Apps
Part-7 = Spare partition for another Linux OS and Apps
Part-8 = Swap, shared by all Linuxen when booted
If I wanted MS-Windows7, I'd probably make a 30G or 60G primary partition to load into, then I'd have a data partition formatted as NTFS that would be shared between Windows AND Linux OSes since Windows can't read-write to ext4 or most other Linux file systems.
As you can see, I was willing to "waste" about 40G to have different play areas for versions of Linux to try out. If your HDD is large, this is highly, highly recommended. At least 1 spare is a good idea.
Also, running any Linux from a USB stick is hard on the USB memory. It will cause it to die much quicker due to all the writes. Flash memory loves to be read, but dislikes being written. That wears it out.
I hope you remembered to use sudo boot-repair and that it worked for your needs.