我的 Linux 机器 (Debian) 上安装了 VirtualBox。我需要将物理 Windows 7 机器移到我的 VirtualBox 中。
如何将物理 Windows 操作系统转换为 VirtualBox?
答案1
我不同意SimonS的回答。
使用磁盘2Vhd当然是一个好主意:它允许人们复制在线的磁盘,甚至可以将 vhd 文件存储在本地(IE,在 Windows 机器上),尽管上面的参考声称将 vhd 映像存储在不同的介质上是最快的。
不正确的部分是关于输入(?) VirtualBox 中的 vhd 映像。没有必要这样做:引用的参考资料非常老旧(参考资料中说有两个不同版本的 VirtualBox,一个免费,一个需要付费,多少年前了?我忘了)。事实上,VirtualBox 已经完全兼容微软的 vhd 格式:当您创建虚拟机时,不要为其分配空白磁盘,而是选择Use an existing virtual hard disk file
,并将其指向您的vhd
磁盘。
就是这样。
答案2
使用以下命令创建物理 Windows 计算机的 vhd磁盘2Vhd,然后创建您的 VM 并选择您创建的 vhd 而不是空白磁盘。
disk2vhd 的命令行使用示例:disk2vhd * c:\vhd\snapshot.vhd
现在 Windows 操作系统的每个组件都将保存在 VHD 中
抱歉,我的回答如此简短且不详细,但这就是您需要知道的全部内容;-)
答案3
您可以使用原始分区即您现有的 Windows 分区,使用 VirtualBox。这是一个稍微高级的话题,VirtualBox 手册警告说
原始硬盘访问仅供专家用户使用。不正确的使用或使用过时的配置可能会导致数据彻底丢失在物理磁盘上。最重要的是,不要尝试在客户机中使用当前正在运行的主机操作系统启动分区。这将导致严重的数据损坏。
但我五六年前就成功使用过它,而且效果很好。
您需要知道 HDD 的 Linux 设备名称以及安装了 Windows 的分区号。然后运行以下命令:
sudo VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -partitions 1,5
其中/dev/sda
是您的 HDD,1,5
是您的分区号。例如,如果 Linux 将您的 Windows HDD 视为/dev/sdb2
,则您的设备名称为/dev/sdb
,您的分区号为 2。此命令将在指定路径处创建一个 VMDK 磁盘,当您在 VM 中使用它时,VM 将直接写入您的 Windows HDD。
此方法的主要优点是它不占用任何额外的磁盘空间,并允许您使用现有的 Windows 安装。但是,再次提醒,这将不可逆转地修改您现有的 Windows 数据,并且不允许您为 VM 使用快照,因此如果您有非常重要的数据,请务必在尝试此方法之前进行备份。