server03 从源码到镜像

简介: server03 从源码到镜像

前言

最近跟着国外大佬的视频,从头到尾编译了一遍 server2003。特地把整个过程录制了下来,记录了把 server2003 源码打包成镜像的完整过程,主要分为:环境搭建,编译,验证三个部分。

本文及视频仅用于技术交流,请勿用于非法用途。如有侵权,请联系我删除。

环境搭建

有几个关键点需要注意:

  1. 为了避免不必要的麻烦,请选择 32 位英文版的 xp 系统进行安装。我使用中文版 xp 编译有问题。
  2. vmware 中安装系统时,默认只会生成一个 C 盘。源码最好解压到 D 盘,需要新增一个盘符。
  3. D 盘需要 40 GB 的磁盘空间。
  4. 根据自己主机情况,调整虚拟机中的设置。配置越高,编译时间越短。

以上几点,视频中都有提及。

请参考公众号文章

编译

环境搭建好之后,就可以编译了。主要步骤如下:

  • 解压源码(nt5src\Source\Win2k3\NT\*)到 d:\srv03rtm 下,为了避免不必要的麻烦,请务必解压到该文件夹下。

  • 解压完成后,去除 d:\srv03rtm 的只读属性,一定要勾选 将修改应用于此文件夹、子文件夹和文件

  • 解压 win2003_prepatched_v6b.zipd:\srv03rtm 下,如果操作正确的话会提示是否覆盖现有文件,选择 Yes To All

  • 手动安装证书文件。在 d:\srv03rtm\tools 文件夹下找到 driver.pfx 文件,双击安装。一直点击 Next,直到完成。如果是第一次安装会有安全警告,请选择 Yes

  • 跳过脚本中的证书安装操作。编辑 d:\srv03rtm 文件夹下的 prebuild.cmd 文件,修改 SKIPCERTINSTALL 的值为 1

  • 双击运行 prebuild.cmd,耐心等待出现 Press Any key to continue...,回车。

  • 新建 razzle.cmd 快捷方式。

    设置 Target 的值为 %windir%\system32\cmd.exe /k d:\srv03rtm\tools\razzle.cmd free offline

    设置 Start in 的值为d:\srv03rtm\
    razzle-shortcut.png

  • 双击新建的 razzle 快捷方式,执行一段时间后会弹出记事本界面,直接关闭即可。

  • razzle 执行完成后,不要关闭!不要关闭!不要关闭!输入 build /cZP 进行编译。我编译了大概 3 个小时。

    敲黑板:

    razzle.cmd 会为当前命令行设置一些临时的环境变量,比如,添加 build 所在的路径到 PATH

  • 确认编译结果!编译完成后,不应该有任何错误,只会有一些警告,如果有错误,说明前面某个步骤出错了。

build-result.png

编译成功后就可以开始准备打包了。

  • 解压 missing.7z 中的文件到 d:\binaries.x86fre 下。

  • 执行 tools\postbuild.cmd -sku:{srv}。执行需要一段时间,请耐心等待。

  • 执行完成后,检查 d:\binaries.x86fre\build_logs 下的 postbuild.err 中的错误数。不应该有很多,但也不会太少,很可能像下图这样。
    check-postbuild-error.png

  • 解压 2k3missingx86fre NOTFINAL v3.7.7z 中的文件到 d:\binaries.x86fre 下。一定要注意:不要覆盖任何现有文件

  • 解压完成后,再次执行 tools\postbuild.cmd -sku:{srv}

  • 执行完成后,再次检查 d:\binaries.x86fre\build_logs 下的 postbuild.err 文件中的错误数,这次应该只有很少的几个错误,类似下图:
    check-postbuild-error-again.png

  • 执行 tools\postbuild.cmd -sku:srv 。执行成功后,会在 d:\binaries.x86fre 下生成一个名为 srv 的文件夹。

    敲黑板:

    这是第三次执行 tools\postbuild.cmd,这次的参数是不带大括号的 -sku:srv。国外大佬的视频中并没有录制执行第三次的过程,所以有的小伙伴儿会在这里被坑。

  • 最后,执行 tools\oscdimg.cmd srv 即可生成最终的系统镜像文件。

如果上面的描述不够明白,没关系,看视频。

请参考公众号文章

验证

拷贝制作好的系统镜像和符号文件(只需要拷贝 symbols.pri 文件夹下的符号文件)到主机上。拷贝完成后,使用生成的镜像文件新建虚拟机,具体过程与安装 XP 虚拟机类似,安装过程从略。调试环境搭建,及使用 windbg 进行内核调试的过程请参考视频。

请参考公众号文章

相关文件

我已经把相关的文件上传到百度云盘了。

链接: https://pan.baidu.com/s/1M8vId2uFyxgIUTE2wDdXvQ

提取码: 163c

这些文件包括:

  • 32 位英文版 xp 系统镜像。

  • 油管上外国大佬录制的视频及缺失的文件,及相应的链接。

  • razzle.cmd 快捷方式。

  • server03 可用的 lisence

  • 我录制的三段视频。

  • 没有源码,请自行到网上搜索。

相关文章
|
3月前
|
Ubuntu 网络协议 开发工具
在 Ubuntu Server 上配置静态 IP 地址
在 Ubuntu Server 上配置静态 IP 地址
326 0
|
4月前
|
关系型数据库 MySQL Nacos
debian11 使用podman搭建 nacos-server
-itd - 后台运行,允许使用 podman exec nacos bash 指令登录进容器,调试建议改成 -it 并 删除后面的 --rm -rm - 容器stop或者程序挂掉后直接自动删除,如果想要长时间运行不建议使用此选项 --net=host - 容器使用宿主机的网络,这样比较偷懒,但是也比较灵活
125 0
|
6月前
|
监控 Java 数据库
Zabbix【部署 05】 Docker部署Zabbix Server Agent Agent2 Web interface及 Java-Gate-Way(详细启动脚本及踩坑记录)不定时更新
Zabbix【部署 05】 Docker部署Zabbix Server Agent Agent2 Web interface及 Java-Gate-Way(详细启动脚本及踩坑记录)不定时更新
524 0
|
Ubuntu
ubuntu 18.04.3 server 配置IP
采用修改这个文件/etc/network/interfaces ,改ip的方式在ubuntu 18里行不通
155 0
|
应用服务中间件 数据安全/隐私保护 nginx
Caddy Server使用进阶
Caddy Server使用进阶
840 0
|
存储 Shell 开发工具
|
SQL Windows 网络协议