admin 管理员组

文章数量: 887019

这是坚持技术写作计划(含翻译)的第7篇,定个小目标999,每周最少2篇。

本文主要讲解通过CentOS7.6 Minimal + Cobbler 自动化安装CentOS,Ubuntu,Windows 10 和 Windows Server 2019(应该算是全网第一篇Cobbler+Win10/WinServer2019了)。

请注意,一般安装windows是用MDT或者WDS居多,毕竟是巨硬自己家的,而且MDT还支持分布式镜像传输(主要是巨硬家的OS,动辄超过4G,万兆网卡也会卡啊)。本文不涉及到MDT或者WDS相关操作,感兴趣的可自行百度或者msdn。

准备

  • Windows ADK (分别下载 Download the Windows ADK for Windows 10, version 1809 和 Download the Windows PE add-on for the ADK)
  • 下载 Windows 10 (business edition), version 1809 (Updated Feb 2019) (x64) - DVD (Chinese-Simplified) 
  • 下载 Windows Server 2019 (x64) - DVD (Chinese-Simplified)

注意,adk的两个都要下载,这俩都是引导包,真正的安装程序会由这俩软件进行下载。其中WinPE需要用到5G左右的磁盘空间,简直不能忍受。。。
msdn i tell u 堪称良心站,是windows装机神站啊,不过,没有直达页面挺不爽。为了防止下错,特意截图。

安装ADK和WinPE

我已经装过,且忘记截图了,这是事后补图,只需要勾选必须的就行

安装完后,以管理员身份打开部署和映像工具环境

定制Win 10 PE

copype amd64 C:\winpe

Dism /mount-image /imagefile:C:\winpe\media\sources\boot.wim /index:1 /mountdir:C:\winpe\mount

echo net use z: \\192.168.0.253\share >> C:\winpe\mount\Windows\System32\startnet.cmd
echo z:\win\setup.exe /unattend:z:\win\win10_x64_bios_auto.xml >> C:\winpe\mount\Windows\System32\startnet.cmd

Dism /unmount-image /mountdir:C:\winpe\mount /commit
MakeWinPEMedia /ISO C:\winpe C:\winpe\winpe_win10_amd64.iso
复制代码
  1. 本地生成winpe文件目录
  2. dism 挂载 winpe的启动文件到winpe的mount目录
  3. 将启动命令硬编码写死到winpe的startnet.cmd文件里
  4. 无人值守安装
  5. 卸载winpe的挂载(一定要执行,否则直接强制删除文件夹会出一些稀奇古怪的问题)
  6. 制作win10镜像,名为 winpe_win10_amd64.iso

第三步的硬编码是无奈之举,因为要想挂载共享文件夹,必须要知道smb主机,但是这个参数又很难传递进来。
如果是U盘启动,可以写死U盘路径,大不了插上U盘后,手动改卷标(当然因为U盘挂载顺序不一致,可以通过for循环A-Z盘,挨个盘访问某个文件名,如果存在,即认为此盘是自己U盘,设置环境变量)。而网上说的,startnet.cmd调用另外一个bat,多是基于这个原理。

而如果PXE要达到跟上述要求,动态设置smb主机,要么写死域名,然后劫持或者配置域名,加上bat文件,在winpe启动时,通过startnet.cmd下载,并执行。要么找办法,看看能不能在启动时,传入参数(目前我还没找到),当然还可以用MDT方案,看着比PXE+无人应答文件简单很多。

配置Cobbler Server

导入Cobbler

使用WinScp 等工具,将 winpe_win10_amd64.iso 上传到 Cobbler 服务器上

[root@localhost ~]# cobbler distro add --name=windows_10_x64 --kernel=/var/lib/tftpboot/memdisk --initrd=/root/winpe_win10_amd64.iso --kopts="raw iso"
[root@localhost ~]# touch /var/lib/cobbler/kickstarts/winpe.xml
[root@localhost ~]# cobbler profile add --name=windows_10_x64 --distro=windows_10_x64 --kickstart=/var/lib/cobbler/kickstarts/winpe.xml
复制代码

创建自动应答文件

直接从 Windows Answer File Generator#win10_x86_64 通过简单配置后,下载即可(只支持简单操作,比如,装系统,格式化磁盘,设置密码等)。当然也可以使用 【Windows系统映像管理器】,不过挺难用的,具体用法可以参考 How to create an unattended installation of Windows 10。也可以通过MDT简化操作。

但是如果使用直接生成的,有点问题,即使页面设置了安装语言,但是仍旧需要手动选择,经过多方研究,发现
主要卡在UILanguage和Inputlocale上,全写zh-CN无效。

<?xml version="1.0" encoding="utf-8"?>
<component 此处忽略>
  <SetupUILanguage>
    <UILanguage>en-US</UILanguage>
  </SetupUILanguage>
  <InputLocale>0804:{81D4E9C9-1D3B-41BC-9E6C-4B40BF79E35E}{FA550B04-5AD7-411f-A5AC-CA038EC515D7}</InputLocale> 
  <SystemLocale>zh-CN</SystemLocale>
  <UILanguage>zh-CN</UILanguage>
  <UILanguageFallback>zh-CN</UILanguageFallback>
  <UserLocale>zh-CN</UserLocale>
</component>

复制代码

另外就是安装密钥,统一替换为 VK7JG-NPHTM-C97JM-9MPGT-3V66T

下面是我的应答文件,仅做参考。

<!--*************************************************
Windows 10 Answer File Generator
Created using Windows AFG found at:
;http://www.windowsafg

Installation Notes
Location: zh-CN
Notes: Enter your comments here...
**************************************************-->
<?xml version="1.0" encoding="utf-8"?>
<unattend
    xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
            xmlns:wcm="http://schemas.microsoft/WMIConfig/2002/State"
            xmlns:xsi="http://www.w3/2001/XMLSchema-instance">
            <SetupUILanguage>
                <UILanguage>en-US</UILanguage>
            </SetupUILanguage>

本文标签: 批量 Cobbler Server