Excluindo a partição estendida com segurança sem reinicializar

3

No linux, se excluirmos uma partição estendida (MSDOS) e houver partições estendidas em uso com números maiores que o excluído, o kernel falhará em verificar novamente as partições com partprobe. Isso acontece, eu presumo porque as partições após a remoção terá seu número reduzido em 1

Existe alguma maneira de contornar isso (sem desmontar as outras partições)?

    
por goncalopp 08.11.2012 / 18:22

1 resposta

1

Infelizmente, o kernel do Linux não é tão inteligente assim. Mesmo se você remover a última partição, o Linux não irá recarregar a tabela de partição se houver alguma partição, mesmo que não afetada, em uso neste dispositivo. Não há como recarregar a tabela de partição se alguma partição estiver em uso. O que geralmente significa reinicializar se for o disco que contém o sistema de arquivos raiz.

E aqui está um hack feio (e PERIGOSO !) que pode ajudar algumas vezes ...

Não tenho certeza se isso ajuda você, mas recentemente encontrei uma solução alternativa que me permite acessar a partição recém-criada / modificada mesmo que o Linux tenha se recusado a recarregar a tabela de partições:

# losetup --find --partscan --show /dev/sda
/dev/loop0
losetup: /dev/sda: warning: file smaller than 512 bytes, the loop device maybe be useless or invisible for system tools.

(o aviso pode ser ignorado)

Isso fará com que todas as partições definidas atualmente em /dev/sda como: /dev/loop0p1 , /dev/loop0p2 , etc. SEJA CUIDADO ! É muito fácil destruir seus dados dessa maneira, já que o Linux nem perceberá se você tentar fazer alguma coisa (montar, criar sistema de arquivos, etc.) com uma partição que esteja em uso.

    
por 08.11.2012 / 18:46