web-dev-qa-db-ja.com

ディスクイメージデバイスのサイズを変更するにはどうすればよいですか?

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

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

ただし、パーティションをマウントしてファイルをコピーすることはできます。デバイスのサイズを変更するにはどうすればよいですか?

2
endolith

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

truncate -s 27000832000 datapartition

(27000832000は、安全のために次のMiBに切り上げられた26999992832です。たとえば、qcow2形式またはその他のマウント可能な圧縮形式に圧縮しますか?)

5

gparted を見てみたくなるかもしれません。さまざまなタイプのパーティションのサイズを変更する場合は、通常、このライブディストリビューションを使用します。

gpartedのサンプルスクリーンショット

ss of gparted #1

ss of gparted #2

詳細については、 このチュートリアル をご覧ください。

1
slm