创建现有正在运行的 Windows 10 或 Windows Server 系统的映像的最简单方法是什么?

创建现有正在运行的 Windows 10 或 Windows Server 系统的映像的最简单方法是什么?

为了将其移动到云端位置?

我确实记得为客户做过这件事,将它们移植到 Azure,但我不记得他们是如何创建映像的。 Azure 只是有一个界面,可以根据我们提供的映像创建操作系统。

Windows 10、Windows Server 甚至 Windows 7——每个选项都很有趣。

编辑:我创建的上传不适用于 Azure,而适用于较小的云提供商

答案1

VHD微软对于如何迁移到 Azure有一些详细的说明:https://docs.microsoft.com/en-us/azure/virtual-machines/windows/prepare-for-upload-vhd-image

WIM另一种方法是通过从 Windows 安装 ISO 启动来创建文件:https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/capture-and-apply-windows-using-a-single-wim?view=windows-11

你应该知道微软其实并不想让这变得容易,因为这也会让盗版变得更容易。当然在 Azure 上这不是问题。

我个人会从 USB 启动任何 Linux,并使用ddgzrsync

$ lsblk # will show the block devices
$ mount -o ro /dev/sdb2 /mnt
$ cd /mnt
$ ls # to confirm that it's the right partition / installation
$ umount /mnt
$ dd if=/dev/sdb2 | gzip -9 > image.raw.gz
$ rsync image.raw.gz my.newhost.com:/

这种方法的缺点是您需要双倍的空间,因为您只是复制一个文件,然后仍然需要解压缩该文件,并且根据您的目的,将其写入目标上的块设备:

# dd if=image.raw.gz | gunzip | dd of=/dev/sdg1

也许比 dd 更好:

$ qemu-img convert -f raw -O vhd /dev/sdb2 image.vhd
$ rsync image.vhd my.remote.host:~

您可以使用 QEMU/KVM 在远程主机上虚拟运行:

$ qemu-system-x86_64 -m 2G -hda image.vhd

这种方法的好处是您可以使用任何格式,例如qcow2。只需将vhd上面的替换为qcow2。您可以阅读更多有关的信息qemu,并virt-manager在其官方文档中,有一些有用的 GUI 工具可用。

或者,如果您在同一个 LAN 上或不需要能够恢复复制 - 您可以通过重复运行 rsync 命令直到整个复制完成来执行上述操作,然后您可以直接复制到目标计算机上的新块设备。

首先允许dd在目标机器上以 root 身份运行,如果您没有以用户身份登录,则需要直接写入块设备root

$ ssh 192.168.1.2
$ visudo 
# Add:
myuser ALL = NOPASSWD: /bin/dd 
# then type :w ENTER and :q ENTER 

然后您可以简单地发出:

$ sudo dd if=/dev/sdb2 | gzip -9 - | ssh 192.168.1.2 "gunzip - | sudo dd of=/dev/sdg1"

另一个选项是这个 Python 脚本,其工作原理与 rsync 类似,因此如果复制中断,可以恢复,因此两者兼而有之。它使用ssh远程主机上的 root 帐户,默认情况下不允许密码登录,因此您必须添加ssh key。有几种方法可以做到这一点,下面是其中一种:

$ ssh my.remotehost.com "echo `~/.ssh/id_rsa.pub` | sudo tee -a /root/.ssh/id_rsa.pub" # add your user ssh key to the remote root account 

然后只需获取脚本并运行它:

$ git clone https://github.com/bscp-tool/bscp-tool.github.io.git
$ bscp /dev/sda1 my.remotehost.com:/dev/sdg1

相关内容