Does internal or external make any difference is size limit?
In principle no. The OS will handle a drive just fine regardless of you mount it externally, or internally.
There are two caveats though:
- If you mount the disk via an USB enclosure then you will effectively do a SATA to USB conversion in the external enclosure. If the chip doing that conversion is old and fails to understand large drives then it will not work.
- If you use a non-standard connection to the external drive (e.g. no eSATA or SAS, but USB or Firewire) then you use extra drivers. These also need to be aware of large drives.
(I never heard of problems with USB and 3TB drives though).
Is there a limit to the size of a drive?
Depending on how the computer 'talks' to the drive, there might be problems.
Old drives used specify their size with fields containing their number of heads, cylinders and sectors. Multiply these by sector size (usually 512 bytes in those times) and you got their size. However the values got stored in different ways which lead to complications.
E.g. the BIOS used cylinders (0-1023), heads (0-255) and sectors per track (1-63). Multiply this and you get 8 455 716 864 bytes (8.4 GB). This means old BIOS DOS boot (using in 13h) could not boot from drives bigger than 8.4GB.
Similar problems where encountered at 528MB, 2.1GB, 4.2GB, 8.4GB, 33.2GB and 137GB.
(more info here.)
Modern systems and drives however left all of these problems behind and we are only left with one problem: The MBR cannot describe drives larger than 2.0TiB (2.19 TB).
If you want to use a drive larger then 2.0TiB you will need to use another partition format than MBR. The one used on modern computers is http://en.wikipedia.org/wiki/GUID_Partition_Table">GPT, which handles large drives just fine.
However this means your computer must understand GPT. This is not a problem on a modern OS, and Ubuntu should not have any problems with it. However:
- Your BIOS/UEFI needs to understand GPT if it want to boot from it. Unless you have a modern BIOS (on a P4? Hell no) then you cannot boot from a 3TB drive.
- The partitions will not be recognized if it is connected to a computer with an old OS (e.g. windows XP).