欢迎光临,这里是 gOxiA=苏繁=SuFan 独立的个人博客。
本站域名:http://goxia.maytide.net or http://sufan.maytide.net
移动设备请访问:http://goxia.maytide.net/m
转载文章,请务必保留出处与作者信息,未经许可严禁用于商业用途!

HOWTO: 解决 Windows 无法设置脱机区域配置信息 0x80000001 的故障问题

        企业 IT 人员为了减少桌面客户端系统在部署时所投入的精力和时间,都会选择桌面标准化的方式进行部署。通常会创建一个标准的自定义系统映像,并通过网络或存储载体进行安装。但是如果 IT 人员使用了中文的安装环境(boot.wim 使用 Windows PE zh-cn)却安装的是英文的系统(install.wim 使用 Windows 7 en-us),就会出现“Windows 无法设置脱机区域配置信息。错误代码:0x80000001”的故障问题,如下图所示:

error

        这是因为中文版的安装向导中“要安装的语言”选项中并未包含“英语”,所以在完成文件释放后,首次进行系统配置时无法对系统执行对应语言的设置便会出现 0x8000001 错误。之前也考虑是否可以通过应答文件设置来跳过此步骤,强制向导选择英语版本的系统安装,但仍然会报错。所以要解决这个问题唯一的办法就是使安装向导(Windows PE)支持多语言的系统映像。

14

        在 WAIK 的 Windows PE 用户手册中提供了“向 Windows 安装程序中添加多语言支持”的帮助指南。用户需要将对应系统映像语言的 PE 语言包安装到当前实例的 boot.wim 中。

13

        以中文安装环境+英文系统(64bit)为例,下面是具体的操作过程:

  1. 使用 DISM 加载 boot.wim 的第一个映像(索引1)到本地目录,以便于之后添加 Windows PE 基础语言包。
    dism /mount-wim /wimfile:d:\isotemp\sourcesboot.wim /index:1 /mountdir:d:\mount
  2. 将要支持的语言添加到 Windows PE 中。
    dism /image:d:\mount /add-package /packagepath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\EN-US\LP_EN-US.CAB"
  3. 重新生成 lang.ini 文件以更新语言支持。
    dism /image:d:\mount /gen-langini /distribution:d:\mount
  4. 卸载 boot.wim 并保存对映像的修改。
    dism /unmount-wim /mountdir:d:\mount /commit
  5. 加载 boot.wim 的第二个映像(索引2),随后添加对于的三个PE语言包。
    dism /mount-wim /wimfile:d:\isotemp\sourcesboot.wim /index:2 /mountdir:d:\mount
  6. 将要支持的对应的三个语言包添加到 Windows PE 中。
    dism /image:d:\mount /add-package /packagepath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\EN-US\LP_EN-US.CAB"

    dism /image:d:\mount /add-package /packagepath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\EN-US\WINPE-SETUP_EN-US.CAB"

    dism /image:d:\mount /add-package /packagepath:"C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs\EN-US\WINPE-SETUP-CLIENT_EN-US.CAB"
  7. 为第二个映像重新生成 lang.ini 以更新语言支持。
    dism /image:d:\mount /gen-langini /distribution:d:\mount
  8. 卸载 boot.wim 并保存对映像的修改。
    dism /unmount-wim /mountdir:d:\mount /commit

        最后,根据需要重新生成 ISO 刻录光盘或做成 USBFlash 进行安装,问题解决!进入安装界面会让用户先选择安装环境,之后与前面第一个截图一样可以在“要安装的语言”下选择系统语言。(提示:需要注意的是在 PE 里添加多语言支持并不代表系统就能支持多语言,仍需对系统映像执行修改。)

1

        注意,如果自定义后的 ISO 映像大于 4.5GB,那么需要在根下创建一个名为 bootorder.txt 的文本文件,以确保引导文件都位于映像的开头。请将下面的内容复制到该文件中。

Bootmgr

boot\bcd

boot\boot.sdi

boot\bootfix.bin

boot\bootsect.exe

boot\etfsboot.com

boot\memtest.efi

boot\memtest.exe

boot\en-us\bootsect.exe.mui

boot\fonts\chs_boot.ttf

boot\fonts\cht_boot.ttf

boot\fonts\jpn_boot.ttf

boot\fonts\kor_boot.ttf

boot\fonts\wgl4_boot.ttf

sources\boot.wim

Tags: , , , , ,

image

因删除 LiteTouch PE WIM 引发的部署故障

        发现这类问题实属巧合,用了这么多年 Microsoft Deployment Toolkit,之前也没注意过,这不前几天为公司一台服务器执行 Native VHD Boot 的部署时偶遇了这个问题!参考下图:

MDT_ApplyRE_Failed

        记得之前执行部署任务都是没有问题的,也没有修改过任务序列,怎么突然就出现这个问题了呢?!之后仔细审查错误日志,注意到其中的两个关键错误提示,如下:

  • FAILURE ( 5610 ): False: Verify File:\\WDS\DeployPoint$\Boot\LiteTouchPE_x64.wim  
  • Failed to run the action: Apply Windows PE.

        应该是生成的 LiteTouchPE WIM文件出现了问题,打开“文件资源浏览器”去寻找该文件,发现 Boot 目录下确认没有该文件,重新执行 Update Deployment Share,再次执行任务故障消失!

        以此推断,在现有系统环境下执行部署任务时,为了使计算机重新启动后能进入 LiteTouch 环境,任务序列在执行过程中会拷贝一份生成的 LiteTouch 的 WIM 文件到本机,并配置以该 WIM 启动,而非常规的 PE 映像。惭愧……之前完全没有这个意识,这次算是学习并记住了!

进一步优化加速部署映像的安装

        为了让大家更清晰的明白 gOxiA 这篇日志要讲的内容,先让我们回顾一下 gOxiA 之前写的两篇日志:制作 Windows 7 加速部署映像利用 REAgentc 实现快速的系统恢复。否则你将无法真正了解 gOxiA 撰写此篇日志的意图。

        创建自定义映像(加速部署映像)就是为了能提高系统的安装速度,并简化安装过程。而部署这一映像有很多种方法,比如:通过网络、UFD、DVD等方式。这里将不讨论网络的安装方式,而后两者都是通过存储载体进行安装,那么我们要么使用标准的 Windows 7 Setup 进行安装,或者使用自定义的 PE 环境来调用命令(Imagex.exe)安装。两者各有优势,Windows 7 Setup 提供了友好的交互界面,而命令方式虽然看似复杂,但能实现更多的需求,并减少人工的干预,最关键的是实现安装后的系统已经包含恢复功能及恢复映像。所以我们需要根据实际的需求对加速部署映像的安装做进一步的优化,以实现我们的需求或目标。

        为了更清楚的描述,gOxiA 拿自己的设计需求为例向大家讲解。首先 gOxiA 已经制作好了一份自定义的 Windows 7 映像,该映像包含应答配置,最终将通过 UFD 为载体进行安装,并提供原始映像用于系统恢复。由于旧计算机已经包含分区和数据,所以配置系统恢复功能只能通过手工的方式,在 Windows 7 Setup 标准安装全部完成之后进行。如果是新计算机则就好办的多,直接执行事先写好的命令行脚本,即可完成创建系统分区和恢复分区、释放系统映像、拷贝加速部署映像到计算机恢复分区、配置 REAgentC、配置恢复分区为 OEM 类型进行隐藏保护等操作。下图是整体的流程:

image

        不难看出,要实现包含恢复功能的安装,最简单的实现办法就是在新计算机上通过命令脚本的方式来安装。而恢复功能则是用的 Windows 7 自带的 REAgentC 来实现。在旧计算机上的安装和后续恢复功能的配置操作这里就不再阐述,可以参考前面提到的“利用 REAgentc 实现快速的系统恢复”。下面将主要讲解如何通过命令脚本在新计算机上进行安装。

        为了进一步的优化安装,上图中的子流程包含了6个步骤,其中包括了为恢复映像单独创建一个分区,并对其进行了隐藏保护。首先我们要准备两个 diskpart 脚本文件,以实现创建分区(ConfigHD.txt)和保护分区(ConfigOEMID.txt)的操作。

        ConfigHD.txt 的内容如下:

sel disk 0
clean
create partition primary size=100
format fs=ntfs quick
active
assign letter=s
create partition primary size=61444
format fs=ntfs quick label=OS
assign letter=c
create partition primary size=10245
format fs=ntfs quick label=Recovery
assign letter=r
exit

        ConfigOEMID.txt 的内容如下:

sel disk 0
sel partition 3
set id=27
exit

        将上面两个文件保存当 UFD 安装盘根目录下。之后创建一个名为 CleanDeployWindows7.cmd 的文件,同样保存在 UFD 根目录下,内容如下:

diskpart /s confighd.txt
imagex apply .\sorucesinstall.wim 6 c:
c:\windows\system32\bcdboot c:\windows /s s: /l zh-cn
md r:\recovery
copy .\sources\install.wim r:\recovery
copy c:\windows\system32\recovery\winre.wim r:\recovery
c:\windows\system32\reagentc /setreimage /path r:\recovery /target c:\windows
c:\windows\system32\reagentc /setosimage /path r:\recovery /rarget c:\windows
diskpart /s configoemid.txt
x:\windows\systrem32\wpeutil reboot

        至此,准备工作完成,接下来使用该 UFD 引导,如果是在新计算机上则调用 CMD,执行 CleanDeployWindows7.cmd,由于要释放和拷贝 WIM,所耗时间会有所增加,但是一劳永逸!当操作完成后会自动重新启动。如果是在旧计算机上,则使用 Windows 7 Setup 进行安装,再之后手工拷贝 WIM 文件,执行 REAgentC 进行恢复功能的配置。

        以上内容参考了 Microsoft OPK 提供的资料并进行了适当的修改。现在我们有了一份属于自己的 Windows 7 安装源,并提供了只有品牌机才有的恢复功能。

分页: 1/4 第一页 1 2 3 4 下页 最后页 [ 显示模式: 摘要 | 列表 ]