使用 DVD 部署 Windows 映像

如果 Windows 映像超过 4.7GB (4700MB),并且要使用 DVD 进行部署,你可以创建跨区媒体。

  1. 创建 Windows PE 密钥。 请参阅 WinPE:创建 USB 可启动驱动器
  2. 以管理员身份打开“部署和映像工具环境”。
  3. 拆分 Windows 映像:
    Dism /Split-Image /ImageFile:C:\install.wim /SWMFile:C:\images\install.swm /FileSize:4700
    
    

    其中:

    • C:\images\install.wim 是要拆分的映像文件的名称和位置。
    • D:\images\install.swm 是拆分 .wim 文件的目标名称和位置。
    • 4700 是要创建的每个 .wim 拆分文件的最大大小(以 MB 为单位)。

    在本示例中,/split 选项在 D:\Imaging 目录中创建 install.swm 文件、install2.swm 文件、install3.swm 文件等等。

  4. 将文件复制到 Windows PE 密钥。
  5. 在目标电脑上,启动到 Windows 预安装环境 (WinPE),然后使用 DISM /Apply-Image 命令从第一张 DVD 中应用映像。
    Dism /apply-image /imagefile:install.swm /swmfile:install*.swm /index:1 /applydir:D:\
    
    
  6. 在需要以下 DVD 时,DISM 会发出提示。

设备型号:锐捷RSR20-04E

直接在web界面-nat配置里做的端口映射是不能用内网主机访问映射的外网IP+端口的

需要在终端或者web控制台下操作,映射规则结尾加上permit-inside,

Ruijie#conf t 

Ruijie(config)#ip nat inside source static tcp 192.168.2.71 18099 221.131.xx.xx 18099 permit-inside

 

微软的Windows部署服务    Windows Deployment Services

如果有AD环境的话可以安装Srv2008版本,如果要独立安装就得用2012或者更高的版本,对比2012与2016最终我选择了2016 server来使用

1、DHCP环境要求

我用的是华为S5720核心交换机上做的全局dhcp服务,IP地址池里添加以下3条规则

 next-server 192.168.50.5

 option 66 ip-address 192.168.50.5

 option 67 ascii boot\x86\wdsnbp.com

特别提示:如果交换机开启了 dhcp snooping enable 功能,请一定要把wds服务器连接的端口加上

dhcp snooping trusted

2、WDS服务配置

Server2016安装windows 部署服务,我这里是独立安装(没有AD环境),默认配置下pxe client也是可以启动的。

启动环境推荐选择Server2016的boot.wim,不过如果要部署32位的安装镜像那么就得用32位的boot.wim,boot.wim的网卡驱动和usb3.0驱动集成很easy,在wds管理工具里面可以图形化添加。附上USB3的驱动

Win7-USB3.0-Creator-V3-Win7Admin

AHCI驱动:Intel® Matrix Storage Manager

XP系统镜像的捕获网上有很多教程,推荐使用XP版本

zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso

提醒一下,适当优化下再捕获,比如添加个ahci驱动、更新全部的补丁,关下睡眠功能、安装必要的软件和驱动等等,因为实际测试中XP系统不能配合应答文件使用。

所有的安装镜像推荐选择带vl的大客户批量授权版本,配合dns可指向内网kms server自动激活。

3、添加syslinux可引导其他系统。

详细操作过程参考:https://www.syslinux.org/wiki/index.php?title=WDSLINUX

下载地址:https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/

直接附上我的配置文档和效果图:syslinux

把这个压缩包解压到RemoteInstall\Boot\x64和x86文件夹内,使用这个命令可以建立目录链接,这样就不用每次修改两个文件夹了(建议只修改x64,我们的安装镜像和启动镜像全都用X64位的)。

mklink /j Boot\x86\pxelinux.cfg Boot\x64\pxelinux.cfg

 

再附个中文菜单生成工具:中文菜单

4、应答文件,供参考

auto-Untitled.xml应答文件

这个应答文件主要包括以下功能:

1、包含了32位与64位的应答二合一

2、pe阶段跳过手动登录验证(自己改下服务器登录地址<Credentials>)

3、自动搜索并安装共享文件夹内的驱动(改成自己的驱动共享目录,最好用wds服务器的共享<DriverPaths>)

4、关闭uac控制<EnableLUA>

5、增加oem信息(修改成自己的<OEMInformation>)

6、oobe阶段只保留新建用户和密码的操作

7、IE关闭首次向导并设置IE主页(自己修改<Home_Page>)

8、关闭防火墙<DomainProfile_EnableFirewall>

Arch Linux 的官方包索引中就有 Shadowsocks 的 Python 版(包名为 shadowsocks)和 libev 版(包名为 shadowsocks-libev)。本文以 libev 版本(C 实现)为例.

通过命令 sudo su - 切换为 root 用户

具体安装 shadowsocks-libev 的命令如下:

pacman -Sy --noconfirm shadowsocks-libev

安装完成后,会有 ss-local, ss-manager, ss-nat, ss-redir, ss-server, ss-tunnel 命令可用。

添加配置文件

shadowsocks-libev 及 shadowsocks 的服务文件默认都会读取位于 /etc/shadowsocks/ 目录下 .json 格式的配置文件。

(注:如果 /etc/shadowsocks/ 目录不存在,则需要先创建该目录,命令为 mkdir /etc/shadowsocks

shadowsocks-libev 不提供默认配置文件,因此我们需要手动创建一个,如 /etc/shadowsocks/server.json

{
	"server": "0.0.0.0",
	"server_port": 1050,
	"password": "cetc50",
	"method": "chacha20-ietf-poly1305",
	"mode": "tcp_and_udp"
}
  • "server": 选填,默认 "0.0.0.0"。配置客户端时填入服务器的实际 IP。"0.0.0.0" 表明服务端接受来自任何网络接口的连接。配置服务端时填入 "0.0.0.0" 总是能生效,而不必填入服务器自身的 IP。
  • "server_port": 必填。需要在客户端配置时填入相同的值。此处填入服务端要监听的端口。建议选择 1024 或以上的端口号,否则启动 ss-server 时将会需要 root 权限。
  • "password": 必填。需要在客户端配置时填入相同的值。连接服务端所需的密码,建议替换为复杂密码,避免被攻击者暴力破解。
  • "method": 选填,默认 "rc4-md5"。需要在客户端配置时填入相同的值。服务端所用的加密方法,推荐以下几种算法:
    1. "chacha20-ietf-poly1305" 具有优秀的安全性,更佳的性能,属于 AEAD 加密算法,少部分客户端(如 iOS Wingy)不支持此算法;
    2. "aes-256-cfb" 具有足够安全性,且被各服务端及客户端广泛支持;
    3. "rc4-md5" 算法快速,且具有一定的安全性,适合运算能力受限的设备如路由器等。
  • "mode": 选填,默认 "tcp_only"。服务器所要监听的协议,可填 "tcp_only", "udp_only""tcp_and_udp"
    填入 "tcp_and_udp" 相当于命令行上提供 -u 参数;填入 "udp_only" 相当于命令行上提供 -U 参数。

对于配置服务端,完成以上几项配置就足够了。

启动 Shadowsocks 服务
有了 Shadowsocks 服务端的配置文件后,我们通过 systemd 启动 Shadowsocks 的服务端服务:

systemctl start shadowsocks-libev-server@server
注意,此处的 @server 与上文中我们创建的配置文件 server.json 是相对应的。

如之前创建的配置文件名为 example.json,那么此处的命令就应该为 @example。

不过,无论配置文件取名如何,都应该放在 /etc/shadowsocks/ 目录下,否则服务将无法定位到相应的配置文件。

检查 Shadowsocks 服务状态
要确认 Shadowsocks 的服务运行状态及最新日志,我们可以执行命令:

systemctl status shadowsocks-libev-server@server
要查看 Shadowsocks 服务的全部日志,我们可以执行命令:

journalctl -u shadowsocks-libev-server@server
配置服务开机自启
上文中,我们通过 systemctl start 启动了服务,但是如果我们想要服务能在开机时自动启动,还需要执行以下命令:

systemctl enable shadowsocks-libev-server@server
至此,服务端所需要的所有配置就都已经完成了。