在聊天讨论提出了在 Windows 7 安装过程中某些关键点会发生什么的问题。了解这些点究竟发生了什么,对于确定安装过程中可能出现的任何问题非常有用。例如,在安装过程中,Windows 会“扩展”要安装的文件。发生了什么导致安装在扩展 27% 时冻结?了解“扩展”的真正含义的基本概念将大有裨益。
Windows 7 安装过程主要有 5 个步骤:
- 复制 Windows 文件
- 扩展 Windows 文件
- 安装功能
- 在安装更新
- 完成安装
我正在寻找有关每个步骤真正代表什么的更多细节,以及我们是否可以从这些步骤中提取具体信息(例如百分比可能代表什么)。
即复制 Windows 文件是否意味着创建 RAM 磁盘,然后将安装文件复制到该磁盘?27% 通常是 Windows 加载驱动程序的地方吗?等等。
答案1
有关启动过程的社区 Wiki 文档
由于将整个过程详细描述到最精细的细节需要进行相当多的分析和研究才能适用于所有 Windows 版本,并概述设置的细节;请帮助编写这个社区 wiki,它可以使未来其他用户受益,他们试图了解他们的启动过程在哪里以及为什么失败...谢谢!
复制 Windows 文件:
由于从安装介质扩展所有内容会很繁琐,因此安装程序会首先复制所有内容。
抄送
boot.wim
C:\$Windows.~BT
抄送
install.wim
C:\$Windows.~LS
扩展 Windows 文件:
现在我们有了文件,可以扩展它们了。
展开
install.wim
于C:\
,对于Users, ProgramData, Program Files, Windows
,...扩展
boot.wim
,包含可执行文件和可启动的配置。
安装特点:
启用并配置需要启用的功能,请注意这些功能可以自定义。鉴于文件已经就位,这很可能是建立一些硬链接并更改一些注册表功能以使这些功能存在于系统中。
在安装更新:
安装已打包到安装介质上的任何 KB 更新。这是一种常见做法,这样当您必须进行多次安装时,就不必每次都从互联网上获取更新。
完成安装:
检测您的驱动程序,安装安装介质附带的任何驱动程序。如果您需要安装到许多相同类型的计算机上,则打包驱动程序是值得的。
清理安装过程中留下的所有临时内容。
确保系统可以重新启动。
确保硬盘上的数据已经同步并且不再缓存。
重新启动系统。
首次启动:
更多配置,主要是为了进一步根据您的硬件定制操作系统。
审核模式(可选):
如果系统设置为以审核模式启动;无论是通过无人值守配置,sysprep /audit
还是通过按住Ctrl+ Shift+ F3,都可以在创建用户之前自定义安装,这对于在完成安装之前提供某些功能(现在称为垃圾软件)很有用。请注意,通常此阶段是自动的,最后调用sysprep /oobe
。
开箱即用体验:
最后,您将到达欢迎屏幕,您可以在此创建您的用户配置文件。
每个用户首次登录都会应用一些进一步的个人配置。
答案2
您不一定需要记录各个步骤。
这是一项繁琐的工作,因为不只有一个设置……
您可以这样做,但这只会使您的文档特定于:
- 某个版本的 Windows。
- 安装与升级。
- 32 位与 64 位
- 硬件差异可能导致百分比更低/更精确。
如果你愿意和其他人一起记录,那就太好了。但如果只有一个人做一次,那就不可行了。因为那样投资回报率很低。
你可以简单地看到什么安装过程中发生。
你现在可能已经认识我了,这将是... 第一个字母:P
确切地!进程监控是适合此目的的工具。要么将其放在 USB 驱动器上,要么将其打包到 DVD 上。但这会让你想知道,如何跑步安装环境中的程序?
第一的,启动控制台使用Shift+F10然后找到正确的驱动器号并运行procmon.exe
。
在进程监视器中,只需将其设置为捕获所有内容,您就可以清楚地看到安装的具体操作。这样您就可以看到冻结时的最新事件,你实际上无法检查它们的属性但它至少可以让你有想法发生了什么事。
如果你想保存事件,你必须这样做在十秒计时器结束之前。
如果要在启动后开始捕获事件,请启用启动日志菜单中选项。当您的计算机已完全启动并且您已登录时,打开 Process Monitor 将加载启动跟踪,这样您也可以保存第二部分。
但是,如果冻结或崩溃还不能告诉我足够的信息怎么办?
对于冻结:
你可以设置 Ctrl+ Scroll Lock+Scroll Lock在 Windows 安装程序中执行用户启动的崩溃。因此,也许这也可以默认在 Windows 安装程序中启用。如果默认情况下未启用,可以尝试编辑 Windows 安装程序的 Windows PE 环境的注册表配置单元,以确保默认情况下启用该设置。
如果这不起作用,Microsoft 和系统构建商的正确方法是启用调试并在两台计算机之间连接调试电缆,然后他们可以在冻结期间暂停系统并进行调试。下一节将概述用于此目的的工具。
对于崩溃:
当遇到崩溃(BSOD)时,您的第一站应该是Bug 检查代码参考了解特定错误检查的实际含义。从那里开始,简单的方法是使用谁撞车了并可能发现一个特殊的原因。
更难的方法是学习Windows 调试工具中的 WinDbg,它允许您分析转储并尝试调查到底发生了什么。但有时这可能不清楚,您必须进行一些硬件故障排除...