Eu tenho um disco (particionado por GPT), por exemplo /dev/sda
.
/dev/sda8
é uma partição nesse disco. Usei o cfdisk
utilitário para criar uma tabela GPT com poucas partições no formato /dev/sda8
. Eu esperava que essas partições estivessem disponíveis através de algo como /dev/sda8p1
. Mas o Linux não os reconheceu automaticamente.
Como faço para que o Linux reconheça partições em uma partição e automatize isso, se possível?
Não há reconhecimento automatizado para essa estrutura de partição aninhada, porque esse aninhamento não faz parte de nenhuma especificação de tabela de partição que eu conheça.
Mas
kpartx
pode ser usado para criar nós de dispositivos baseados em mapeadores de dispositivos para tais partições dentro da partição, usando uma sintaxe essencialmente idêntica apartx
. Os dispositivos de partição resultantes seriam algo como/dev/mapper/sda8p1
.Uma estrutura de partição aninhada como essa pode surgir, por exemplo, do mapeamento de uma partição como um disco virtual para uma máquina virtual. Acessar as partições de tal disco virtual a partir do host
kpartx
pode ser uma ferramenta útil de solução de problemas se a VM tiver um problema que impeça sua inicialização.Você deve estar ciente de suas limitações: tentar acessar as partições da VM a partir do sistema host enquanto a VM está em execução causaria corrupção do sistema de arquivos, pois os caches em nível de sistema de arquivos no host e na VM não estão se comunicando entre si, e portanto, não é possível estar ciente de que a operação de gravação invalida alguns dados que o outro armazenou em cache.
Não sei de nada que verifique automaticamente uma partição como se fosse um disco e, na verdade, nem pode ser verificado manualmente:
No entanto, você pode usar um dispositivo de loop para mapear a partição de volta para um dispositivo - e esse dispositivo pode ser verificado como se fosse um disco. Exemplo para um dispositivo
/dev/sda8
contendo duas partições:Lembre-se de excluir o dispositivo de loop quando terminar