惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
ThreatConnect
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
H
Help Net Security
T
Threat Research - Cisco Blogs
Blog — PlanetScale
Blog — PlanetScale
A
Arctic Wolf
G
Google Developers Blog
量子位
U
Unit 42
I
InfoQ
V
V2EX
F
Fox-IT International blog
P
Privacy & Cybersecurity Law Blog
V
Visual Studio Blog
J
Java Code Geeks
大猫的无限游戏
大猫的无限游戏
C
CERT Recently Published Vulnerability Notes
博客园 - 三生石上(FineUI控件)
T
The Exploit Database - CXSecurity.com
T
Tailwind CSS Blog
SecWiki News
SecWiki News
Know Your Adversary
Know Your Adversary
MyScale Blog
MyScale Blog
宝玉的分享
宝玉的分享
The Hacker News
The Hacker News
Project Zero
Project Zero
Application and Cybersecurity Blog
Application and Cybersecurity Blog
月光博客
月光博客
Recent Commits to openclaw:main
Recent Commits to openclaw:main
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
GRAHAM CLULEY
C
Cisco Blogs
I
Intezer
Simon Willison's Weblog
Simon Willison's Weblog
O
OpenAI News
Recorded Future
Recorded Future
T
Tenable Blog
W
WeLiveSecurity
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
T
The Blog of Author Tim Ferriss
www.infosecurity-magazine.com
www.infosecurity-magazine.com
D
Docker
C
Cybersecurity and Infrastructure Security Agency CISA
PCI Perspectives
PCI Perspectives

文章列表

明天 Noob 琯杏 Xibeilius lkks
[教程] 自制 Linux 可用的 Windows dd包
无名 · 2026-01-02 · via

不折腾不舒服星人(比如我)可以自己动手丰衣足食_(:3」」

Head Pic: 「夕立」/「大腿外側(太もも」のイラスト [pixiv]

自制 Linux 可用的 Windows dd包

由于自己想 dd 的时候并没有 Server 2008 R2 中文版的 dd 包,而用英文包再安装中文语言之后仍会出现一些莫名其妙的 bug,因此自己做了一份,并且将过程在此文中记录下来

相关教程:

准备工作

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

开始制作

1. 制作可用的镜像文件

  1. 首先需要取出准备好的 WIndows 原版镜像中的\sources\install.wim文件,直接解压ISO或挂载虚拟光驱都行,把这个文件复制出来,比如复制到E:\install.wim
  2. 在D盘创建一个文件夹D:\MOUNT,打开 DISM++
    点击:文件–>挂载映像–>点第一个浏览,找到E:\install.wim–>点第二个浏览,找到D:\MOUNT–>不选中只读模式–>确定
    点击确定之前顺便记一下映像的展开大小
  3. 创建一个 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
  4. 回到 DISM++,进行系统设置优化(建议关闭 UAC)、安装语言包、添加先前下载好的虚拟化驱动等
  5. 完成后,点文件–>另存为映像–>保存在D:\install.wim,等待任务完成
  6. 点击:文件–>释放映像–>点第一个浏览,找到D:\install.wim–>点第二个浏览,找到V:–>只选中添加引导格式化–>确定–>在弹出的“引导修复-BIOS”对话框中点击“更多”–>找到盘符为 V 的磁盘分区–>确定
  7. 等待完成

2. 设置系统的注册表

新版 Dism++ 会自动帮你挂载当前映像的注册表,可以不用再按照前几步手动加载配置单元了

  1. 在自己的电脑上打开注册表编辑器regedit,选中HKEY_LOCAL_MACHINE分支,点击:文件->加载配置单元
  2. 在文件浏览器中选择V:\Windows\System32\config\SYSTEM,项名称填一个好找又不和目前项相同的,例如A_SYSTEM
    然后更改如下键值以开启远程桌面服务

    RegKey HKEY_LOCAL_MACHINE\A_SYSTEM\ControlSet001ValueTypeData
    打开远程桌面服务\Control\Terminal ServerfDenyTSConnectionsREG_DWORD0
    设置远程桌面端口\Control\Terminal Server\Wds\rdpwd\Tds\tcpPortNumberREG_DWORDd3d
    \Control\Terminal Server\WinStations\RDP-TcpPortNumberREG_DWORDd3d
    设置不验证用户级别\Control\Terminal Server\WinStations\RDP-TcpUserAuthenticationREG_DWORD0
    防火墙允许远程桌面\services\SharedAccess\Parameters\FirewallPolicy\FirewallRulesRemoteDesktop-In-TCPREG_SZ把其中的Active=FALSE改为TRUE
    同上RemoteDesktop-UserMode-In-TCP同上同上
  3. 继续按照先前步骤加载配置单元V:\Windows\System32\config\SOFTWARE,项为A_SOFTWARE
    然后更改如下键值以关闭 Ctrl+Alt+Del 登陆

    RegKey HKEY_LOCAL_MACHINE\A_SOFTWARE\MicrosoftValueTypeData
    \Windows\CurrentVersion\Policies\SystemdisablecadREG_DWORD1
    \Windows NT\CurrentVersion\WinlogonDisableCADREG_DWORD1
  4. 选中我们加载的配置单元,点击:文件->卸载配置单元,将A_SYSTEMA_SOFTWARE卸载

3. 制作预应答文件

  1. 下载 Microsoft Windows AIK

    创建编录文件的时候会自动挂载镜像到系统盘,请确保系统盘有大于映像展开大小的剩余空间。

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

  2. 安装完成后,打开“Windows 系统映像管理器”,点击:文件->选择 Windows 映像,然后选择我们已经在前面的步骤中优化好的 wim 文件,然后会提示你需要创建编录文件,选是即可
  3. 等待加载完成,然后仿照 这个预应答文件 进行制作(文件内容见附录)
    这个预应答文件将会设置用户名Administrator的密码为lolico.moe123
    我给出的这个预应答文件可以直接用于 Win7/10 x64。
    软件的具体使用方法可以百度一下有很多范例,讲起来比较复杂,理解能力强的人看一看就会用,因此此处不再赘述
    如果你要制作的是 Win7 或者 Server2008R2 的 64 位 系统,也可以使用此软件打开,然后在这个文件的基础上进行修改
  4. 制作完成之后保存预应答文件为unattend.xml,然后放在V:\Windows\Panther目录下(如果没有目录就自行新建)
  5. 在我的电脑中右击V盘,弹出

3. 对制作好的 dd 包进行测试

  1. 先将你制作好的 vhd 复制一份,用复制的这份来测试,这样的话如果出现了错误就不用再重新制作,可以继续修改
  2. 打开 Hyper-V,点击:操作->新建->虚拟机
  3. 名称和位置随便选,指定代数选择“第一代”,内存分配你觉得足以启动系统即可,配置网络不用管;
    连接虚拟硬盘选择“使用现有虚拟磁盘”,接着指定我们刚才制作的 vhd 虚拟磁盘,之后的设置都维持默认即可
  4. 启动虚拟机,观察是否有进行自动安装等操作,成功的话就可以关掉虚拟机并删掉使用过的 vhd 了

4. 将 dd 包部署在服务器上

  1. 使用 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 的包

  2. 将这个压缩包传到可用 HTTP 直接下载的地方,最好不要包含跳转,然后就可以拿来使用 [Linux] 一键全自动 dd 安装 Windows 脚本一键 dd 了

附录:预应答文件内容及说明

存放目录:%WINDIR%/Panther/unattemd.xml

<!-- Windows Server 2008 R2 x64 预应答文件示例 -->
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="specialize">
        <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <!-- 启用 Administrator 账户 -->
                <RunSynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <Path>net user Administrator /active:Yes</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <!-- 设置语言 -->
        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>007f:00000804</InputLocale>
            <SystemLocale>zh-CN</SystemLocale>
            <UILanguage>zh-CN</UILanguage>
            <UILanguageFallback>zh-CN</UILanguageFallback>
            <UserLocale>zh-CN</UserLocale>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- 设置自动登录 -->
            <AutoLogon>
                <Password>
                    <Value>bABvAGwAaQBjAG8ALgBtAG8AZQAxADIAMwBQAGEAcwBzAHcAbwByAGQA</Value>
                    <PlainText>false</PlainText>
                </Password>
                <Enabled>true</Enabled>
                <LogonCount>9999999</LogonCount>
                <Username>Administrator</Username>
            </AutoLogon>
            <!-- 隐藏安装时的配置界面以及跳过部分配置 -->
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                <NetworkLocation>Work</NetworkLocation>
                <ProtectYourPC>3</ProtectYourPC>
                <SkipMachineOOBE>true</SkipMachineOOBE>
                <SkipUserOOBE>true</SkipUserOOBE>
            </OOBE>
            <!-- 设置 Administrator 的密码 -->
            <UserAccounts>
                <AdministratorPassword>
                    <!-- 密码在 xml 文件中为 Base64 加密,在程序中编辑时是明文 -->
                    <Value>bABvAGwAaQBjAG8ALgBtAG8AZQAxADIAMwBBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByAFAAYQBzAHMAdwBvAHIAZAA=</Value>
                    <PlainText>false</PlainText>
                </AdministratorPassword>
            </UserAccounts>
            <!-- 设置时区 -->
            <TimeZone>China Standard Time</TimeZone>
        </component>
    </settings>
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- 设置界面语言 -->
            <SetupUILanguage>
                <UILanguage>zh-CN</UILanguage>
                <!--下面这句实际上原本并没有被注释,只是不注释的话 Markdown 解析会出问题,不知道是什么莫名其妙的BUG,后面还有一句被一模一样的被注释的语句同理-->
                <!--<WillShowUI>OnError</WillShowUI>-->
            </SetupUILanguage>
        </component>
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- 设置隐藏选择安装映像的界面 -->
            <ImageInstall>
                <OSImage>
                <!--<WillShowUI>OnError</WillShowUI>-->
                    <!-- 如果是多版本系统的 wim 则还需要配置下面的这个<InstallFrom>设置需要安装的系统版本,如果是按照教程使用 Dim++ 制作的 wim 就无需设置,因为已经提取出单版本了-->
                    <InstallFrom>
                        <MetaData wcm:action="add">
                            <Key>/IMAGE/NAME</Key>
                            <Value>(系统名)</Value>
                        </MetaData>
                    </InstallFrom>
                </OSImage>
            </ImageInstall>
            <UserData>
                <!-- 设置安装时不激活(就算要激活也没有网络) -->
                <ProductKey>
                    <Key></Key>
                </ProductKey>
                <AcceptEula>true</AcceptEula>
            </UserData>
        </component>
    </settings>
</unattend>

版权声明:本文为原创文章,版权归 神代綺凜 所有。

本文链接:https://moe.best/tutorial/dd-diy.html

所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。

搬瓦工VPS优惠套餐,建站稳如狗,支持支付宝,循环出账94折优惠码BWH3HYATVBJW
年付$47CN2线路,1核/1G内存/20G硬盘/1T@1Gbps【点击购买
季付$47CN2 GIA线路,1核/1G内存/20G硬盘/1T@2.5Gbps【点击购买