标签 vhd 下的文章

在Windows 2016系统里引导和启动虚拟硬盘里的Windows 2008系统

场景:硬盘中安装了Windows Server 2016(或主机商默认安装了英文版本的Windows Server 2016),现需使用Windows Server 2008 R2系统。

过程:

1.下载包含Windows Server 2008 R2系统的虚拟磁盘文件w2k8r2sp1.vhd到C:\V目录

2.如果原vhd文件过小,如仅有20GB,可通过“Hyper-V管理器”的“编辑磁盘”功能来扩展容量
windows-boot-from-vhd-1.png

3.“扩展”虚拟磁盘
windows-boot-from-vhd-2.png

4.如本例扩展到100GB
windows-boot-from-vhd-3.png

5.在“磁盘管理”管理里,挂载vhd文件到磁盘1,分配V:盘符
windows-boot-from-vhd-4.png

6.扩展V:分区到100GB
windows-boot-from-vhd-5.png

7.在“命令提示符”执行以下命令,添加虚拟磁盘里的Windows启动项

V:
cd v:\windows\system32
bcdboot v:\windows

windows-boot-from-vhd-6.png

8.运行bcdedit来查看当前的启动项细节,核对。如本例默认(default)从虚拟磁盘的Windows 2008系统启动。如需单次启动,可使用bcdedit /bootsequence 的参数来指定
windows-boot-from-vhd-7.png

9.从虚拟磁盘的Windows 2008系统成功启动,显示在虚拟硬盘1的C:分区,原Windows 2016系统所在的分区盘符是D:
windows-boot-from-vhd-8.png

10.在Windows 2008系统里运行bcdedit,查看启动项
windows-boot-from-vhd-9.png

参考:

在Windows里用VBoxManage将动态扩展硬盘的vhd转成固定大小的

问题:从镜像站下载的FreeBSD虚拟硬盘文件vhd是动态扩展的,虽然可以在VitualBox里使用,但无法在Linux系统里使用dd命令还原。

尝试:

1.下载FreeBSD的镜像文件,如国内的可从阿里云镜像点下载 https://mirrors.aliyun.com/freebsd/releases/VM-IMAGES/12.0-RELEASE/amd64/Latest/FreeBSD-12.0-RELEASE-amd64.vhd.xz

2.下载到本地后,用7-zip解压,得到 FreeBSD-12.0-RELEASE-amd64.vhd 文件

3.使用VBoxManage.exe程序,将vhd磁盘文件从动态扩展的转成固定大小的类型,如 VBoxManage.exe clonemedium disk "I:\vhd\FreeBSD-12.0-RELEASE-amd64.vhd3\FreeBSD-12.0-RELEASE-amd64.vhd" "I:\vhd\FreeBSD-12.0-RELEASE-amd64.vhd3\FreeBSD-12.0-RELEASE-amd64-b.vhd" –variant Fixed

vhd-1.png
vhd-2.png

4.如提示原vhd磁盘的uuid重复,可先生成新的uuid,如 VBoxManage.exe internalcommands sethduuid "I:\vhd\FreeBSD-12.0-RELEASE-amd64.vhd3\FreeBSD-12.0-RELEASE-amd64.vhd"

5.通过dd命令,成功将固定大小类型的vhd文件复制到指定的硬盘上

参考: