重新 设置 vmware 硬盘 大小 扩容 扩大 加大 增加

This blog post describes how you canresize your VMWare virtual disks.

There are multiple ways to performthis task. Paul wrote me a comment saying that there is an easy way that Ididn't know before:VMWare Converter. So I added this info to mypost.

AS ALWAYS, BEFORE YOU BEGIN, MAKESURE YOU HAVE A GOOD BACKUP!

Method 1: Using VMWare Converter (tested with v3):

  1. Turn off the virtual machine;
  2. Start the VMWare Converter application;
  3. Open the Convert Machine wizard;
  4. Select 'standalone virtual machine' as the source anddestination system;
  5. Choose 'Select volumes and resize to save or add space';
  6. Enter a new size and voilá, you're done!

Some say that the expand process is slow and that VMWare Tools might need to bereinstalled. A disadvantage is that Converter will create a new (many GB) copyof your VM.

Method 2: Using the VDiskManager:

  1. Turn off the virtual machine;
  2. Commit/remove all the snapshots first! (I forgot to mention this, thanks JimO). Or make a Full Clone if you use Link Clones.
  3. Open a Command Prompt and go to:
    C:\Program Files\VMWare\VMWare Server or C:\Program Files\VMware\VMware Workstation

or for 64-bit
C:\Program Files (x86)\VMWare\VMWare Server or C:\Program Files(x86)\VMware\VMware Workstation

  1. Run this command to expand the virtual disk:
    vmware-vdiskmanager -x 12GB "My harddisk.vmdk" (in this case, 12 GB will be the new size). The file name can contain spaces because of the double quotes.
  2. Note: Because this only expands the disk and not the partition, you'll need to resize the partition table as well. This can be done by 3rd party tools like'Partition Magic', but also with'diskpart.exe', a built-in tool of Windows. VMWare provides a list of tools on their web site:http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1004071
    I prefer to use Microsoft diskpart.exe and that’s where this post is about (more info).

Instructions for Windows Vista, 7and 2008R2 are below!

If your VM runs Windows 2000, XP,Server 2003 or Server 2003 R2 If your resized virtual disk isbootable, you cannot use diskpart from the virtual machine itself. Use a 3rdparty tool or use another virtual machine. Here I describe how to usediskpart.exe with a 2nd virtual machine.

  1. Add the increased virtual hard disk to a second virtual machine;
  2. Power on this 2nd virtual machine;
  3. Open a Command Prompt and type:
    diskpart
  4. Type:
    list volume

    Remember the volume number (#) of your volume!
  5. Type:
    select volume <volume number> (the number from step 8)
  6. Type:
    extend
  7. Turn off this 2nd virtual machine and remove the virtual hard disk from the virtual machine configuration. This won't delete the hard disk file from disk;
  8. Your now finished! You can boot your VM with the resized disk. Windows automatically recognizes the new and correct disk and volume size.

If your VM runs Windows Vista, Windows 7, Windows Server 2008 or WindowsServer 2008 R2
These versions of Windows ship with a more enhanced version of diskpart.exethat supports partition extension for bootable disks.

  1. Power on your virtual machine;
  2. Open a Command Prompt and type:
    diskpart
  3. Type:
    list volume

    Remember the volume number (#) of your volume!
  4. Type:
    select volume <volume number> (the number from step 8)
  5. Type:
    extend
  6. Your now finished! You do not have to reboot.

 

Please leave me a comment about yourresults. If somebody has an advice, please post it. I'll add it to this post(with your name) so that others can benefit from it too.

Hope this helps,

Update 2008-04-23: Refreshed thepost. Fixed some spelling errors. Improved text formatting.

Update 2008-06-12: Found anothergood site with up to 6 methods! Have a look here:http://vmware-land.com/Resizing_Virtual_Disks.html

Update2009-08-26: Fixed a space in vmware-vdiskmanager, added x64-info and WindowsVista/7/2008R2 information


重新 设置 vmware 硬盘 大小 扩容 扩大 加大 增加