Rat's Blog

Linux VPS的Windows DD包详细的制作教程

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »

说明:之前Vicer大佬制作出了VPS全自动DD安装Windows脚本,让我们很多喜欢在VPS安装Windows的人方便了许多,不过dd前必须得有一个dd包,这里就说下Windows dd包的制作过程,虽然网上很多这样的dd包,但对于一些来历不明的,也会有点不放心,所以我们有时间的话可以自己定制一个。

相关教程:Linux VPS无限制一键全自动DD安装Windows脚本

通过本教程自制的一个Windows server 2008 R2 dd包:

# Windows server 2008 R2 Standard 中文版
# 2.9G(解压后8G) KVM 未激活 全新安装 已经过测试可用
http://nico-ni.co/dd/Win2008R2Standard-x64.gz
# 备用地址
https://down.moerats.com/Windows/Win2008R2Standard-x64.gz
# Username: Administrator
# Password: lolico.moe123

准备工作

  1. Windows原版镜像,可以在MSDN下载。
  2. DISM++,用于DIY以及优化wim镜像。
  3. 虚拟化驱动:VirtIOKVM驱动),Xen驱动
  4. 下载gunzip for windows备用下载点。或者你也可以直接去安装Cmder官网),其自带有
    gzip(顺便安利一下这个可以在Win下执行大多数Linux命令的超好用的命令行程序)。
  5. 在计算机上安装Hyper-VWin8/10开启Hyper-V教程),准备用于对制作好的vhd映像进行测试。

开始制作

1、制作可用的镜像文件
提取准备好的Windows原版镜像中的\sources\install.wim文件,解压或直接挂载虚拟光驱都行,提取该文件到E:\install.wim

创建一个vhd虚拟磁盘,示例:盘符为V,路径为D:\win.vhd,大小为5120M

首先以管理员身份运行命令提示符或者PowerShell,然后执行以下命令:

diskpart
# 以下命令实际上可以复制粘贴一次性执行,无需分条
CREATE VDISK FILE="D:\win.vhd" TYPE=FIXED MAXIMUM=5120
SELECT VDISK FILE="D:\win.vhd"
ATTACH VDISK
CLEAN
CREATE PARTITION PRIMARY
FORMAT FS=NTFS QUICK
ASSIGN LETTER=V

D盘创建一个文件夹D:\MOUNT,打开DISM++,点击:文件–>挂载映像–>点第一个浏览,找到E:\install.wim–>点第二个浏览,找到D:\MOUNT–>不选中只读模式–>确定。

DISM++里进行系统设置优化(建议关闭UAC)、安装语言包、添加先前下载好的虚拟化驱动等。

完成后,点文件–>另存为映像–>保存在D:\install.wim,等待任务完成。

点击:文件–>释放映像–>点第一个浏览,找到D:\install.wim–>点第二个浏览,找到V:–>只选中添加引导和格式化–>确定–>在弹出的“引导修复-BIOS”对话框中点击“更多”–>找到盘符为V的磁盘分区–>确定。

最后等待完成!

2、设置系统的注册表

在自己的电脑上打开注册表编辑器regedit,选中HKEY_LOCAL_MACHINE分支,点击:文件->加载配置单元。

在文件浏览器中选择V:\Windows\System32\config\SYSTEM,项名称填一个好找又不和目前项相同的,例如A_SYSTEM,然后更改如下键值以开启远程桌面服务。

继续按照先前步骤加载配置单元V:\Windows\System32\config\SOFTWARE,项为A_SOFTWARE,然后更改如下键值以关闭 Ctrl+Alt+Del登陆。

选中我们加载的配置单元,点击:文件->卸载配置单元,将A_SYSTEMA_SOFTWARE卸载。

3、制作预应答文件
下载Microsoft Windows AIK,建议安装在剩余空间较大的磁盘分区,因为创建编录文件的时候会自动挂载镜像。

貌似仅适用于制作Windows 7以及Server 2008 R2的,如果是其他系统不知能不能制作,也可以尝试直接照搬我提供的预应答文件。

安装完成后,打开“Windows系统映像管理器”,点击:文件->选择Windows映像,然后选择我们已经在前面的步骤中优化好的 wim文件,然后会提示你需要创建编录文件,选是即可。

等待加载完成,然后仿照【这个预应答文件】进行制作(文件内容见附录),这个预应答文件将会设置用户名Administrator的密码为lolico.moe123。软件的具体使用方法可以百度一下有很多范例,讲起来比较复杂,理解能力强的人看一看就会用,因此此处不再赘述。如果你要制作的是Win7或者Server2008R264位系统,也可以使用此软件打开,然后在这个文件的基础上进行修改。

制作完成之后保存预应答文件为unattend.xml,然后放在V:\Windows\Panther目录下(如果没有目录就自行新建)。

在我的电脑中右击V盘,弹出。

3、对制作好的 dd 包进行测试
先将你制作好的vhd复制一份,用复制的这份来测试,这样的话如果出现了错误就不用再重新制作,可以继续修改。

打开Hyper-V,点击:操作->新建->虚拟机。

名称和位置随便选,指定代数选择“第一代”,内存分配你觉得足以启动系统即可,配置网络不用管;连接虚拟硬盘选择“使用现有虚拟磁盘”,接着指定我们刚才制作的vhd虚拟磁盘,之后的设置都维持默认即可。

启动虚拟机,观察是否有进行自动安装等操作,成功的话就可以关掉虚拟机并删掉使用过的vhd了。

4、将dd包部署在服务器上
使用gunzip工具压缩打包压缩D:\win.vhd,这里提供两种方法:

#使用gunzip for windows
将 gunzip 程序目录中的bin目录里的所有文件复制到%WINDIR%/SYSTEM32,接着在命令提示符内进入vhd所在目录,执行gzip.exe -k9 win.vhd。

#使用cmder自带gunzip
在cmder中进入vhd所在目录,执行gzip -k9 win.vhd。

然后耐心等待压缩完成,之后我们就得到了一个可以用来脚本一键dd的包了。然后将这个压缩包传到可用HTTP直接下载的地方,最好不要包含跳转,然后就可以拿来使用了。

文章来源:自制Linux可用的Windows dd包