Tecnologia Ntfs2btrfs para converter in-place o sistema de arquivos NTFS em Btrfs open source
(github.com/maharmstone)Ntfs2btrfs
Ntfs2btrfs é uma ferramenta que converte o sistema de arquivos NTFS da Microsoft para o Btrfs, um sistema de arquivos open source. É semelhante ao btrfs-convert, que converte ext2. Após a conversão, a imagem original é salva em image/ntfs.img; se quiser manter a conversão, você pode apagar esse arquivo para liberar espaço. Parece ser estável, mas não há responsabilidade caso ocorra algum problema. O driver de sistema de arquivos Btrfs para Windows, WinBtrfs, também pode ser de interesse. Fica aqui o agradecimento a Eric Biggers, que conseguiu fazer engenharia reversa com sucesso dos "dados compactados WOF" do Windows 10, e cujo código é utilizado.
Como usar
- Windows: execute
ntfs2btrfs.exe D:\em um Prompt de Comando com privilégios de administrador- Não funciona na unidade de boot nem em unidades com arquivo de paginação em uso
- Se estiver usando o WinBtrfs, é preciso remover a flag somente leitura do subvolume
imagepara poder apagá-lo
- Linux: execute
ntfs2btrfs /dev/sda1como root
Instalação
- Windows: baixe o arquivo Zip mais recente na página Releases ou use Scoop
- Linux:
- Arch
- Fedora (disponível graças a Conan-Kudo)
- Gentoo - disponível como sys-fs/ntfs2btrfs no repositório guru
- Debian (disponível graças a alexmyczko)
- Ubuntu (disponível graças a alexmyczko)
- openSUSE (disponível graças a David Sterba)
- Para outras distribuições ou sistemas operacionais, é necessário compilar manualmente
Changelog
- 20240115
- Corrigido problema de compilação no GCC 14 (
-Werror=incompatible-pointer-typesativado por padrão)
- Corrigido problema de compilação no GCC 14 (
- 20230501
- Corrigido problema de ordenação que não era diagnosticado por
btrfs check - Corrigido problema em que itens de metadados eram gravados com valor de nível incorreto
- Ignora ADS com nomes longos demais
- Corrigido problema de ordenação que não era diagnosticado por
- 20220812
- Adicionada a opção --no-datasum para pular o cálculo de checksum
- Preserva metadados LXSS / WSL
- Corrigido problema em que letras de unidade minúsculas não eram reconhecidas
- Corrigido problema de corrupção quando há um arquivo no último megabyte do disco
- 20210923
- Adicionado suporte a compactação (Btrfs) (zlib, lzo, zstd)
- Adicionado suporte a outros algoritmos de hash: xxhash, sha256, blake2
- Adicionado suporte a rollback para NTFS
- Aumentada a velocidade de conversão em volumes com muitos inodes
- Corrigido bug quando há um arquivo fragmentado na posição do superbloco
- Corrigido buffer overflow ao ler descritores de segurança
- Corrigido problema de corrupção do sistema de arquivos não detectado por
btrfs check
- 20210523
- Melhorado o tratamento de arquivos grandes compactados
- 20210402 (release apenas do código-fonte)
- Corrigido problema de compilação em arquiteturas não amd64
- 20210105
- Adicionado suporte à compactação NTFS
- Adicionado suporte a "dados compactados WOF"
- Corrigidos problemas causados por arquivos esparsos
- Outras correções de bugs
- 20201108
- Melhorado o tratamento de erros
- Adicionadas mensagens melhores quando o NTFS está corrompido ou não está limpo
- Melhorado o tratamento de relocação
- 20200330
- Release inicial
Compilação
- Windows: abra o diretório do código-fonte na versão mais recente do MSVC e compile clicando com o botão direito em CMakeLists.txt
- Linux:
mkdir buildcd buildcmake ..make- É necessário instalar libfmt - deve estar disponível no gerenciador de pacotes
- O suporte a compactação requer zlib, lzo, zstd - devem estar disponíveis no gerenciador de pacotes. Para desativar, consulte as opções cmake WITH_ZLIB, WITH_LZO, WITH_ZSTD
O que funciona
- Arquivos
- Diretórios
- Links simbólicos
- Outros pontos de nova análise
- Descritores de segurança
- Fluxos de dados alternativos
- Atributos DOS (oculto, sistema etc.)
- Rollback para a imagem NTFS original
- Preservação de metadados LXSS
O que não funciona
- Atributos estendidos antigos do Windows (não usados)
- ADS grandes (mais de 16KB) (não usados)
- Preservação da flag de diferenciação entre maiúsculas e minúsculas
- Tamanhos de cluster incomuns (diferentes de 4KB)
- Arquivos criptografados
É possível dar boot no Windows com Btrfs?
- Sim, mas algumas condições precisam ser atendidas. Consulte o Quibble.
1 comentários
Comentários do Hacker News
O nível de "hold-my-beer" é altíssimo
Quando tentei antes, o disco virou somente leitura
Muito legal, mas vai levar pelo menos uma semana até as pessoas ficarem sabendo disso
Estou pensando em como aplicar isso ao ZFS
Eu ficaria muito surpreso se houvesse suporte a arquivos com compressão LZX
compact.exe /C /EXE:LZX (nome do arquivo)O NTFS é estável, mais rápido que o btrfs e tem os mesmos recursos