Como clonar uma partição NTFS (WinXP) de um disco danificado para um novo?


10

Preciso clonar uma partição NTFS de um disco rígido danificado, quase para morrer (SCSI, se isso for importante) para um novo (SATA).

Instalei a última versão dos utilitários do CD de inicialização do Hiren em um pendrive e tentei com o GParted, que me disse que não pode copiar / colar a partição porque está danificada e "sinalizada" pelo Windows para executar o CHKDSK. Eu segui o aviso de aviso e tentei consertá-lo usando CHKDSK /f(demorou 9 horas e saiu com um erro após a "fase 3") e um programa Linux que não consigo me lembrar agora, sem sucesso.

Tentei clonar usando o Clonezilla, e ele também falhou, pelos mesmos motivos. No HBCD, há dd_rescue, mas falhou novamente porque não consegue encontrar "ntfs.something".

No final, tudo o que eu quero é clonar essa partição como ela é, com seus erros e tudo mais. Eu posso consertá-lo na nova unidade.

Então, o que eu deveria fazer?


Qual foi a mensagem de erro retornada CHKDSK /fapós a "fase 3"?

Respostas:


5

Obviamente, você pode tentar reparar a partição NTFS na unidade original, mas não posso recomendar isso, pois os problemas podem ser causados ​​por falha de hardware e a reparação pode piorar as coisas.

Faça um bloco para copiar em bloco com ddrescue para um arquivo primeiro. Se houver algum bloco que não possa ser copiado ddrescue, o restante do disco continuará.

Se ddrescuenão encontrar nenhum bloco defeituoso, tente usar o software de reparo no arquivo (montado via loopback). Se houver problemas com a unidade SCSI ou você quiser apenas começar do zero, faça uma cópia do seu arquivo e tente reparar o sistema de arquivos NTFS na segunda cópia. Como copiar um disco com erros pode levar um processo demorado, pode ser necessário interromper o processo (porque você precisa do computador, para deixar a unidade esfriar ou para reiniciar o firmware da unidade).

É por isso que na minha experiência ddrescueé muito superior em casos problemáticos do que é ddcom conv=noerror. ddrescuemantém um log sobre o que foi feito e reinicia com base nessas informações, um recurso indisponível para ele dd. ddrescuetambém é mais inteligente nos blocos de leitura a partir do final, se encontrar uma área problemática. Ele chegará muito mais rapidamente ao estado de cópia da imagem que você pode usar como base para uma verificação do sistema de arquivos (e poderá continuar com ddrescuea cópia original). Você só pode fazer algo assim ddse estiver disposto a gastar muito tempo calculando as compensações manualmente.

Você também pode copiar o arquivo para uma partição NTFS do tamanho certo, colocar a unidade em uma máquina Windows e usar as ferramentas de reparo nativas de lá.


1
Muito útil! Você poderia adicionar um exemplo exato da linha de comando ddrescueem ação, semelhante ao ddexemplo da outra resposta?
landroni

2
@landroni Eu poderia (basicamente ddrescue /dev/sdX driveimage logfile), mas você realmente deveria se esforçar na leitura da ddrescuedocumentação. Se o seu sistema estiver com problemas, há muitas razões para ler o manual antes de potencialmente piorar as coisas.
Anthon

Agora estou olhando a página de manual, mas algumas das opções são enigmáticas. Qual seria o ddrescueequivalente mais conservador dd if=/dev/olddisk of=/dev/newdisk bs=4k conv=noerror,sync? Tendo em mente que ele seria executado em um disco danificado (e morrendo), e que "tentar resgatar dados em caso de erros de leitura" não é realmente uma opção. Obrigado!
landroni

@landroni com as opções dadas no meu comentário anterior, cada setor em um bloco é tentado apenas uma vez. A única maneira que eu sei disso é que você pode melhorar isso se souber quais áreas estão corretas, com certeza, usar -ie -srecuperá-las.
Anthon

Bem, da última vez que tentei ddrescue /dev/sr0 driveimage.iso(em um CD riscado), o programa tentou ler novamente muitos setores defeituosos, várias vezes. Eu posso estar errado, mas eu ficaria nervoso sobre a execução ddrescuesem outras opções limitadoras em um disco que está morrendo.
landroni

3

Teve o mesmo problema: Disco que está prestes a morrer,
com a partição NTFS que eu queria resgatar primeiro e corrigir depois
(antes que o disco acabe totalmente).

Foi capaz de resolvê-lo com o ntfsclone :

  1. Conecte os dois discos - antigos e novos
  2. Inicialize com o Live-Linux a partir de USB
    (pode usar o Parted Magic para isso também)
  3. Crie uma partição grande o suficiente no novo disco
    (use gparted para isso)
  4. Observe o nome das partições, como elas são nomeadas em gparted
    ( /dev/sdaX, /dev/sdbX)
  5. Abra uma janela do terminal e execute o seguinte comando: (substitua e com os nomes da etapa '4.' - ) O ntfsclone irá reclamar sobre você ignorando as inconsistências, mas deve continuar com a cópia da partição
    ntfsclone --force --ignore-fs-check --rescue --overwrite NEW-part OLD-part
    NEW-partOLD-part/dev/sd...

- quando terminar -

  1. Desligue o PC
  2. Desconecte o disco defeituoso
    (você deseja usá-lo o menos possível agora)
  3. Inicialize o PC novamente - no Windows ou Linux
    e tente corrigir a partição no novo disco

EDITAR:

- OBSERVAÇÃO - A
fonte de alimentação com defeito (instável) pode fazer com que os controladores de disco fiquem malucos
e são muito mais propensos a falhar do que os discos, portanto, é melhor verificar isso também.
Você pode experimentar um comportamento de que tudo funciona bem por alguns minutos
(ou segundos) e, em seguida, o sistema começa a enlouquecer, assim que aquece, literalmente.

(consertar a fonte de alimentação não restaurará os dados perdidos, é claro, mas evitará que você os perca mais)


1

Eu tentaria reparar o disco com HDAT (freeware) ou possivelmente Spinrite (Commercial). Eu usei essas duas ferramentas para recuperar discos que estavam falhando e ambos funcionaram bem no passado.

Até que a unidade esteja em um estado utilizável, não prevejo que você se esforce demais em seus esforços de recuperação. Depois que o disco for limpo, eu usaria o Clonezilla para replicá-lo o mais rápido possível para um disco rígido alternativo.


0

Eu sinto que esta pergunta deve ter um exemplo de trabalho, então é assim que eu usei o ddrescue

0) Instalou uma unidade de substituição de tamanho (e marca) idêntica na garantia e moveu a unidade antiga para um segundo slot

1) Eu usei um cd de inicialização do ubuntu

Eu tentei a opção simples, mas imediatamente produziu muitos erros e travou

dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync
root@ubuntu:~# dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync
dd: error reading ‘/dev/sdb’: Input/output error
57496+0 records in
57496+0 records out
29437952 bytes (29 MB) copied, 6.02927 s, 4.9 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+1 records in
57497+0 records out
29438464 bytes (29 MB) copied, 8.86693 s, 3.3 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+2 records in
57498+0 records out
29438976 bytes (29 MB) copied, 11.7068 s, 2.5 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+3 records in
57499+0 records out

2) Leia estes artigos:

Observe o último recomendado usando -do acesso direto ao disco, mas eu não o usei

3) ddrescue instalado

sudo apt-get install gddrescue
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install gddrescue
man ddrescue

Também pode precisar (?)

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"

4) Finalmente executei (se você estiver copiando e colando, pare, sda é minha nova unidade ... preste atenção e faça sua lição de casa)

ddrescue -v -r3 /dev/sdb /dev/sda ~/ddrescue.log
  • -v detalhado
  • -r 3 tentativas
  • ~ / xx arquivo de log que pode ser usado para repetir aparentemente. Observe que isso é armazenado apenas na memória, mas pode ser copiado para uma unidade USB

Resultado:

GNU ddrescue 1.17
About to copy 1000 GBytes from /dev/sdb to /dev/sda
    Starting positions: infile = 0 B,  outfile = 0 B
    Copy block size: 128 sectors       Initial skip size: 128 sectors
Sector size: 512 Bytes

Press Ctrl-C to interrupt
rescued:    22555 MB,  errsize:    196 kB,  current rate:   91815 kB/s
   ipos:    22555 MB,   errors:       5,    average rate:   68975 kB/s
   opos:    22555 MB,    time since last successful read:       0 s
Copying non-tried blocks...

5) Janelas inicializadas e reativadas ... tbc


0

Dia bom!

A questão é quanto o seu disco de origem está danificado. Se estiver quase arruinado, a única maneira de clonar dados é usar suítes profissionais de recuperação de dados de hardware. Como Atola Insight

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.