Copie para outro disco NTFS e preserve links físicos

8

Eu tenho que copiar a estrutura de diretórios de um disco NTFS local para outro (Windows 7+) e preservar links físicos que existem dentro dessa estrutura de diretórios.

Uma solução aceitável seria substituir links físicos por links simbólicos (relativos) antes da cópia, mas não tenho certeza se isso é praticável.

Quais são as opções aqui?

    
por estus 07.11.2015 / 03:39

3 respostas

7

Ferramenta para copiar links de disco rígido em partições de disco separadas

LN - Hardlinks de linha de comando

Comando: ln --copy x:\dir\dir2 y:\dir\newdir

In the above example the directories and files below x:\dir\dir2 are copied to y:\dir\newdir, and all hardlinks/junctions/symbolic links within x:\dir\dir2 are copied/tied to their new locations under y:\dir\newdir.

Recurso: link

Download: link

Nota: Parece que você acabou de baixar este software para sua arquitetura de CPU a partir do arquivo ZIP, bem como o vcredist (Visual C + + Redistribuível) e instalá-lo. Em seguida, basta extrair os arquivos e pastas do arquivo ZIP para uma nova pasta em algum lugar (.e.g C:\Temp ). Na linha de comando, vá até a pasta [directory] e execute os comandos necessários para os locais de sua unidade, como mostra o exemplo acima. A execução de ln --help mostra detalhes da ajuda, mas o exemplo de comando acima deve copiar o hard links da documentação.

Link Shell Extension

Recurso: link

Download: link

Seções ou funções de interesse com este software

  • Smart Mirror
  • Clone
  • Smart Copy

ln - Hardlinks da linha de comando - Download da captura de tela

ExtensãodoShelldelink-Downloaddacapturadetela

NOTAS INTERESSANTES

Parece hard links está bloqueado para a mesma partição de disco para seus ponteiros de arquivo, etc. e não pode ser usado em várias partições. Além disso, hard links em partições NTFS fazem parte dos Master File Table registros (ou atributos para as contagens, pelo menos), então copiá-los para um disco existente que tenha seu próprio MFT pareceria um problema se você não clonasse byte-by-byte no nível da partição, pelo menos.

    
por 12.11.2015 / 03:10
3

O utilitário de linha de comando rsync faz o que você pergunta.

Supondo que seus dados antigos estejam no local A e que seus novos dados estejam em B, faça o seguinte:

rsync -ahPruvz --hard-links A B

Citando o manual do rsync:

This tells rsync to look for hard-linked files in the source and link together the corresponding files on the destination.

Como obter rsync e usá-lo? Existem 2 alternativas fáceis para o Windows:

Primeira alternativa: use cygwin . É um software do Windows. Instale-o e, na etapa de seleção de pacotes, adicione rsync package. Deixe tudo o mais padrão. Depois de instalá-lo, use seu shell para digitar o comando. Se desejar, você pode usar o caminho completo, /usr/bin/rsync em vez de apenas rsync . Se você deseja acessar as unidades do Windows, use caminhos como "/ cygwin / drives" e sempre tente concluir automaticamente usando TAB.

Segunda alternativa: se é um computador desktop, use uma distribuição GNU / Linux ao vivo. Prepare uma imagem USB ao vivo, inicialize a partir dela, monte os discos desejados e invoque o rsync. Se a imagem ao vivo não tiver rsync , instale-a. ( apt-get install rsync no Debian e seus derivados.) Eu apenas uso Linux nos últimos 5 anos, desculpe, esta é a primeira alternativa que me vem à mente. Para qualquer um difícil no Windows, o cygwin deve ser mais fácil.

    
por 16.11.2015 / 04:33
2

Tente pesquisar no rsync para Windows. Como o rsync tem uma opção para preservar hardlinks (flag -H, --hard-links) ele deve fazer o trabalho (fonte: link ).

Você pode tentar pesquisar algo como cwRsync: link esse tem GUI.

cwRsync is a packaging of Rsync for Windows with a client GUI. You can use cwRsync for fast remote file backup and synchronization.

    
por 10.11.2015 / 17:48