Invertendo todos os bytes ou blocos de uma partição para redimensionar facilmente a partição

0

Meu problema atual é que eu quero uma maneira de inicializar um sistema Linux com um sistema Windows ou MacOS e ainda ser capaz de redimensionar ambos os sistemas, mas sem movê-los. Por exemplo, se eu tivesse um sistema Windows na minha primeira partição e um sistema Linux na minha segunda partição, se eu quisesse adicionar espaço à minha partição Linux eu teria que encolher a partição do Windows, mover a partição Linux, depois crescer o Linux partição. Eu prefiro não usar o LVM porque isso não é compatível com o Windows ou o MacOS.

Para resolver este problema, eu tive uma idéia (um pouco louca) de reverter todos os bytes ou blocos (dependendo da implementação real) em uma partição para que os dados cresçam a partir do fim do partição. Eu poderia escrever um módulo do kernel para implementar isso no sistema Linux e, em seguida, se eu quisesse desenvolver meu sistema Linux, eu poderia apenas diminuir minha partição do Windows e aumentar minha partição Linux.

  1. Existe uma maneira melhor de fazer isso? Eu sinto que esta abordagem é um pouco ... questionável.
  2. Qual é a melhor maneira de implementar isso no kernel? Eu gostaria de ter dispositivos de bloco (então eu estaria invertendo os blocos) que eu poderia apenas apontar o comando mount para ou apontar o comando mkfs, da mesma forma que você usaria / dev / sda1. Eu prefiro não apenas modificar o código de, digamos, ext4.
por somebody0 20.03.2018 / 16:05

1 resposta

0

Eu não acho que seja possível porque outros processos com acesso de E / S de baixo nível (como o próprio kernel) provavelmente irão simplesmente ignorar seu módulo do kernel e causar estragos. Além disso, pode causar sérios problemas de desempenho, já que todo programa que abre um fluxo de E / S precisará passar por seu módulo. Com certeza parece legal, mas não acho que valha a pena prosseguir sem a ajuda de desenvolvedores experientes do kernel.

    
por L.S. 20.03.2018 / 16:50