记一次Windows DD 包的制作

前言

Linux vps一般会比Windows vps 便宜,有时候想有性价比得在服务器使用Windows系统(注意主机商TOS),就可以通过 DD 命令,把Linux 重装成Windows系统。

平常一直使用大佬们做好的dd包,也想自己制作一个Windows DD镜像。
查阅了大佬们的教程资料,自己尝试了一下,发现好像挺简单的。遂记录一下流程。

一、工具准备

    1. Windows原版镜像,可以去MSDN我告诉你下载。
    1. Dism++,这个是最主要的工具。
    1. 7-Zip, 用来解压缩,还有最后用来将"VHD"镜像,打包成".gz"文件。

二、编辑镜像

2.1 提取install.wim

cn_windows_server_2019为例,打开Windows原版镜像,用解压软件将install.wim文件解压出来,这个文件在系统镜像里的路径是\sources\install.wim

install.wim文件解压到一个路径,比如解压到D:\Windows_DD文件夹里。

2.2 挂载镜像

新建一个空文件夹用来挂载镜像,比如D:\Windows_DD\WinS2019

打开Dism++软件,点击左上角文件>>挂载映像

弹出的窗口,第一行目标镜像路径选择之前解压出来的install.wim文件。

第二行挂载路径选之前建好的文件夹D:\Windows_DD\WinS2019

这里还可以选择镜像携带的不同版本,我选择ServerDatacenter版。

注意不要、不要、不要选择只读模式。点击确定,映像准备就绪之后,再点击打开会话

2.3 添加驱动

2.3.1 驱动准备

这一步提取驱动什么的建议在虚拟机里虚拟一个Windows系统操作,免得把本地环境搞得乱糟糟。

KVM驱动

  • 文档:

    https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html

  • 下载:

    https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

解压iso,里面有各种系统的驱动。

驱动对应版本

- 2k3 Windows Server 2003
- 2k8 Windows Server 2008
- 2k8R2 Windows Server 2008 R2
- 2k12 Windows Server 2012
- 2k12R2 Windows Server 2012 R2
- 2k16 Windows Server 2016
- w7 Windows 7
- w8 Windows 8
- w8.1 Windows 8.1
- w10 Windows 10
- xp Windows xp
- Windows Server 2019和Windows Server 2016驱动通用

XEN驱动

  • 文档:

    https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Upgrading_PV_drivers.html

  • 下载:

    https://s3.amazonaws.com/ec2-windows-drivers-downloads/AWSPV/Latest/AWSPVDriver.zip

解压后,安装这个AWSPVDriverSetup.msi

找到安装目录,比如路径C:\Program Files\Amazon\XenTools\Drivers

这里的驱动已经经过签名,可以直接添加到镜像中,此后安装就不会报错。

注意,只适合64位。

摘选自老司机大佬的说明:

“解释下,为什么使用亚马逊AWS的XEN驱动,原因是XEN官方提供的驱动都是未签名的,添加进去系统是不行的,会导致出错。
除了把驱动拿去用软件签名,别无它法。也就只能用亚马逊AWS已经签名好的XEN驱动。

VMware Tool驱动

  • 文档:

    https://www.vmware.com/files/cn/pdf/vmware-tools-installation-configuration.pdf

  • 下载:

    https://packages.vmware.com/tools/releases/latest/windows/index.html
    这个链接好像不行OxO

  • ESXI驱动:

    https://packages.vmware.com/tools/esx/index.html

解压ISO文件,并另外新建一个文件夹来提取exe文件里的驱动。

比如新建文件夹路径为D:\Extract

ISO解压出来的文件夹里,即.exe驱动安装程序的目录,新建一个bat批处理脚本:

setup.exe /a /p D:\Extract

setup.exe修改为此驱动程序,再执行bat批处理脚本,会弹出安装界面,按提示进行安装,到第二步的网络位置路径也是选择安装到D:\Extract

具体驱动路径`D:\Extract\VMware\VMware Tools\VMware\Drivers

特殊网卡驱动

原则上一些独立服务器什么的需要相应的网卡驱动,这里我直接一股脑全塞进去了,看能塞进去多少。也不知道行不行【待测试】OvO。

使用的是DriverPack的网卡驱动离线包
下载:

https://drp.su/en/info/driverpack-offline

进入网页后,拉下来选择DriverPack Offline Network

下载完成后,双击.exe解压,或者右键解压缩软件解压。驱动路径
如下
*\DriverPack_17.10.14-19093_Network\driverpack networkdrivers

里面还是压缩包,也一并解压了。

2.3.2 安装驱动

继续在Dism++软件里进行操作。点击驱动管理,添加驱动。选择驱动所在的文件夹后(路径可以不用太具体),会自动安装驱动。在弹出窗口,点击确定。

2.4 优化镜像

继续在Dism++软件里进行操作。点击程序和功能,启用或者关闭一些Windows功能。比如

  • 远程桌面
  • 远程协助
  • NET.Framework 3.5等

还有点击更新管理,可以更新系统补丁,其他各种优化修改看个人意愿,在Dism++的功能模块里可以摸索一下。

2.5 保存镜像

编辑完镜像后,Dism++点击左上角文件另存为映像。此处假设为 D:\Windows_DD\win2019.wim。等待新的镜像保存完毕。然后可以点击左上角文件卸载映像

三、创建 VHD 虚拟硬盘

依此进行如下操作。

右键点击开始菜单,选择计算机管理,点击磁盘管理,右键或者点击操作,点击创建VHD,在弹出的窗口,指定计算机上的虚拟硬盘位置,比如 D:\Windows_DD\WinS2019.vhd,选择虚拟硬盘大小为 16GB(winserver 2019 datacenter我之前设置为15G,C盘剩余空间1G左右好像),点击确定,具体如图所示。

注意硬盘不宜设置过大,否则DD的时候,当VPS或服务器的硬盘小于指定的磁盘大小的话会出错。

等待片刻,虚拟磁盘创建完毕。然后选中新建的VHD硬盘,右键点击初始化磁盘,分区选择MBR,点击确定。右键点击新建简单卷,并一路下一步确认,盘符任意指定,此处假设为G盘。至此虚拟磁盘创建完毕。



四、创建带系统的 VHD 虚拟硬盘

继续在Dism++软件里进行操作。主要是将之前处理过的镜像文件D:\Windows_DD\win2019.wim释放到VHD虚拟硬盘。

点击Dism++左上角文件,选择释放映像

弹出的窗口,第一行映像文件路径,点击浏览选择之前编辑另存为的系统镜像D:\Windows_DD\win2019.wim

第二行安装路径,点击浏览选择刚建立的VHD虚拟硬盘G盘.

选中添加引导格式化,点击确定,在弹出的窗口里选择更多此处很重要),选择刚建立的磁盘盘符,点击确认


释放镜像完毕后,会提示"G:映像已经还原成功"。就可以点击左上角文件卸载映像,然后关闭 Dism++。然后在此电脑里,像平常弹出U盘一样,弹出创建的VHD虚拟磁盘,选中G盘,右键点击弹出

五、创建无人值守的DD包

有的主机商的服务器主机控制台有提供VNC,那之间创建完成的VHD虚拟硬盘实际上就可以使用了。有VNC就可以像实际在屏幕前操作电脑一样,可以可视化安装系统,这样VHD虚拟硬盘就可以直接拿来使用。

而实际上很多地方是不能VNC的,因此就需要做成无人值守,DD 完了立刻就能使用远程登录进入桌面。

无人值守可以使用两种方法,一种是使用Hyper-V虚拟机对系统进行初始化定制,一种是使用Windows 自动安装工具AIK制作Unattend.xml应答文件。【这个我有空再摸索摸索】

我学会一半了!看这里:

Windows无人值守dd包的制作

这里先记一下Hyper-V虚拟机无人值守的处理方式。

添加:

摸索了一段,发现VirtualBox更好用
官网下载:
- https://www.virtualbox.org/wiki/Downloads

5.1 启用Hyper-V

开启Windows 10自带的Hyper-V虚拟机功能,可以使用Dism++软件里点击启用,也可以依次点击控制面板程序启用或关闭Windows功能、打钩Hyper-V。重启生效。
![](https://imgx.ink/images/2019/11/12/pPIPc.png)

5.2 创建虚拟机

开启Hyper-V功能后,按下面步骤进行操作。打开Hyper-V管理器连接到服务器本地计算机操作新建虚拟机指定名称和位置第一代(1)内存网络连接使用现有虚拟硬盘,选择D:\Windows_DD\WinS2019.vhd完成








5.3 取消虚拟机检查点

创建完毕虚拟机后,建议取消检查点。选中虚拟机,右键点击,设置检查点,取消勾选启用检查点。


5.4 启动虚拟机设置Windows

选中虚拟机,右键点击,连接启动。然后就像平时安装系统一样,输入一些信息,同意条款,设置 Administrator 密码,进入桌面后,可以进行各种设置了。

比如修关闭登录界面Ctrl + Alt + Del,等等。


六、压缩VHD为.gz文件

选中调试好的VHD系统镜像D:\Windows_DD\WinS2019.vhd,右键选择7-zip添加到压缩包,选择gzip格式,确定。

讲真,.gz的压缩率还是蛮高的,就是压得有点慢,emmmm。

等待压缩完成后,将压缩包重命名,上传到你自己的服务器,或者onedrive、Google drive做一个下载直链即可直接拿来使用了。

文章来源:

点赞

    发表评论

    电子邮件地址不会被公开。必填项已用 * 标注