How to run Debian smoothly in dual boot with Windows
Partitions / Harddisks
When installing Windows and Debian on one shared hard disk, it is important to consider the partition layout first. Windows' automatic installation, as of Vista, normally creates one 100 MB bootloader partition and occupies the rest of the disk for system, software and data.
Debian should be run with at least a swap partition and a partition for the root filesystem.
Looking at that, it seems that the maximum of four primary partitions in a MBR partition table is enough to dual-boot Windows and Debian; however, you might want to choose installing on logical partitions to support your future plans.
Installing on a separate drive of course always is an option.
Order of installation
As the Windows setup will most likely overwrite at least GRUB, for fresh installations it appears reasonable to install Windows first and then Debian.
If you already have installed Windows on your system and later on decide to install Debian, but do not have space left on your hard drive to create partitions for Debian, you have several options.
Rely on your manufacturer's OEM stuff
Most computer manufacturers nowadays set apart one or even two partitions to store service and recovery data. If you are an experienced user (and still have not reinstalled the OS on your own), you most likely do not need these files and can remove the partitions in order to make room for Debian.
Resize NTFS partitions
The Debian installer is capable of resizing NTFS partitions. However, you do this at your own risk. Always defragment and chkdsk the filesystem in Windows before trying and be sure to have up to date backup copies of your data.
Special configuration issues
Wifi not available in Windows after installing Debian
If your wifi interface is not available in Windows after you installed and booted Debian, this is due to a bug in the Windows driver of your card. For example, Atheros chipsets are known to not power up correctly if not having been powered down by the same Windows driver beforehand.
Debian automatically powers down network interfaces on halt. To disable this, add an entry like this to /etc/default/halt:
With this variable set, the script will add an option to the halt command to prevent it from powering down network interfaces.
Automatically adding Windows to GRUB boot menu
If you have installed Windows after installing Debian or have manged to remove GRUB's Windows boot entry in some other way, the os-prober package helps you to automatically have it added by update-grub.