Eu encontrei uma solução boa e fácil para o meu problema. O último parágrafo de Slizzered sobre máquinas virtuais me deu uma dica. Você pode usar o software qemu
sem precisar carregar uma máquina virtual. Eu encontrei as informações relevantes aqui e aqui .
Primeiro você tem que criar uma cópia no arquivo de gravação (COW) da sua imagem. Isso usará seu original_500GB_file.img
como sua base. O arquivo grande não será editado porque é usado como somente leitura. O COW é de tamanho mínimo e só crescerá quando mudanças forem feitas. Apenas o que eu precisava:
$ qemu-img create -f qcow2 -b original_500GB_file.img disposable.qcow2
Formatting 'disposable.qcow2', fmt=qcow2 size=498000000000 backing_file='original_500GB_file.img' encryption=off cluster_size=65536 lazy_refcounts=off
$ ls -l disposable.qcow2
-rw-r--r-- 1 dertalai users 204288 abr 15 20:01 disposable.qcow2
Agora, basta virtualizar o par original_read-only + cow_writable em um único dispositivo de bloco utilizável:
# modprobe nbd
# qemu-nbd -c /dev/nbd0 disposable.qcow2
/dev/nbd0
está pronto para uso. Você pode fsck ou até montá-lo e fazer o que precisar. Quando você terminar e quiser reverter as alterações, basta liberar o dispositivo de bloco de qualquer processo que o esteja usando e excluir o arquivo COW, se desejar:
# qemu-nbd -d /dev/nbd0
# rmmod nbd
$ rm disposable.qcow2