Personally I would say:
Dual boot is a pain and unreliable.
Cygwin is a possibility, but not my preference, as to me, it does not feel like "real" Linux (no offence to any Cygwinners out there!)
Apache on Windows: fine. PHP on Windows: UGH. You can get it working, but it takes too much mucking about, and even then I find it unpredictable.
I would say the best solution if you need two O/S's on a laptop is to use VMWare - you can install it on Win2k and then run your chosen flavour of *nix on it simultaneously whilst within Win2k. However, you will need a decent amount of RAM and a half-decent processor.