扩充VMWare虚拟机硬盘容量的方法以及扩容后无法启动的修复方式

本文主要讨论两个问题:

1、原来的虚拟机硬盘空间不足,如何扩充。

2、如果使用vm自带的工具扩充硬盘后,虚拟机无法启动,如何修复。

 

对于问题1,解决的方法有2种:

1)在vm中新建一个硬盘,挂到该虚拟机中;(此种方法较简单,不在本文讨论之列)

2)使用vm自带的工具,扩充硬盘容量。

首先我们在vmware安装的目录下,找到vmware-vdiskmanager.exe,
然后在“运行”中输入cmd,打开命令提示符工作窗口。此程序的使用方法如下:
-----------------------------------------------------------------------------------------
VMware Virtual Disk Manager - build 12544.
Usage: vmware-vdiskmanager.exe OPTIONS diskName | drive-letter:
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      : 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      : convert the specified disk; need to specify
                            destination disk-type
     -x     : expand the disk to the specified capacity
     Additional options for create and convert:

        -a       : adapter type (ide, buslogic or lsilogic)
        -s          : capacity of the virtual disk
        -t     : 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.vm
dk
        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 m:
              (A virtual disk first needs to be mounted at m:
               using the VMware Diskmount Utility.)
------------------------------------------------------------------------------------------
扩充硬盘容量的参数是-x,如上面红色部分所示,使用方法举例如下:
vmware-vdiskmanager -x 20Gb “yourVdisk.vmdk”

其中20Gb是扩充后的硬盘总容量,包括原有容量在内,yourVdisk.vmdk是你原来的虚拟机硬盘文件(完整路径+文件名)
在使用中,需要注意如下事项:
1)如果原来的硬盘有snapshot,建议先删除快照,再进行扩容操作;
2)操作前最好先备份重要数据,以免出现任何问题后系统无法启动;(本人有过惨痛经历)
3)进行扩容后的硬盘空间,多出来的部分会以空白且未分区的空间出现,需用第三方软件如Partition Magic等来创建或者

调整硬盘分区大小。

 

现在讨论问题2,如果按照上面的操作,扩容后出现虚拟机无法启动,怎么办?

本人就曾遇到这个问题,扩容后虚拟机启动时停在了xp的读进度条界面,一开始以为是snapshot作怪,

但是后来发现并没有做过快照,遂排除此可能性。因为在扩容前没有将硬盘文件备份,所以出现问题后很着急,

网上搜索无果,只好自己尝试,最后终于成功解决。

在此先推荐一个软件:DiskGenius,原名DiskMan,它在这个问题的修复中起到了关键的作用。

首先,它能够读取VM虚拟机的硬盘文件,也就是vmdk文件,这样,即使你的虚拟机无法启动,你也可以用它把硬盘中的

文件读取出来,至少保证了数据的安全性。

其次,本人用它修复虚拟机硬盘的过程也很简单,也是抱着尝试的心态进行的。按照上面扩容的时候提到的,新增的内容是

以空白且未创建分区的空间形式出现的,本人的理解是操作系统在启动中对硬盘的这一变化无法适应,导致无法正常启动,

因此我用DiskGenius对这一新增空间进行格式化和创建分区,然后重启虚拟机,系统正常启动,问题解决!

 

谨在此抛砖引玉,希望大家对工作中遇到的问题共同探讨,谢谢。

你可能感兴趣的:(扩充VMWare虚拟机硬盘容量的方法以及扩容后无法启动的修复方式)