I'm sorry, there is a lot of half-truth plus mistakes in the posts so far. To use a drive over 128 GB (by Microsoft's way of counting) or 137 GB (according to the HDD makers) you MUST have "48-bit LBA Support" in three places. Before we get into details, let's try the easy way - if it is modern enough, you have this already covered.
If your system has SATA connectors on the motherboard so you can plug in a SATA hard drive, you have no hardware worries at all. ALL SATA systems have 48-bit LBA support included. So if you plan to buy a SATA hard drive, the only thing you need is an Operating System that is suitable. (If you're planning on buying an OIDE drive, check your motherboard's controller ability below.) Assuming you have Windows of some kind, what you need is in every version of VISTA. If you have XP, it was NOT included in the original version, but was added with Service Pack 1 (aka SP1) and thereafter. If you have Windows 2000, it was added in a late Service Pack, #4 I think. So if you have VISTA, XP with SP1 or later, or Win 2K with SP4, you have what you need on the software side. If not, read on.
Until about 2000, hard disk systems used what was called "LBA Support" to handle disks over 2 GB. What they did not specify then was that the first version of this was "28-bit LBA", which allowed the controller and the hard drive to communicate with each other using 28 bits for the address of the disk sector to be used. This, in effect, limited a disk size to 137,438,953,472 bytes, or 128 GB when you count Microsoft's way. Operating systems also used this limit. Beginning about 2000, hardware and software makers decided to move that limit by going to "48-bit LBA Support" which now limits the size to something in the petabyte region, which won't be a problem for quite a while!
You could mount a new Windows XP SP2 on an old IDE system and it would (eventually) try to address a part of the disk above 128 GB with an address beyond the 28-bit limit. But if you have old hardware, it simply would not pay any attention to the high bits, and it would mis-translate its instructions into accessing something near the start of the disk where you already have important data stored. It could write over your data with new stuff and cause a big problem! So, to use a hard drive over 128 GB you MUST have 48-bit LBA support in three places: in the hard disk itself, in its controller on the motherboard, and in the Operating System.
If you actually have an old computer and are not sure what its hard disk controllers can handle, you need to find out from the mobo makers. (To repeat, this applies only to IDE controllers and drives - it is already included in any SATA system.) Don't forget, you are looking specifically for the phrase "48-bit LBA", not just "LBA Support" or "large disk support". Some motherboards had this in the BIOS from the start. Some added it with an updated BIOS later. Many of those BIOS chips had a way to update them by downloading a newer BIOS software version stated to include 48-bit LBA support and "burning" it into the chip. That's why you will see references to "update your BIOS". A really old system may not even allow that and, if you insist on continuing to use it, you have to buy and install a separate modern hard disk controller card to mount in the PCI slots. Or, there's another solution, too - see my last paragraph.
On the other hardware item, the hard drive itself, obviously if a manufacturer makes a hard drive over 128 GB they also made it with 48-bit LBA Support in it so it can be used, so this is not a real issue.
On the Operating System side, if you have an older OS without 48-bit LBA Support there is probably an easy solution. Although this will not let you convert an existing C: boot drive under 128 GB to a larger one without some fiddling, it will let you add as a second data storage drive any large new unit. What you have to do for Windows 2000 or Windows XP is just to go to the Microsoft website and download and install all the latest updates for it. That will modify your Windows to have all the latest capabilities, including 48-bit LBA Support for hard drives over 128 GB. THEN you install your new hard drive.
If you're stuck with an old system that can't be updated on the hardware side, there is another solution. I had this situation - on old motherboard with no BIOS update since about 1996. Seagate has a feature in their hard drives that allows you to change its on-board information so that it behaves as if it is limited to whatever you set. To use it you must download from their site a software utility package called Seatools for DOS and burn it to a floppy disk or CD-ROM that you boot from. It will let you limit the maximum number of addressable disk sectors to a number you enter. In this case, the limit should be 2^28 or 268,435,456. (There's also another part of this utility that allows you later to remove this limit and have the disk revert to its full size again.) I bought a 160 GB Seagate and did this, making it into a 137 GB drive, and it's working just fine.