Estou escrevendo um código para fazer backups dos meus discos rígidos, usando Python 3.
Meu problema é que alguns RAIDs e outras coisas escondem coisas no primeiro e/ou último megabyte de algumas unidades. Quero ter certeza de copiar e restaurar essas coisas. O primeiro megabyte é fácil, mas não tenho certeza da melhor forma de fazer isso no último megabyte.
Vejo tópicos antigos sobre como limpar os últimos 1 MB, mas as respostas estão principalmente no shell. Por exemplo, consulte Limpar o último 1 MB de um disco rígido
Mas quero lê-lo e restaurá-lo, e quero usar Python, então preciso de ajuda.
Um dispositivo de bloco, assim como um arquivo normal, possui um tamanho. Você pode consultar isso, calcular o início do último megabyte e
seek
aí:ou similar.
No entanto, é claro, isso, assim como o início do dispositivo de bloco, é claro, são apenas as coisas que o Linux vê; se o hardware ocultar o primeiro ou o último MB do sistema operacional, isso não poderá ser evitado. Nada poderia.
É bastante incomum fazer backup do primeiro e do último Megabyte separadamente – eles são inúteis sem o material intermediário, e o material intermediário é inútil sem eles. Então, você basicamente sempre faria um backup completo do disco onde obtém essas regiões; ou você faria um backup apenas das partes relevantes para os dados (ou seja, simplesmente das partições relevantes ou, na verdade, apenas dos arquivos apresentados pelo sistema de arquivos), e então essas partes seriam irrelevantes.