This is because of the difference in Partition Scheme.
There are two types of Partition schemes.
- MBR (Master Boot Record)
- GPT (GUID Partition Table)
MBR vs GPT:
MBR Scheme allows 4 Primary Partitions only, and if you need more then, you can create Extended Partitions. It was introduced with IBM PC DOS 2.0 in 1983.
MBR Scheme only support HDD till 2 TB only.
Until Windows XP, MBR was the only Partition scheme to install Windows. After Windows 7, Windows can be installed on either MBR Scheme or on GPT Scheme depending on the the firmware of your BIOS.
GPT Partition Scheme was developed in the late 1990s but got more common after 2010. GPT supports Disks which can be greater then 2 TB.
BIOS Vs UEFI:
There are two types of firmware interfaces, BIOS which had been in use since years, and a recent UEFI Firmware interface.
BIOS Firmware Interface
When the Computer boots up, BIOS after performing some initial Input-Output Tests, fetches the data in the first 512 Bytes on the first boot device and starts the OS from there. BIOS is unaware of the Partitions etc. It is the Code in the 512 bytes which starts the Process.
Unified Extensible Firmware Interface (UEFI) recognizes/understands the Partition Scheme (both MBR and GPT). Normally there is always a Hidden UEFI System Partition, which contains the information on how to start the Operating System.
Regarding your issue
Recently manufactured Desktops/Laptops all contain UEFI, so you can boot using UEFI. However for compatibility purpose, they also contain a CSM Module, which emulates a BIOS, so if you want to start your OS using BIOS, you can do so.
Windows OS have a bit of limitation. They only allow you to install Windows only on:
- MBR Disk if you boot using BIOS
- GPT Disk if you boot using UEFI.
Now, regarding your issue, you basically have MBR Partitioned HDD, and you are booting your System using UEFI. There are many possible solution to fix this:
Keep your Disks, they way they are, and just go to BIOS options, and enable the Legacy Boot Mode. The Setting name can be either Legacy or UEFI-CSM etc.
This way you can install Windows, but you cannot use HDD over 2 TB
If you want to boot using UEFI (Recommended because it has a faster boot-time), you need to convert your disk to GPT. For that again there are two options. Whether you want to erase all data or you want to preserve your data. If you are willing to lose data then, you can just delete all partitions, then re-initialize the Disk as a GPT Disk, and then you can install Windows. However if you want to preserve the Data, you can use some tools to convert your existing MBR Disk to GPT. I have used Minitool partition Wizard, and it does the job perfectly. Once you have converted to GPT, you can easily install Windows.
Regarding Ubuntu, you will not face any issue because, Ubuntu can be installed on MBR Partition Scheme, and also on GPT, irrespective of the fact whether you are booting via BIOS or UEFI.