65.9K
CodeProject 正在变化。 阅读更多。
Home

VirtualBox 物理磁盘导入批处理脚本

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2014年5月31日

CPOL

3分钟阅读

viewsIcon

9152

downloadIcon

79

一个Windows批处理脚本,用于将物理磁盘导入虚拟机

引言

在Windows系统中,将物理磁盘导入虚拟机并不直观。因此,我进行了一些研究,很快找到了所需的方法,但由于我需要经常使用它,所以我编写了一个批处理脚本来完成这项工作。该脚本将具有以下功能:

  • 检查管理员权限
  • 从注册表中查找 VirtualBox 的安装路径
  • 列出所有已安装的物理磁盘驱动器
  • 询问要导入的磁盘编号
  • 检查并最终询问是否要覆盖目标文件

背景

我目前正在检查我公司许多旧硬盘驱动器。我使用USB-to-IDE电缆连接它们,并且由于安装了实时磁盘加密,我使用 VirtualBox 启动这些磁盘。现在的问题是,每次更换磁盘时,都必须为该磁盘创建一个新的导入链接文件,以便设置正确的参数。为了使操作更方便快捷,我创建了这个脚本。

手动方法

通常,要将物理磁盘导入Virtual Box,您需要执行以下操作。首先,您需要确定物理磁盘映射到的编号。您可以通过运行'diskmgmt.msc'并在那里找到您的磁盘来完成此操作,它看起来会像这样

然后,您以管理员权限启动命令提示符,导航到 VirtualBox 的安装目录(即 VBoxManage.exe 所在的位置),并运行以下命令

VBoxManage internalcommands createrawvmdk -filename C:\sd.vmdk -rawdisk \\.\PhysicalDrive#

其中 # 是您找到的磁盘编号。如果成功,这将创建一个名为 'C:\sd.vmdk' 的小文件,您可以在 VirtualBox 中使用该文件。

使用脚本

基本上,该脚本是一个向导 - 启动它并按照说明操作即可。

当脚本启动时,它会检查是否具有管理员权限。如果没有,命令行文本将变为红色,将创建一个VBS脚本,该脚本将以管理员权限再次启动该脚本(如果Windows中已配置提示),然后退出第一个实例。

之后(假设已授予管理员权限),它将读取注册表以查找 VirtualBox 的安装路径。如果找不到,将显示错误消息。

然后,它将列出所有已安装的物理驱动器,并提示您输入要从中创建链接文件的磁盘编号 - 或按[C]取消。

脚本始终选择与脚本位于同一目录中的文件 'PhysicalDisk#.vmdk' 作为目标文件。如果目标文件存在,系统会询问您是否要覆盖它。

如果一切顺利(脚本如果文件已创建),文本将变为绿色 - 如果不顺利,则变为红色 - 并打印相应的消息。

使用链接文件

非常重要:确保您以管理员身份运行VIRTUALBOX!

启动 VirtualBox 后,进入虚拟机的设置,然后切换到“存储”部分。

在控制器上单击“添加硬盘”,单击“选择现有磁盘”,导航到创建的文件并选择它。

如果弹出此消息,您很可能没有以管理员权限启动 VirtualBox

要从VirtualBox中删除虚拟磁盘,请在 VirtualBox 的“文件”菜单中启动“虚拟媒体管理器”,选择磁盘,然后单击“释放” - 然后您可以将其删除。

© . All rights reserved.