Não é possível montar a cópia do arquivo de imagem (ddrescue): “não pode ter uma partição fora do disco”

2

Eu estou lutando por dias agora movendo minha antiga instalação Windows XP para um novo disco rígido, porque o disco antigo está falhando.

Longa história:

Eu criei com sucesso uma imagem de todo o disco (com falha) e consegui montá-lo no Linux. Agora eu quero copiá-lo (o arquivo de imagem) para outro disco, mas a cópia parece ter um erro (veja abaixo)

O que eu fiz

(entre muitas outras coisas)

Eu encontrei este excelente tutorial: link

clonagem com falha na unidade para .img com ddrescue -d

  • instalou Linux Mint 17 em outra unidade no PC
  • comprou um novo disco rígido de 3 TB
  • clonou todo o disco com falha (Seagate, 500 GB) com ddrescue em um arquivo de imagem em uma partição do disco rígido de 3 TB
    sudo ddrescue -d /dev/sdc Seagate500GB_ddrescue3.img Seagate500GB_ddrescue3.logfile

Resultado:

GNU ddrescue 1.17 Press Ctrl-C to interrupt rescued: 500107 MB, errsize: 512 B, current rate: 1536 B/s ipos: 392967 MB, errors: 1, average rate: 27113 kB/s opos: 392967 MB,
time since last successful read: 0 s Finished

Logfile: Rescue Logfile. Created by GNU ddrescue version 1.17
Command line: ddrescue -d /dev/sdc Seagate500GB_ddrescue3.img Seagate500GB_ddrescue3.logfile
current_pos current_status 0x5B7EA9B400 +
pos size status 0x00000000 0x5B7EA9B000 + 0x5B7EA9B000 0x00000200 - 0x5B7EA9B200 0x18F216AE00 +

testou a imagem e conseguiu montá-la no Linux

Sudo parted Seagate500GB_ddrescue3.img [sudo] password for martin: GNU Parted 2.3 Using /media/martin/data1/Seagate500GB_ddrescue3.img Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) unit
Unit? [compact]? B
(parted) print
Model: (file) Disk /media/martin/data1/Seagate500GB_ddrescue3.img: 500107862016B Sector size (logical/physical): 512B/512B Partition Table: msdos

Number Start End Size Type File system Flags 1 32256B 70597578239B 70597545984B
primary ntfs boot 2 70605802496B 500105249279B 429499446784B extended lba 5 70605834752B 500105249279B 429499414528B logical ntfs

(parted)

sudo mkdir mountpoint

sudo mount -o loop,ro,offset=70605834752 Seagate500GB_ddrescue3.img mountpoint

Copiou o arquivo .img para outro disco (hfs + volume)

No explorador de arquivos do Linux (Nautilus?) eu copiei o arquivo .img para outro disco. Infelizmente eu só tinha espaço suficiente em um disco formatado hfs+ (journaled) , então eu tive que montá-lo com permissões de gravação no Linux (como descrito aqui ) e copiou o arquivo .img para ele.

agora dividido não pode listar as partições da imagem copiada:

ainda na máquina Linux com a unidade hfs + montada após a cópia:

martin@pcmint /media/martin/MacBak04 $ sudo parted Seagate500GB_ddrescue3.img [sudo] password for martin: GNU Parted 2.3 Using /media/martin/MacBak04/Seagate500GB_ddrescue3.img Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) unit
Unit? [compact]? B
(parted) print
Error: Can't have a partition outside the disk!
(parted) quit

com sfdisk eu posso listar as partições:

sudo sfdisk -d Seagate500GB_ddrescue3.img Warning: extended partition does not start at a cylinder boundary. DOS and Linux will interpret the contents differently. read: Inappropriate ioctl for device

sfdisk: read error on Seagate500GB_ddrescue3.img - cannot read sector 137901958 partition table of Seagate500GB_ddrescue3.img unit: sectors

Seagate500GB_ddrescue3.img1 : start= 63, size=137885832, Id= 7, bootable Seagate500GB_ddrescue3.img2 : start=137901958, size=838866107, Id= f Seagate500GB_ddrescue3.img3 : start= 0, size= 0, Id= 0 Seagate500GB_ddrescue3.img4 : start= 0, size= 0, Id= 0

martin@pcmint /media/martin/MacBak04 $ sudo sfdisk -l Seagate500GB_ddrescue3.img Disk Seagate500GB_ddrescue3.img: cannot get geometry

Disk Seagate500GB_ddrescue3.img: 187 cylinders, 255 heads, 63 sectors/track Warning: extended partition does not start at a cylinder boundary. DOS and Linux will interpret the contents differently. read: Inappropriate ioctl for device

sfdisk: read error on Seagate500GB_ddrescue3.img - cannot read sector 137901958 Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

Device Boot Start End #cyls #blocks Id System Seagate500GB_ddrescue3.img1 * 0+ 8582 8583- 68942916 7 HPFS/NTFS/exFAT Seagate500GB_ddrescue3.img2 8583+ 60800 52218- 419433053+ f W95 Ext'd (LBA) Seagate500GB_ddrescue3.img3 0 - 0 0 0 Empty Seagate500GB_ddrescue3.img4 0 - 0 0 0 Empty

a imagem original mostra mais uma partição!

martin@pcmint /media/martin/data1 $ sudo sfdisk -l Seagate500GB_ddrescue3.img [sudo] password for martin: Disk Seagate500GB_ddrescue3.img: cannot get geometry

Disk Seagate500GB_ddrescue3.img: 60801 cylinders, 255 heads, 63 sectors/track Warning: extended partition does not start at a cylinder boundary. DOS and Linux will interpret the contents differently. Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

Device Boot Start End #cyls #blocks Id System Seagate500GB_ddrescue3.img1 * 0+ 8582 8583- 68942916 7 HPFS/NTFS/exFAT Seagate500GB_ddrescue3.img2 8583+ 60800 52218- 419433053+ f W95 Ext'd (LBA) Seagate500GB_ddrescue3.img3 0 - 0 0 0 Empty Seagate500GB_ddrescue3.img4 0 - 0 0 0 Empty Seagate500GB_ddrescue3.img5 8584+ 60800 52217- 419433022 7 HPFS/NTFS/exFAT

Pergunta

O que eu fiz de errado? O arquivo de imagem copiado está danificado?

Posso consertar ou tenho que escolher outro método para copiá-lo em outro lugar (talvez com dd =?

    
por MostlyHarmless 21.02.2015 / 10:11

0 respostas