Desfragmentando partições NTFS do Linux


Respostas:


12

Sim, você pode usar shake . Você primeiro precisará 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

10
O Shake não é um desfragmentador, ele simplesmente copia cada arquivo na esperança de que a cópia seja menos fragmentada. É claro que está longe de funcionar como desfragmentadores reais.
Rustyx

9

Não existe tal ferramenta, pelo que 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.


7
-1 Por que adicionar uma resposta quando ela nem sequer é útil?
Wolfer

1
Boa de @Wolfer-lo assim quando nós encontrá-lo em outro lugar, sabemos que não funciona
krispy

6

Atualização: UltraDefrag para Linux:

O UltraDefrag é uma poderosa ferramenta de desfragmentação de código aberto para a plataforma Windows. Ele pode desfragmentar qualquer arquivo do sistema, incluindo as seções do registro e o arquivo de paginação. Também um dos principais objetivos do UltraDefrag é fazer o trabalho o mais rápido e confiável possível. Ele está 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. Leia o arquivo incluído README.linux para compilar e testar

http://jp-andre.pagesperso-orange.fr/advanced-ntfs-3g.html

[Eu ainda não usei isso. Encontrei-o através de um tópico em um fórum do Arch . Seguir o tópico até a próxima página leva a mais informações sobre o tópico. Tente por sua própria conta e risco.


1

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

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

pelo que sei, sempre que o Linux (cp, fsarchiver, etc) grava um arquivo / pasta em um NTFS, ele sempre grava sem compactação de NTFS, independentemente de o arquivo / pasta ter compactação ou desativação.

Assim, você pode chegar a uma situação (eu a encontro da maneira mais difícil), em que a restauração com fsarchive (ou cp, etc) faria com que a partição ficasse cheia e não bastasse.

Alguns tipos de dados podem atingir uma taxa de compactação NTFS superior a 3, para que você possa ter uma partição X GiB com muitos arquivos e a soma dos arquivos ter tamanho aproximado de 3 x X.

Dou esse aviso porque não é bem conhecido e às vezes cria dores de cabeça muito grandes. como ao restaurar um clone, é necessário mais espaço do que toda a partição que foi clonada, causada porque a compactação NTFS se perdeu no Linux.

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

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

Ah, sim, o clone foi compactado e levou o dobro desse tamanho de partição.

Isso é causado porque a ferramenta clone lê os arquivos de forma simples (clara, não compactada) e depois comprime os dados (com uma proporção realmente pior do que o NTFS).

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

Espero que fique 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 proporção realmente boa.

Agora eu tinha descoberto o arquivo Pismo 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 uma proporção melhor que o NFTS) e, ao mesmo tempo, criptografado.

Por que eu mencionei isso? porque qualquer ferramenta clone verá esse contêiner como um arquivo (quando não estiver montado como pasta) e lerá / fará o dump / backup do fluxo de dados compactado, 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, coloquei uma pasta virtual Mount do arquivo Pismo. obtenha melhor compressão, etc.

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

Mas para discos virtuais imutáveis, ISOs e coisas que não mudam, a proporção obtida é muito próxima dos LZMA2 (7-Zip) e pode ser lida / gravada em tempo real.

E é multiplataforma.

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

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

Portanto, ele cria muitos GAPs no meio do arquivo e somente após uma desfragmentação de arquivo os GAPs desaparecem, mas essa desfragmentação não ocorre até que o usuário o solicite (contig.exe, defrag.exe, etc.).

Sim, ele grava o fragmento N'th 64K em um múltiplo de posição de 64K, independentemente de os dados anteriores poderem ou não ser compactados, deixa um espaço entre cada pedaço de 64K (se todos pudessem ser compactados).

A compactação de pasta virtual do Pismo File Mount age como qualquer compactação normal, modo canalizado, portanto, não há falhas. pelo menos até você excluir algo.

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, funciona em um nível baixo.

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

Também seria ótimo minha memória funcionar melhor. no passado, eu estava usando uma ferramenta (linha de comando, desculpe) no Windows que podia copiar / mover um arquivo de maneira não fragmentada. afastando os arquivos necessários enquanto obtém todo o necessário e não fragmentando esses. ele só envia uma mensagem se não conseguir encontrar uma maneira de colocar o arquivo (impossível encontrar um furo) ou um aviso diferente se precisar fragmentar outro arquivo (perguntando se autorizado pelo usuário), etc. foi realmente ótimo. Não lembro o nome (e talvez ele não funcione com janelas modernas, era para o Win2000).


0

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


O Wine não possui o aplicativo padrão de desfragmentação do Windows? ???
12125 Juan Juan

2
@ Juan, não, isso faz parte do Windows. O WINE apenas permite a execução de aplicativos de terceiros criados para o Windows. Também utiliza ioctls específicos do driver do sistema de arquivos do Windows que não estão disponíveis no linux.
Psd #

0

Existe uma fraude muito conhecida para arquivar uma desfragmentação NTFS (incluindo espaço livre) ... isso pode ser feito com um Live Linux como o SystemRescueCD ...

Mas, você deve ter um segundo HDD ou pelo menos 51% de espaço livre (se não estiver usando 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 sem executar um "clone" exato ... deixe-me explicar ...

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

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

Mas a parte complicada vem ao restaurar ... ele não coloca os arquivos onde eles estão, coloca os arquivos sem nenhuma fragmentação.

Eu o havia usado na partição do sistema Windows e nas partições de dados NTFS ... com êxito ... não é muito fácil de usar / entender (leia atentamente os documentos) ... mas pode fazer o truque.

Lembre-se ... um arquivo tão grande que ele cria pode ser compactado, então não precisa ter 51% de graça.

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

Então, etapas:

  1. Pior: o HDD possui apenas uma partição BIG NTFS, com espaço livre suficiente
  2. Inicialize SystemRescuCD (se você deseja iniciar o X windows com o comando do assistente)
  3. Use GParted para reduzir a partição NTFS ao tamanho mínimo (fragmentará mais os arquivos NTFS, não importa)
  4. Use GParted para criar outra partição no espaço livre, melhor se o tipo ext4 (diário)
  5. Monte essa nova partição, mas não monte NTFS
  6. Use 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 arriscado: use GParted para excluir a partição NTFS e recriá-la
  8. Restaure o "clone" usando fsarchiver, todos os arquivos na partição NTFS terão 1 fragmento (exceto um ou dois, porque $ MFT pode ser colocado no meio, não no início ou no final da partição)
  9. Use 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. Desmonte a partição ext4 recém-criada
  12. Use o Gparted para aumentar o ext4 (ou melhor, excluí-lo e recriá-lo)

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

Cuidado com os principais pontos:

  • O NFTS diminui, deixa espaço livre suficiente para armazenar uma imagem compactada da partição NTFS (51% livre no HDD garantirá que haja o suficiente)
  • O fsarchiver não salva os fluxos NTFS?
  • A restauração do fsarchiver não coloca os arquivos onde eles estão, eles os desfragmentam (como uma cópia)
  • Após excluir e recriar a partição NTFS, não há caminho de volta

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

IMPORTANTE:

  • Alguns podem pensar que, se você tiver 51% de espaço livre no disco rígido após a redução do NTFS, seria mais seguro criar esse ext4 e copiar todos os NTFS para ele, excluir o NTFS, recriá-lo e copiá-los de volta ... como permissões de segurança NTFS, etc.

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

Lembre-se: é muito, muito arriscado ... como em qualquer ferramenta "clone" ... e por enquanto não conheço outra maneira melhor ... e perderá os fluxos NTFS (se não me lembro 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 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 perder 8 eles resta mais um para recuperar dados ... eu sou um pouco paranóico, eu sei.


Eu não recomendaria esse método, pois (como você disse) é muito arriscado e geralmente não vale a pena devido a uma desfragmentação. É melhor usar os sistemas Windows live para realizar esse trabalho (ou o sistema Windows original - por que não?).
Byte Commander

O fsarchive é apenas um sofisticado arquivo tar que armazena alguns atributos estendidos. Não desfragmenta nada. Seu método é tão bom quanto a cópia simples de arquivos de uma partição para outro sistema de arquivos limpo.
ZAB
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.