Como redimensiono um dispositivo de imagem de disco?

2

Estou tentando reduzir o tamanho de uma imagem de unidade de backup. O disco original tinha essas partições:

Model: ST916082 1A (scsi)
Disk /dev/sde: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  Flags
 1      32.3kB  65.7GB  65.7GB  primary   ntfs         boot
 2      65.7GB  160GB   94.4GB  extended               lba
 5      65.7GB  160GB   94.4GB  logical   ntfs

A imagem foi criada a partir da partição lógica usando o comando

> sudo ddrescue /dev/sde5 datapartition logfile

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:         0 B,  errsize:       0 B,  errors:       0
Current status
rescued:    94368 MB,  errsize:       0 B,  current rate:   23068 kB/s
   ipos:    94368 MB,   errors:       0,    average rate:   28839 kB/s
   opos:    94368 MB,     time from last successful read:       0 s
Finished

ntfsresize -i -f datapartition diz:

ntfsresize v2012.1.15AR.5 (libntfs-3g)
Device name        : datapartition
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 26999992832 bytes (27000 MB)
Current device size: 94368605184 bytes (94369 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 26107 MB (96.7%)
Collecting resizing constraints ...
You might resize at 26106810368 bytes or 26107 MB (freeing 893 MB).
Please make a test run using both the -n and -s options before real resizing!

Parece que eu já redimensionei o sistema de arquivos para ajustar os dados, mas não redimensionei o dispositivo? (Isso foi há 2 anos, eu esqueci.) E eu preciso redimensionar o dispositivo usando o fdisk, certo? Mas o fdisk não reconhece a partição:

> fdisk -lu datapartition 

Disk datapartition: 94.4 GB, 94368605184 bytes
255 heads, 63 sectors/track, 11472 cylinders, total 184313682 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x69205244

This doesn't look like a partition table
Probably you selected the wrong device.

        Device Boot      Start         End      Blocks   Id  System
datapartition1   ?   218129509  1920119918   850995205   72  Unknown
datapartition2   ?   729050177  1273024900   271987362   74  Unknown
datapartition3   ?   168653938   168653938           0   65  Novell Netware 386
datapartition4      2692939776  2692991410       25817+   0  Empty

Partition table entries are not in disk order

nem o cfdisk:

> cfdisk datapartition 

FATAL ERROR: Bad primary partition 1: Partition begins after end-of-disk
                      Press any key to exit cfdisk

Eu posso montar a partição e copiar arquivos dela, no entanto. Como redimensiono o dispositivo?

    
por endolith 10.04.2013 / 06:04

2 respostas

5

Se for apenas o despejo da partição, não há tabela de partições. A partição é o arquivo, você só precisa encolher o arquivo:

truncate -s 27000832000 datapartition

(27000832000 é 26999992832 arredondado para o próximo MiB apenas para estar no lado seguro, você gostaria de comprimir por exemplo para um formato qcow2 ou qualquer outro formato comprimido montável)

    
por 10.04.2013 / 08:50
1

Você pode querer dar uma gparted uma olhada. Geralmente usamos essa distro ao vivo quando queremos redimensionar partições de vários tipos.

screenshots de amostra do gparted

Dê uma olhada no tutorial para mais detalhes.

    
por 10.04.2013 / 06:33