2013年5月3日星期五

如何查找物理磁盘编号——解决VMWARE挂载物理磁盘时出现的编号变化的问题


VMware挂载物理磁盘时,使用PhysicalDriveX的方式标记物理磁盘。不过,这个编号很容易变化,比如你挂载的是一块移动硬盘的某个分区,或者虚拟机复制到了其它机器上。由于只是编号的变化,我们只需要修改一下编号,就可以让虚拟机找到正确的磁盘。

首先,我们需要确定新的编号是多少。在命令提示符输入以下命令:
wmic diskdrive list
上面命令可能显示的内容太多,可以输入以下命令精简一下内容:
wmic diskdrive list brief
根据驱动器的名称,我们很容易找到物理磁盘编号。比如我的是:
C:\Users\Virtuoustao>wmic diskdrive list brief
Caption                  DeviceID            Model                    Partitions  Size
ST950042 3AS USB Device  \\.\PHYSICALDRIVE1  ST950042 3AS USB Device  2           500105249280
SSK HE-T300 USB Device   \\.\PHYSICALDRIVE2  SSK HE-T300 USB Device   3           500105249280
INTEL SSDSA1M080G2HP     \\.\PHYSICALDRIVE0  INTEL SSDSA1M080G2HP     2           80023265280
找到了SSK的移动硬盘编号是PHYSICALDRIVE2。

然后,我们需要修改VMware的配置文件。到虚拟机根目录下,可以看到有好多vmdk后缀的文件,这些就是对虚拟机磁盘的描述。命名方式一般是“<虚拟机名>-<编号>.vmdk”。我们如何确定哪个是我们的物理磁盘配置文件呢?很简单,去“VM→Settings...→Hardware”,在列表里找到你的磁盘,Disk file就是相应磁盘的配置文件。我的是“Ubuntu 64-bit-1.vmdk”。

用UltraEdit或者其它高级文本编辑器打开Ubuntu 64-bit-1.vmdk(此文件用的是Linux换行符,因此最好不要用Windows自带的文本编辑器),会有一行类似以下的内容:
RW 587223882 FLAT "\\.\PhysicalDrive4" 389544183 partitionUUID \\?\usbstor#disk&ven_ssk&prod_he-t300&rev_9072#0000000000000052&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

将PhysicalDrive4改为PhysicalDrive2即可。

最后,保存退出编辑,用VMware打开虚拟机,即可正常运行。

注意,这个只能解决同一个物理磁盘编号改变的问题,无法解决磁盘迁移的问题(即你想以当前的配置文件挂载新的物理磁盘)。

没有评论:

发表评论