DIY自制 Linux 系统下的 Windows dd包
开始前准备:
- Windows 原版镜像,可以在 MSDN 下载
- DISM++,用于 DIY 以及优化 wim 镜像
- 虚拟化驱动
- 下载 gunzip for windows 备用下载点
或者你也可以直接去安装 Cmder(官网),其自带有 gzip(顺便安利一下这个可以在 Win 下执行大多数 Linux 命令的超好用的命令行程序) - 在计算机上安装 Hyper-V(Win8/10 开启 Hyper-V 教程),准备用于对制作好的 vhd 映像进行测试
开始制作
1. 制作可用的镜像文件
- 首先需要取出准备好的 WIndows 原版镜像中的
\sources\install.wim
文件,直接解压ISO或挂载虚拟光驱都行,把这个文件复制出来,比如复制到E:\install.wim
- 在D盘创建一个文件夹
D:\MOUNT
,打开 DISM++
点击:文件–>挂载映像–>点第一个浏览,找到E:\install.wim
–>点第二个浏览,找到D:\MOUNT
–>不选中只读模式–>确定
点击确定之前顺便记一下映像的展开大小 - 创建一个 vhd 虚拟磁盘
示例:盘符为V
,路径为D:\win.vhd
,大小为8192M
(这个大小比上面你记住的映像展开大小大 1GB 左右即可,例如我在本例中制作的 2008R2 的展开大小为 6.9GB,因此我将 vhd 大小设置为 8GB)
首先以管理员身份运行命令提示符或者 PowerShell,然后执行以下命令
diskpart
# 以下命令实际上可以复制粘贴一次性执行,无需分条
CREATE VDISK FILE=“D:\win.vhd” TYPE=FIXED MAXIMUM=8192
SELECT VDISK FILE=“D:\win.vhd”
ATTACH VDISK
CLEAN
CREATE PARTITION PRIMARY
>FORMAT FS=NTFS QUICK
ASSIGN LETTER=V
- 回到 DISM++,进行系统设置优化(建议关闭 UAC)、安装语言包、添加先前下载好的虚拟化驱动等
- 完成后,点文件–>另存为映像–>保存在
D:\install.wim
,等待任务完成 - 点击:文件–>释放映像–>点第一个浏览,找到
D:\install.wim
–>点第二个浏览,找到V:
–>只选中添加引导和格式化–>确定–>在弹出的“引导修复-BIOS”对话框中点击“更多”–>找到盘符为 V 的磁盘分区–>确定 - 等待完成
2. 设置系统的注册表
新版 Dism++ 会自动帮你挂载当前映像的注册表,可以不用再按照前几步手动加载配置单元了
- 在自己的电脑上打开注册表编辑器
regedit
,选中HKEY_LOCAL_MACHINE
分支,点击:文件->加载配置单元 - 在文件浏览器中选择
V:\Windows\System32\config\SYSTEM
,项名称填一个好找又不和目前项相同的,例如A_SYSTEM
参数 RegKey HKEY_LOCAL_MACHINE\A_SYSTEM\ControlSet001 Value Type Data 打开远程桌面服务 \Control\Terminal Server fDenyTSConnections REG_DWORD 0 设置远程桌面端口 \Control\Terminal Server\Wds\rdpwd\Tds\tcp PortNumber REG_DWORD d3d / \Control\Terminal Server\WinStations\RDP-Tcp PortNumber REG_DWORD d3d 设置不验证用户级别 \Control\Terminal Server\WinStations\RDP-Tcp UserAuthentication REG_DWORD 0 防火墙允许远程桌面 \services\SharedAccess\Parameters\FirewallPolicy\FirewallRules RemoteDesktop-In-TCP REG_SZ 把其中的Active=FALSE改为TRUE / 和上面一样 RemoteDesktop-UserMode-In-TCP 和上面一样 和上面一样 然后更改如下键值以开启远程桌面服务
- 选中我们加载的配置单元,点击:文件->卸载配置单元,将
A_SYSTEM
和A_SOFTWARE
卸载
RegKey HKEY_LOCAL_MACHINE\A_SOFTWARE\Microsoft |
Value | Type | Data |
---|---|---|---|
\Windows\CurrentVersion\Policies\System | disablecad | REG_DWORD | 1 |
\Windows NT\CurrentVersion\Winlogon | DisableCAD | REG_DWORD | 1 |
3. 制作预应答文件
- 下载 Microsoft Windows AIK
创建编录文件的时候会自动挂载镜像到系统盘,请确保系统盘有大于映像展开大小的剩余空间。
貌似仅适用于制作 Windows 7 以及 Server 2008 R2 的,如果是其他系统不知能不能制作,也可以尝试直接照搬我提供的预应答文件
- 安装完成后,打开“Windows 系统映像管理器”,点击:文件->选择 Windows 映像,然后选择我们已经在前面的步骤中优化好的 wim 文件,然后会提示你需要创建编录文件,选是即可
- 等待加载完成,然后仿照 这个预应答文件 进行制作(文件内容见附录)
这个预应答文件将会设置用户名Administrator
的密码为lolico.moe123
。
我给出的这个预应答文件可以直接用于 Win7/10 x64。
软件的具体使用方法可以百度一下有很多范例,讲起来比较复杂,理解能力强的人看一看就会用,因此此处不再赘述
如果你要制作的是 Win7 或者 Server2008R2 的 64 位 系统,也可以使用此软件打开,然后在这个文件的基础上进行修改 - 制作完成之后保存预应答文件为
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 的包 - 使用 gunzip for windows
- 将这个压缩包传到可用 HTTP 直接下载的地方,最好不要包含跳转,然后就可以拿来使用 [Linux] 一键全自动 dd 安装 Windows 脚本一键 dd 了
预应答文件内容下载:
Windows Server 2008 R2 x64 预应答文件:点击下载文件
存放目录:%WINDIR%/Panther/unattemd.xml
本站声明:
1.本站所有干货均来源于互联网,部分收费资源为保障服务器运行,不保证100%完整、不提供任何技术支持
2.分享目的仅限于学习和测试,一切商业行为与本站无关,下载后请在24小时内删除。
3.请勿用于商业用途,不得违反国家法律,如需商业使用请向官方购买授权,由于使用该资源引起的侵权行为 与本站无关!
4. 如有链接无法下载、失效或广告,请联系管理员处理!
5. 如遇到加密压缩包,默认解压密码为"www.xyouhui.com",如遇到无法解压的请联系管理员!
享优汇小站 | 软件神器 | 给力的源码主题 | 免费干货 » DIY自制 Linux 系统下的 Windows dd包
1.本站所有干货均来源于互联网,部分收费资源为保障服务器运行,不保证100%完整、不提供任何技术支持
2.分享目的仅限于学习和测试,一切商业行为与本站无关,下载后请在24小时内删除。
3.请勿用于商业用途,不得违反国家法律,如需商业使用请向官方购买授权,由于使用该资源引起的侵权行为 与本站无关!
4. 如有链接无法下载、失效或广告,请联系管理员处理!
5. 如遇到加密压缩包,默认解压密码为"www.xyouhui.com",如遇到无法解压的请联系管理员!
享优汇小站 | 软件神器 | 给力的源码主题 | 免费干货 » DIY自制 Linux 系统下的 Windows dd包