No driver loop , o suporte para partições é opcional, determinado pelo argumento max_part quando o driver é carregado. O valor padrão é 0, então o driver de loop não irá procurar por partições; com um valor diferente de zero, o driver suporta muitas partições. Dependendo das opções de compilação do kernel, o driver pode ser incluído no kernel, caso em que você precisa passar loop.max_part=… na linha de comando do kernel no momento da inicialização, ou ser carregado como um módulo, caso em que você precisa passar max_part=… quando o módulo é carregado.
No Debian wheezy, loop é um módulo e o argumento max_part não é passado. Para obter suporte à partição, descarregue o módulo e carregue-o de volta com um argumento max_part (primeiro será necessário desativar qualquer dispositivo de loop existente com losetup -d ):
if lsmod | grep -wq loop; then rmmod loop; fi
modprobe loop max_part=31
Você pode tornar isso padrão adicionando options loop max_part=31 a /etc/modprobe.conf .
Se você não puder descarregar o módulo (ou reinicializar, em uma distribuição onde loop está embutido no kernel), você pode calcular o deslocamento da partição manualmente e usar a opção -o para losetup . Vejo
Lendo um sistema de arquivos a partir de uma imagem de disco inteira
Com novas distribuições, você pode usar losetup -P ao configurar o dispositivo de loop :
…
losetup -P -f arch-rpi.img
…
mas o pacote util-linux no Debian wheezy é muito antigo para ter essa opção.