ディスクイメージデバイスのサイズを変更するには?

ディスクイメージデバイスのサイズを変更するには?

バックアップドライブイメージのサイズを小さくしようとしています。ソースディスクには次のパーティションがあります。

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

イメージは、次のコマンドを使用して論理区画から作成されました。

> 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説明する:

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!

そうすれば、データに合わせてファイルシステムのサイズを変更しましたが、デバイスではそうではありません。 (2年前のことで忘れてしまいました。)デバイスのサイズを変更するにはfdiskを使用する必要がありますか?しかし、fdiskはパーティションを認識しません。

> 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

cfdiskも同様です:

> cfdisk datapartition 

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

ただし、パーティションをマウントしてそこからファイルをコピーできます。デバイスのサイズをどのように調整しますか?

ベストアンサー1

単にパーティションダンプの場合、パーティションテーブルはありません。パーティションはファイルなので、ファイルを縮小するだけです。

truncate -s 27000832000 datapartition

(安全のために、27000832000は26999992832で、次のMiBに丸められています。これをいくつかのqcow2形式または他のインストール可能な圧縮形式に圧縮したい場合)

おすすめ記事