dd para um sistema de arquivos diferente

0

É possível usar o dd para copiar dados de uma unidade NTFS para uma unidade formatada com XFS?

Estou convertendo meu NAS de uma configuração WHS (Windows Home Server) para o OpenMediaVault baseado em Linux. Então, estou me preparando para converter as unidades do NTFS para o XFS.

Se possível, eu gostaria de copiar diretamente do disco rígido NTFS para um disco rígido XFS e reformatar o disco rígido NTFS para o XFS para copiar o segundo HDD.

Eu sei copiar if = / dev / sda irá copiar a partição e os sistemas de arquivos também. Mas e se eu copiar / dev / sda1 para uma partição que esteja em um formato diferente?

    
por charsi 13.04.2017 / 14:29

2 respostas

2

Is it possible to use dd to copy data from an NTFS drive to an XFS formatted drive?

Não, dd lê / grava blocos, não arquivos. Ao gravar uma imagem de backup de uma unidade NTFS de origem em uma unidade de destino (XFS / EXT4 / FAT32), a unidade de destino se tornaria NTFS, independentemente do FS com o qual ela foi formatada anteriormente.

É possível montar uma imagem dd e copiar os dados:

mount -o ro,loop -t ntfs myimage.img /mnt/

mas melhor apenas tar your data = arquivar sem compactar mas salvar usuário, grupo e permissão!

tar cvf /foo/bar/my_backup.tar /

But what if I copy /dev/sad1 to a partition thats in a different format?

Sim, você pode montar duas unidades com diferentes sistemas de arquivos e copiar arquivos entre elas. ou seja: /dev/sda com NTFS e /dev/sdb com XFS.

    
por 13.04.2017 / 14:48
2

But what if I copy /dev/sad1 to a partition that[']s in a different format?

(Presumivelmente um erro de digitação, significando / dev / sda1)

Se você copiar com dd, o resultado é que a nova partição usa o mesmo formato, porque o dd preserva a formatação do sistema de arquivos. Então, o resultado não acaba sendo "em um formato diferente".

Is it possible to use dd to copy data from an NTFS drive to an XFS formatted drive?

Sim, você pode fazer o que você pediu.
No entanto, a partir de sua descrição, não está claro que o que você está pedindo (você pode armazenar dados do NTFS no XFS) fará exatamente o que você deseja.

De um comentário feito na resposta de Michael D:

dd if=a of=b is equivalent to cp a b

Geralmente, penso em dd como sendo projetado para funcionar bem com dispositivos. Se "a" e "b" (nos exemplos anteriores) são arquivos, então o que você disse é verdade. No entanto, dd é normalmente usado quando "a" ou "b" é um objeto "dispositivo" (ou, se ambos "a" eb "são dispositivos). Neste contexto, o termo" dispositivo "refere-se a um tipo de objeto Mais comumente / tradicionalmente, a interação com tais dispositivos envolverá comunicação com hardware, por exemplo, / dev / sda pode se referir a um disco rígido.Como o software é altamente personalizável, pode haver outros casos, como / dev / sda1 que comunica com apenas uma seção de dados no disco rígido.

Então, isso pode funcionar bem:

dd if=/dev/sda1 of=~/ntfscopy.img

Isso armazena toda a partição NTFS, incluindo os "metadados", como as estruturas internas do sistema de arquivos, em um arquivo chamado ~ / ntfscopy. Você poderia copiar isso para uma unidade XFS:

cp ~/ntfscopy.img /mnt/xfsdrive/ntfscopy.img

Ou, você pode pular essa etapa separada:

dd if=/dev/sda1 of=/mnt/xfsdrive/ntfscopy.img

Agora, isso pode ser útil para fazer backup dos dados. Quando você encontra algum espaço vazio em uma partição, pode escrevê-lo. (Claro, este exemplo envolve escrever para uma partição, então você tem que ter MUITO CUIDADO para não sobrescrever dados.)

dd if=/mnt/xfsdrive/ntfscopy.img of=/dev/sdb2

Isso mostra um exemplo útil de ter dados copiados de uma unidade NTFS para uma unidade XFS e isso funciona.

Agora, e se você quiser apenas que os arquivos sejam copiados de uma unidade NTFS, e não a partição NTFS inteira (incluindo a estrutura interna do sistema de arquivos, que faz com que a partição use a formatação NTFS)? Nesse caso, você não gostaria de ter usado o dd. Usando uma ferramenta diferente, você pode evitar ler / copiar desnecessariamente todas as estruturas internas do sistema de arquivos NTFS. por exemplo, você pode montar a unidade NTFS (somente leitura, se quiser) e usar "cp" para copiar dados da unidade NTFS (ou talvez "tar", se quiser que a saída seja um arquivo conveniente).

    
por 13.04.2017 / 15:59

Tags