Χρησιμοποιώ συχνά virtual machines με το Vmware, είτε για να δοκιμάσω alpha/beta tools, είτε για να μην πειράξω υπάρχοντα working boxes. Σήμερα, εγκατέστησα ένα Windows Server 2003 R2 σε ένα virtual machine, αλλά από βιασύνη του έβαλα μόνο 10GB χωρητικότητα. Κατάλαβα το λάθος μου όταν έκανα windows update και είδα αποτυχία στο download του Service Pack 1 για το Visual Studio 2005 και στο Service Pack 2 του SQL Server 2005. Στα GUI εργαλεία του Vmware Workstation, όσο και αν έψαξα, δεν βρήκα κάτι. Με λίγη αναζήτηση όμως, ήμουνα τυχερός. Βρήκα τη λύση σε αυτό το blog.
Είναι πανεύκολο, αρκεί από command να δώσετε την εντολή
vmware-vdiskmanager -x sizeGB path_to_file.vmdk
όπου size το καινούριο μέγεθος σε GB που θέλετε να δώσετε στο image σας
Το συγκεκριμένο utility έχει και διάφορες άλλες επιλογές, τις οποίες μπορείτε να δείτε εδώ
D:Program FilesVMwareVMware Workstation>vmware-vdiskmanager
VMware Virtual Disk Manager – build 59824.
Usage: vmware-vdiskmanager.exe OPTIONS <disk-name> | <mount-point>
Offline disk manipulation utility
Options:
-c : create disk; need to specify other create options
-d : defragment the specified virtual disk
-k : shrink the specified virtual disk
-n <source-disk> : rename the specified virtual disk; need to
specify destination disk-name
-p : prepare the mounted virtual disk specified by
the drive-letter for shrinking
-q : do not log messages
-r <source-disk> : convert the specified disk; need to specify
destination disk-type
-x <new-capacity> : expand the disk to the specified capacity
Additional options for create and convert:
-a <adapter> : (for use with -c only) adapter type (ide, buslogic or lsilogic)
-s <size> : capacity of the virtual disk
-t <disk-type> : disk type id
Disk types:
0 : single growable virtual disk
1 : growable virtual disk split in 2Gb files
2 : preallocated virtual disk
3 : preallocated virtual disk split in 2Gb files
The capacity can be specified in sectors, Kb, Mb or Gb.
The acceptable ranges:
ide adapter : [100.0Mb, 950.0Gb]
scsi adapter: [100.0Mb, 950.0Gb]
ex 1: vmware-vdiskmanager.exe -c -s 850Mb -a ide -t 0 myIdeDisk.vmdk
ex 2: vmware-vdiskmanager.exe -d myDisk.vmdk
ex 3: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
ex 4: vmware-vdiskmanager.exe -x 36Gb myDisk.vmdk
ex 5: vmware-vdiskmanager.exe -n sourceName.vmdk destinationName.vmdk
ex 6: vmware-vdiskmanager.exe -k myDisk.vmdk
ex 7: vmware-vdiskmanager.exe -p <mount-point>
(A virtual disk first needs to be mounted at <mount-point>)
Όπως μπορείτε να δείτε, το αποτέλεσμα ήταν επιτυχές!!
Βέβαια, με αυτό τον τρόπο δεν αυξάνεται το μέγεθος του primary partition του virtual machine, αλλά προστίθεται ένα unassigned partition σε αυτό. Με τη χρήση του diskpart utility του λειτουργικού μπορείτε να το κάνετε format και assign σε ένα drive letter, και με τη χρήση εξειδικευμένων προγραμμάτων partitioning, μπορείτε να κάνετε merge τα δύο partitions (το primary που είχατε πριν με αυτό που δημιουργήσαμε πριν λίγο).