Eu percebo que essa pergunta foi feita há dois anos, mas eu não acho que nenhuma das respostas está completa, então vou dar uma chance assim mesmo.
Para responder a linha de assunto, o limite de USB é o limite de sua especificação de classe de armazenamento em massa (MSC). Essa especificação, por sua vez, é baseada no conjunto de comandos transparentes SCSI. (Veja também http://en.wikipedia.org/wiki/USB_mass_storage_device_class#Device_access ). Observando os comandos de leitura SCSI ( http://en.wikipedia.org/wiki/SCSI_Read_Commands#Read_.286.29 ), você pode ver que existem várias versões da API. O mais antigo suporta endereços de blocos de 21 bits (e um limite de 1GiB), uma versão posterior suporta LBAs de 32 bits (impondo o limite de 2TiB que muitos casos têm hoje) e o mais recente possui um LBA de 64 bits que imporá um limite de 8ZiB ( são 8 gigabytes!).
Caixas USB modernas suportarão LBAs de 64 bits e devem suportar qualquer unidade que você possa encontrar. Os casos mais antigos não suportam isso e se comportarão mal se estiverem conectados a uma unidade maior que 2TiB.
Supondo que o seu case USB suporta a unidade, então há o problema de particionar a unidade. O esquema de partição MBR (usado em vários formulários desde o MS-DOS) usa um índice de bloco de 32 bits. Então tem um limite de 2TiB. A solução usada hoje é alternar para o formato de tabela de partição GUID (GPT) que usa números de bloco de 64 bits.
Todos os sistemas operacionais modernos (incluindo Windows, Mac OS X e Linux) suportam tabelas de partição GUID e devem ser capazes de suportar uma unidade> 2TiB como um disco de dados.
Se você é um usuário de Mac ou Linux, então você deve ser capaz de inicializar a partir da unidade também. Os Macs têm firmware EFI e suportam a inicialização de volumes GPT. Sistemas Linux modernos têm código no bootloader do GRUB que, segundo me disseram, permitirão inicializar o Linux a partir de uma unidade GUID sem o firmware EFI.
Se você estiver executando o Windows, no entanto, você pode ou não ser capaz de inicializar a partir da unidade. Você precisará do firmware EFI em sua placa-mãe, e precisará estar executando uma versão de 64 bits do Windows. A Microsoft exige ambos para inicializar a partir de uma unidade GPT de qualquer tamanho. Isso significa que, se você estiver executando o Windows de 32 bits ou tiver um firmware somente do BIOS (sem o EFI), será necessário certificar-se de que seu disco de inicialização seja 2TiB ou menor, para aplicar uma partição do MBR.