A maneira mais fácil é com um dispositivo de loopback. Faça um arquivo do tamanho do seu pendrive e, em seguida, use losetup
para mapeá-lo para um dispositivo de loop. Então o dispositivo de loop é um dispositivo de bloco, então ele age exatamente como um pen drive faria.
A única exceção é o particionamento. Mas você pode consertar isso com mais algumas chamadas do losetup para mapear suas partições para outros dispositivos de loop com o parâmetro offset ( -o
). As coisas funcionam como tudo espera se você mapear o dispositivo completo para loop0, a primeira partição para loop1, a segunda para loop2, etc. Você sempre pode link simbolicamente loop0 para loop, então os nomes são exatamente como um dispositivo de bloco particionável seria são patches flutuando por dispositivos de loopback paráveis, então você pode nem precisar fazer isso).