Desfragmentando partições NTFS do Linux

12

Há alguma ferramenta que eu possa usar para desfragmentar minha partição do Windows do Linux?

    
por Alex 28.08.2011 / 18:52

6 respostas

10

Sim, você pode usar o shake . Primeiro você precisa adicionar um repositório personalizado ao seu sistema:

sudo add-apt-repository ppa:un-brice/ppa
sudo apt-get update
sudo apt-get install shake-fs

Então você pode fazer

sudo shake /some/dir
    
por alexg 10.09.2013 / 21:34
8

Não existe essa ferramenta por perto, pelo que eu sei.

Alguns sites relatam o seguinte comando

# WARNING - does not work
fsck -t ntfs --kerneldefrag /dev/hdX

mas isso não funciona, e não está claro de onde eles tiram isso.

    
por enzotib 28.08.2011 / 19:15
5

Atualização: UltraDefrag para Linux:

  

UltraDefrag é uma poderosa ferramenta de desfragmentação de código aberto para   Plataforma do Windows. Pode desfragmentar qualquer arquivo de sistema incluindo   hives de registro e arquivo de paginação. Também um dos principais objetivos   UltraDefrag está fazendo o trabalho o mais rápido e confiável possível. Isto é   sendo portado para Linux e NTFS-3G para desfragmentar partições NTFS.   Atualmente, apenas uma versão de teste no modo de console está disponível. Por favor   leia o arquivo incluído README.linux para compilar e testar

link

[Eu ainda não usei isso sozinho. Foi encontrado por meio de um tópico em um fórum do Arch . Além disso, seguindo o encadeamento até a próxima página leva a mais sobre o assunto. Tente por sua conta e risco. - kevjonesin -]

    
por kevjonesin 04.02.2014 / 15:01
0

Há um truque muito bem conhecido para arquivar uma desfragmentação NTFS (incluindo espaço livre) ... isso pode ser feito com um Live Linux como SystemRescueCD ...

Mas, você deve ter um segundo disco rígido ou pelo menos 51% de espaço livre (se não estiver usando a compactação).

O truque (muito complicado) é usar ferramentas para "clonar" a partição, mas não as típicas ... existe uma ferramenta que pode "clonar" uma partição NTFS mas não fazer um "clone" exato ... deixe-me explicar ...

A ferramenta é fsarchive (se eu não me lembro mal).

Ele cria um arquivo muito grande (como as ferramentas clone), com todos os arquivos (cuidado com metadados especiais de arquivos NTFS, fluxos que eu acho que são chamados), assim como uma ferramenta "clone" faz ...

Mas a parte complicada vem quando restaura ... não coloca arquivos onde eles, coloca arquivos sem nenhuma fragmentação.

Eu o usei para a partição do Windows System, bem como para partições de dados NTFS ... com êxito ... não é muito fácil de usar / entender (leia atentamente os documentos) ... mas posso fazer o truque.

Lembre-se de que esse grande arquivo criado pode ser compactado, portanto, não é necessário ter 51% de liberdade.

Mas de qualquer forma, primeiro você deve encolher partição NTFS ... usar GParted (se eu não me lembro mal).

Então, etapas:

  1. Pior caso: o HDD tem apenas uma partição BIG NTFS, com espaço livre suficiente
  2. Boot SystemRescuCD (se você quiser iniciar o X windows com o comando do assistente)
  3. Use o GParted para diminuir a partição NTFS para seu tamanho mínimo (fragmentará mais os arquivos NTFS, não importa)
  4. Use o GParted para criar outra partição no espaço livre, melhor se ext4 type (journal)
  5. Monte essa nova partição, mas não monte o NTFS
  6. Use o fsarchiver para criar um "clone" da partição NTFS, use a compactação e armazene o arquivo bif na partição criada
  7. A partir de agora, isso é muito RISCO: Use o GParted para excluir a partição NTFS e recriá-la
  8. Restaurar o "clone" usando fsarchiver, todos os arquivos na partição NTFS serão 1 fragmento (exceto um ou dois porque $ MFT pode ser colocado no meio, não no strat ou no final da partição)
  9. Use o Gparted para reduzir a partição NTFS, se necessário
  10. Verifique se o NFTS está correto, pode ser montado, lido / gravado e desmontado
  11. Desmontar a partição ext4 recém-criada
  12. Use o Gparted para aumentar esse ext4 (ou melhor, exclua-o e recrie-o)

É isso aí, pessoal ... como eu disse muito complicado e arriscado, é claro.

Cuidado com os principais pontos:

  • Diminuir NFTS deixando espaço livre suficiente para manter uma imagem compactada da partição NTFS (51% livre no disco rígido garantirá que haja o suficiente)
  • O fsarchiver não salva fluxos NTFS?
  • fsarchiver restore não coloca arquivos onde eles estão, eles os colocam sem fragmentação (como uma cópia)
  • Após excluir e recriar a partição NTFS, não há caminho de volta

As etapas são para: Usar um LiveCD / LiveUSB linux para desfragmentar uma partição NTFS que usa 100% do disco, sem nenhum outro HDD conectado a esse PC [deve ter espaço livre suficiente].

IMPORTANTE:

  • Alguns podem pensar que se você tem 51% de liberdade no disco rígido depois que o NTFS encolhe, pode ser mais seguro criar o ext4 e copiar todo o NTFS nele, excluir o NTFS, recriá-lo e copiá-lo ... FAZER ISSO causa perde, como as permissões de segurança do NTFS, etc.

Desde que eu saiba que GParted / fsarchiver é a solução mais próxima (para usar apenas LiveCD / LiveUSB com Linux), não é rápido, de alguma forma arriscado, mas satisfaz os termos impostos pela pessoa que postar a pergunta.

BE AWARE: É muito, muito arriscado ... como acontece com qualquer ferramenta "clone" ... e por enquanto eu não conheço nenhuma outra maneira melhor ... e ele vai perder fluxos NTFS (se eu não lembre-se mal)

POR FAVOR: Leia atentamente os documentos do fsarchiver antes de usá-lo.

Eu tenho qualquer responsabilidade (eu tinha usado em meus próprios dados, mas sempre tenho um BackUP externo - boas partículas).

Na prática ... todas as informações que eu tenho, eu as coloco em pelo menos três mídias diferentes (HDD, DVD, Flash Memories), com pelo menos três cópias em cada mídia, então eu tenho 9 cópias ... se eu solta 8 deles ele descansa mais um para recuperar dados ... eu sou um pouco paranóico, eu kown.

    
por user372809 27.01.2015 / 15:41
0

Este é um GRANDE aviso para todos aqueles que acham que o NFTS pode ser desfragmentado no Linux apenas copiando arquivos (clonando apenas arquivos), etc:

  • Alguns arquivos / pastas NTFS podem ter um atributo especial ativo, chamado de Compactação NTFS

pelo que eu sei, sempre que o Linux (cp, fsarchiver, etc) escreve um arquivo / pasta em um NTFS, ele sempre escreve sem compactação NTFS, não importa se o arquivo / pasta tem compactação ativada ou desativada.

Então você pode chegar a uma situação (eu a conheço da maneira mais difícil), onde a restauração com fsarchive (ou cp, etc) faria com que a partição ficasse cheia e não fosse suficiente.

Alguns tipos de dados podem atingir uma taxa de compactação NTFS de mais de 3, para que você possa ter uma partição X GiB com muitos arquivos e a soma dos arquivos seja próxima a 3 * X.

Eu dou esse aviso porque não é bem conhecido e às vezes cria dores de cabeça muito grandes. como quando a restauração de um clone precisa de mais espaço do que a partição inteira que foi clonada, causada porque a compactação NTFS se perdeu no Linux.

Além disso, com dados muito especiais (relação NTFS maior que 5), chego a essa situação:

  • Tamanho da partição NTFS de X GiB
  • O arquivo que contém o clone (com a melhor compactação que a ferramenta permite, GZip eu acho) levou 2 * X GiB

Ah, sim, o clone foi compactado e demorou o dobro do tamanho da partição.

Isso é causado porque a ferramenta clone lê os arquivos em formato simples (em claro, não compactado) e, em seguida, compacta os dados (com uma taxa realmente pior do que a do NTFS).

É claro que restaurar os dados não caberá nessa partição, já que os dados restaurados serão colocados sem compactação NTFS.

Espero que esteja claro outro motivo para não usar a compressão NFTS? Bem, de jeito nenhum, eu uso muito a compactação NTFS (no passado). Os arquivos VDI (Virtual Box) obtêm uma boa proporção.

Agora eu descobri o Pismo file Mount (e também funciona no Linux). ele pode criar um arquivo que atua como um contêiner (como uma pasta) e pode ser compactado (também com melhor proporção do que o NFTS) e ao mesmo tempo criptografado.

Por que eu menciono isso. porque qualquer ferramenta clone verá tal contêiner como um arquivo (quando não montado como pasta) e ler / descarregar / fazer backup do fluxo compactado de dados, não dos dados simples não compactados (como na compactação NTFS). então restaurar é como em qualquer outro arquivo.

Em vez de compactar uma pasta NTFS com o atributo de compactação NTFS, eu coloco uma pasta virtual Mount do arquivo Pismo. obter melhor compactação, etc.

Devo também avisar todos vocês interessados em tal ferramenta gratuita. não tem psiquiatra (pelo menos ainda), então se o conteúdo da pasta muda muito, não é uma boa idéia.

Mas para discos virtuais imutáveis, ISOs e coisas que não mudam, a taxa que obtém é muito próxima da LZMA2 (7-Zip) e pode ser lida / escrita em tempo real.

E é multi-plataforma.

Observe o mau da compactação NTFS falando sobre fragmentação. quando você escreve um arquivo em um NTFS com compressão NTFS, ele faz desta forma (sim horrível projetado, eu acho que é feito assim para garantir uma maior fragmentação na forma de intenção, pior não pode ser feito):

  1. A posição de gravação inicial é pré-calculada como 64 K * N, em que N é o número do bloco de 64 K que será tentado ser compactado
  2. Um buffer para 64K é reservado
  3. Esse buffer é preenchido com 64 K e, em seguida, compactado
  4. Apenas os blocos de 4K necessários são gravados, o restante é deixado como espaço livre

Por isso, cria um monte de GAPs no meio do arquivo, e somente depois de uma desfragmentação de arquivos que os GAPs desaparecem, mas a desfragmentação não ocorre até que o usuário a ordene (contig.exe, defrag.exe, etc) .

Sim, ele escreve o bloco N'th 64K em uma posição múltipla de 64K, independentemente de dados anteriores poderem ou não ser compactados, ele deixa um intervalo entre cada bloco de 64K (se todos pudessem ser compactados).

A compactação de pasta virtual Pismo File Mount atua como qualquer compressão normal deve ser feita, modo canalizado, sem intervalos. pelo menos até você deletar alguma coisa.

Além disso, outro aviso, não coloque arquivos VHD / VHDX dentro dele, o Windows não poderá anexá-los! O Windows usa um truque do kernel para montar essas coisas, ele não usa o nível do sistema de arquivos, trabalha em baixo nível.

Eu também gostaria de colocar minhas mãos em um desfragmentador Linux NTFS, com certeza seria mais rápido do que tudo que rodar sobre o Windows. é uma loucura total para desfragmentar o espaço livre. ou melhor falando. criando um todo grande o suficiente para um novo arquivo grande.

Também seria ótimo que minha memória funcionasse melhor. no passado eu estava usando uma ferramenta (linha de comando, desculpe) no Windows que poderia copiar / mover um arquivo de forma não fragmentada. movendo os arquivos necessários para longe, enquanto obtendo aquele todo necessário, e não fragmentando esses. só dá uma mensagem se não consegue encontrar uma maneira de colocar o arquivo (impossível fazer um furo) ou um aviso diferente se precisar fragmentar outro arquivo (perguntando se autorizado pelo usuário), etc.foi realmente ótimo. Eu não me lembro do nome (e talvez não funcione com janelas modernas, foi para Win2000).

    
por Claudio 11.04.2017 / 15:54
-1

Não. Estes são sistemas de arquivos do Windows, então você precisará usar o Windows para desfragmentá-los.

    
por psusi 06.11.2012 / 02:00