Você não pode montar um disco ou partição sem ter um sistema de arquivos. Como o arquivo disk contém todos os zeros, não existe nenhum sistema de arquivos.
Primeiro, para criar um dispositivo de loop nessa chamada de arquivo
sudo losetup -f disk
que criará um dispositivo de loop para o arquivo 'disk'. Com sudo losetup , você obterá uma lista de dispositivos de loop; Observe o que está conectado com o seu disco. Eu assumo /dev/loop0 a partir de agora.
Próximo para criar um sistema de arquivos válido, você precisa chamar
sudo mkfs -t [type] /dev/loop0
em que [tipo] significa o tipo de sistema de arquivos, por exemplo ext4. Para mais opções, consulte man mkfs .
Agora você pode montar:
sudo mount /dev/loop0 /media/LFS
que deve então ser acessível como sistema de arquivos normal.
Para desconectar, você precisa desmontar ( sudo umount /media/LFS ) e desanexar o dispositivo de loop ( sudo losetup -d /dev/loop0 ). A partir daí, você pode montar o sistema de arquivos conforme tentou em sua pergunta (a montagem com o -o loop criará o dispositivo de loop para você).
E não, você não precisa ter o dispositivo particionado. E é claro que você pode montar um sistema de arquivos em uma pasta não vazia - mas você não poderá acessar o conteúdo anterior desta pasta antes de desmontar novamente.
Editar
Se você quiser que o arquivo de imagem funcione como discos particionados e seja reconhecido pelo kernel, você pode seguir a resposta dada em como formatar ... . Resumindo:
Particione a imagem: # fdisk disk , que executará o fdisk normalmente e você poderá criar partições.
Criar sistemas de arquivos: Como o mkfs não funciona com whole disks se eles são particionados (pode usar o disco bruto como um sistema de arquivos como mencionado acima), é melhor usar o dispositivo de loop com partprobe ou kpartx para informar o núcleo. A maneira mais simples é executar # sudo losetup -f -P disk , o que criará dispositivos de partição como, por exemplo, /dev/loop0p1 , /dev/loop0p2 etc. Estes podem então ser usados por mkfs .
Usar gparted : Como o gparted chama as ferramentas padrão como parted e mkfs , os pontos acima também são verdadeiros. Você pode chamar # sudo gparted disk e depois particionar o disco, mas não pode formatar essas partições, pois mkfs pede imagens distintas como disk1 , disk2 etc. Então você deve usar o dispositivo de loop com gparted também:
# sudo losetup --show -f -P disk
/dev/loop0
# sudo gparted /dev/loop0
(Eu usei --show aqui, então losetup mostrará qual dispositivo é criado).
Agora você pode trabalhar com o gparted como de costume. As partições, quando criadas / formatadas, estarão disponíveis para outros aplicativos como gerenciadores de arquivos (talvez você tenha que emitir sudo partprobe /dev/loop0 para o kernel reconhecer as partições).
Eu não consegui obter o dispositivo de loop mostrado em gparted quando chamado sem passar diretamente o nome do dispositivo de loop, mesmo depois de emitir partprobe ou kpartx , por exemplo ao iniciar a partir do menu do sistema. Apenas mostra dispositivos / dev / sdx. Talvez alguém consiga resolver esse problema.