Stage 1 "knows" where Stage 2 is by entries in a block-list loading table embedded in it. It loads the lists of blocks off of the booting drive, then jumps to a specified CS:IP in 16-bit real mode. These are described in the page on embedded data. It queries the BIOS for the disk geometry, and maps the linear block numbers there to C:H:S addresses used by the INT 13h BIOS interface.
http://www.uruk.org/orig-grub/technical.html
Also a lot of time with new disk alignment, there is just under 1-2 MB of unallocated space between the MBR and the first partitions and stage 2 is sometimes stuck there.