Je me rends compte que cette question a été posée il y a deux ans, mais je ne pense pas que les réponses ici soient complètes, donc je vais essayer de toute façon.
Pour répondre à la ligne d'objet, la limite USB est la limite de sa spécification de classe de stockage de masse (MSC). Cette spécification est à son tour basée sur le jeu de commandes transparent SCSI. (Voir également http://en.wikipedia.org/wiki/USB_mass_storage_device_class#Device_access ). En regardant les commandes de lecture SCSI ( http://en.wikipedia.org/wiki/SCSI_Read_Commands#Read_.286.29 ), vous pouvez voir qu'il existe plusieurs versions de l'API. La plus ancienne prend en charge les adresses de bloc de 21 bits (et une limite de 1 Go), une version ultérieure prend en charge les LBA de 32 bits (imposant la limite de 2 To de nombreux cas aujourd'hui), et la dernière a un LBA de 64 bits qui imposera une limite de 8 Ko ( cela fait 8 giga-téraoctets!).
Les boîtiers USB modernes prendront en charge les LBA 64 bits et devraient prendre en charge tout lecteur que vous trouverez probablement. Les cas plus anciens ne prendront pas en charge cela et se comporteront mal s'ils sont connectés à un lecteur de plus de 2 To.
En supposant que votre boîtier USB prend en charge le lecteur, il y a ensuite le problème du partitionnement du lecteur. Le schéma de partition MBR (utilisé sous diverses formes depuis MS-DOS) utilise un index de bloc 32 bits. Il a donc une limite de 2 To. La solution utilisée aujourd'hui consiste à passer au format de table de partition GUID (GPT) qui utilise des numéros de bloc 64 bits.
Tous les systèmes d'exploitation modernes (y compris Windows, Mac OS X et Linux) prennent en charge les tables de partition GUID et devraient pouvoir prendre en charge un lecteur> 2 To comme disque de données.
Si vous êtes un utilisateur Mac ou Linux, vous devriez également pouvoir démarrer à partir du lecteur. Les Mac ont un firmware EFI et prennent en charge le démarrage des volumes GPT. Les systèmes Linux modernes ont du code dans le chargeur de démarrage GRUB qui, me dit-on, permettra de démarrer Linux à partir d'un lecteur GUID sans firmware EFI.
Si vous exécutez Windows, cependant, vous pouvez ou non être en mesure de démarrer à partir du lecteur. Vous aurez besoin du micrologiciel EFI sur votre carte mère et vous devrez exécuter une version 64 bits de Windows. Microsoft a besoin des deux pour démarrer à partir d'un lecteur GPT de n'importe quelle taille. Cela signifie que si vous exécutez Windows 32 bits ou si vous avez un micrologiciel uniquement BIOS (sans EFI), vous voudrez vous assurer que votre disque de démarrage est de 2 To ou plus petit, afin que vous puissiez appliquer une partition MBR.