Ubah ukuran gambar partisi dengan GParted?


15

Saya telah mengubah ukuran partisi di GParted sebelumnya. Sekarang saya ingin memindahkan partisi yang besar tetapi sebagian besar kosong ke drive yang lebih kecil. Alih-alih mengubah ukurannya di tempat, saya lebih memilih untuk membuat salinan pada drive ke-3 (gambar drive menggunakan dd), mengubah ukuran salinan, dan kemudian menyalin salinan ke drive baru. Tapi saya tidak berpikir Gparted beroperasi pada gambar drive? Bagaimana saya melakukan ini? Bisakah saya menggunakan alat yang digunakan GParted secara langsung?

Ooh! Atau bisakah saya menggunakan hal loopback untuk membuat file gambar terlihat seperti drive fisik yang dapat dioperasikan gparted?


Jawaban:


3

Anda tidak dapat melakukan ini dengan GParted, tetapi Anda dapat menggunakan ntfsresizeperintah secara langsung pada gambar disk.

Pertama, clone image disk. Anda dapat menemukan nama perangkat disk menggunakan blkidatau gParted, dan kemudian jalankan:

sudo dd if=<disk device> of=<image file>

Sebagai contoh:

$ sudo dd if=/dev/sda2 of=disk.img
1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied, 9.33361 s, 54.9 MB/s

Kemudian, verifikasi apakah Anda dapat mengubah ukurannya ke ukuran yang Anda butuhkan dengan menjalankan:

ntfsresize -i <image file>

Misalnya:

$ ntfsresize -i disk.img
ntfsresize v2011.4.12 (libntfs-3g)
Device name        : disk.img
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 511996416 bytes (512 MB)
Current device size: 512000000 bytes (512 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 4 MB (0.6%)
Collecting resizing constraints ...
You might resize at 3035136 bytes or 4 MB (freeing 508 MB).
Please make a test run using both the -n and -s options before real resizing!

Dalam contoh ini, saya dapat mengubah ukuran hingga 4MB karena saya baru saja membuat gambar disk kosong untuk tujuan ilustrasi!

Sekarang Anda dapat melakukan uji coba jika mau, meskipun itu tidak sepenuhnya diperlukan karena Anda beroperasi pada gambar. Anda dapat menentukan ukuran dalam kilobyte, megabyte, atau gigabyte dengan menambahkan k, M, atau G, masing-masing:

ntfsresize -cnvs <size> <image file>

Misalnya:

$ ntfsresize -cnvs 256M disk.img 
ntfsresize v2011.4.12 (libntfs-3g)

Tidak ada output yang baik! Sekarang lakukan itu nyata:

ntfsresize -vs <size> <image file>

Contoh terakhir:

$ ntfsresize -vs 256M disk.img 
ntfsresize v2011.4.12 (libntfs-3g)
Device name        : disk.img
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 511996416 bytes (512 MB)
Current device size: 512000000 bytes (512 MB)
New volume size    : 255996416 bytes (256 MB)
Checking for bad sectors ...
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 4 MB (0.6%)
Collecting resizing constraints ...
Needed relocations : 625 (3 MB)
WARNING: Every sanity check passed and only the dangerous operations left.
Make sure that important data has been backed up! Power outage or computer
crash may result major data loss!
Are you sure you want to proceed (y/[n])? y
Schedule chkdsk for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Relocating needed data ...
Relocate record       1:0x80:00000001:0x00000000:0x0000f423 --> 0x00007a11
Relocate record       2:0x80:00000624:0x00000000:0x0000f424 --> 0x00007a12
100.00 percent completed
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
Syncing device ...
Successfully resized NTFS on device 'disk.img'.
You can go on to shrink the device for example with Linux fdisk.
IMPORTANT: When recreating the partition, make sure that you
  1)  create it at the same disk sector (use sector as the unit!)
  2)  create it with the same partition type (usually 7, HPFS/NTFS)
  3)  do not make it smaller than the new NTFS filesystem size
  4)  set the bootable flag for the partition if it existed before
Otherwise you won't be able to access NTFS or can't boot from the disk!
If you make a mistake and don't have a partition table backup then you
can recover the partition table by TestDisk or Parted's rescue mode.

Itu dia! Sekarang Anda dapat menyalin gambar disk ke perangkat baru.


Hmmm ... partisi logical ada di dalam partisi extended. Haruskah saya menemukan partisi logis itu sendiri ketika membuat salinan?
endolith

Saya menggunakan resize2fs pada file gambar ext3 tadi malam, dan file itu sendiri berkurang ukurannya sesudahnya! :) Saya pikir itu akan menjadi langkah terpisah karena sistem file tidak sama dengan partisi.
endolith

@endolith: Ya, ddpartisi logis. Jika Anda melakukan partisi extended, Anda akan mendapatkan semua partisi logis di dalamnya!
Tambalan

@Atch: Yah hanya ada satu partisi logis di dalamnya, dengan ukuran yang sama. :)
endolith

1
@endolith: Tetap saja, saya pikir ddpartisi extended akan membawa info tambahan yang akan membingungkan e2fsprogsdan ntfsprogs. Mereka tidak tahu apa-apa tentang partisi, seperti yang Anda temukan sebelumnya.
Tambalan

14

Saya tidak yakin apa situasinya 5 tahun yang lalu, tetapi hari ini kue.

$ sudo udisksctl loop-setup -f disk.img
Mapped file disk.img as /dev/loop0.
$ sudo gparted /dev/loop0

Sekarang kamu bisa makan kue.


0

Bisakah Anda mengubah ukurannya di tempat dengan GParted lalu menggunakan Clonezilla untuk memindahkan partisi ke disk baru?


2
Saya tidak ingin mengubah ukurannya di tempat. Tidak ingin mengacaukan yang asli jika saya tidak perlu.
endolith

0

Saya telah menggunakan GParted selama bertahun-tahun, dan tidak pernah kehilangan sedikit pun. Saya juga suka Easus edisi rumah gratis untuk Windows.

Seberapa besar / kecil partisi Anda? Bisakah Anda menyalin data ke USB / DVD / sistem penyimpanan online gratis, agar tidak hilang - dan kemudian mengubah ukuran di tempat? Dua alat yang disebutkan di atas tidak akan kehilangan data Anda jika Anda membiarkannya selesai.

Anda mengatakan I've resized partitions in GParted before- jadi mengapa khawatir sekarang? Dan DD akan membuat sedikit untuk salinan bit ... jadi Anda harus mengubah ukuran pula (defrag terlebih dahulu).


Saya mengubah partisi dari Drive A (yang ingin saya baca-saja) menjadi file gambar di Drive C, mengubah ukurannya, dan kemudian memindahkannya ke partisi di Drive B, yang lebih kecil dari A (jadi saya harus mengubah ukuran pertama).
endolith
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.