我们在 Build 大会的 Windows 8 主题发言中曾提到,每隔 15 年左右我们都会选择对任务管理器进行更新。这当然只是个玩笑,事实上我们几乎在每个 Windows 版本中都不断地改进着该实用工具。在 Windows 8 中,我们重新审视了该工具,并希望通过某些新情境和新方式来对其进行改进,以便满足最终用户和需要对其 PC 进行精细控制的高级用户这“对立两级”的要求。控制您的 PC 团队的小组项目经理 Ryan Haveson 创作了这篇博文。注意:本博文的主题是任务管理器,而不是关于 Metro 风格应用程序的收尾 🙂
–Steven

非常荣幸能够在此向您介绍我们在 Windows 8 中对任务管理器进行的一些改进。作为使用最为广泛的应用程序之一,任务管理器具有悠久的历史。在早期版本的 Windows 中,它曾作为用于关闭和切换程序的简单实用工具出现,历经多个版本不断向其中添加功能,才最终形成了如今的任务管理器。

8267.Windows_2D00_3.0_2D00_Task_2D00_List_5F00_thumb_5F00_6E7D7885

图 1:Windows 3.0 任务列表

0576.Windows_2D00_NT_2D00_4.0_2D00_Task_2D00_Manager_5F00_thumb_5F00_4338E17E
图 2:Windows NT 4.0 任务管理器(现在带有“[New Task](新建任务)”)

6507.Windows_2D00_XP_2D00_Task_2D00_Manager_5F00_thumb_5F00_070D15D6
图 3:Windows XP 任务管理器(带有新增的 [Networking](网络)和 [Users](用户)选项卡)

3872.Windows_2D00_7_2D00_Task_2D00_Manager_5F00_thumb_5F00_54A94256
图 4:Windows 7 任务管理器

任务管理器的使用如此广泛,以至于我们所进行的任何更改都会引起注意,因此,我们对这项工作既感到非常自豪又必须无比谨慎。开始时,我们注意到了一些希望解决的关键问题:

  • 构建一款设计精良、细致周到并且时尚前卫的工具。毕竟,即使是一款技术工具也可以从设计中获益。
  • 填补某些促使部分最具技术实力的用户使用资源监控器和 Process Explorer 等其他工具的功能空白。
  • 组织和突出丰富的可用数据,以便为那些追求更高数据水平的用户提供更加优美和清晰的视图。

人们如何使用任务管理器?

要真正让任务管理器更上一层楼,我们希望首先了解人们之前是如何使用它的。多年来,该工具一直在不断改进,以支持各种不同情境。在 Windows 7 中,您可以使用任务管理器来关闭应用程序,查找进程的详细数据,启用或停用设备,监控网络适配器,甚至针对当前登录的用户执行基本系统管理员任务。这些功能的数量已经相当可观。

通过对遥测数据的分析,我们发现了一些不错的切入点。我们将这些数据与实验室中的个别用户访谈和观察相结合,以了解人们会使用任务管理器做些什么,以及他们为什么会这样做。

7288.Which_2D00_tabs_2D00_are_2D00_people_2D00_using_5F00_thumb_5F00_74581C1E
图 5:人们在使用哪些选项卡?

这一数据很有意思。它显示出人们将大部分时间花费在前两个选项卡上,即围绕应用程序和进程的视图。虽然这一结果并非出人意料,但看到“应用程序”选项卡和“进程”选项卡的使用量几乎相等还是令人感到非常有趣。这表明“应用程序”选项卡中缺少某些重要的详细信息,因此才促使人们访问“进程”选项卡。于是,我们开始继续分析人们如何使用“进程”选项卡,以了解他们都执行了哪些操作。

2620.Which_2D00_columns_2D00_are_2D00_sorted_2D00_by_2D00_users_5F00_thumb_5F00_1406F5E7
图 6:很多用户会按照资源使用情况排序进程视图

当分析了这些数据,并将其与实验室中的用户访谈和观察相关联后,我们发现人们使用“进程”选项卡的主要理由有两个:查找应用程序列表中没有的项目(例如,后台进程或系统进程),或查看哪些进程使用的资源最多。

接下来,我们分析了人们在任务管理器中执行了哪些操作。

2705.Top_2D00_user_2D00_actions_5F00_thumb_5F00_6CCCACB1
图 7:目标通常为关闭或“终止”某个应用程序或进程
点击以查看本图表的更大版本

通过对数据的分析和与用户之间的交流,我们得以确定该工具最常见的用途是简单地结束或“终止”某个应用程序或进程。

新版任务管理器的目标

根据对所有数据的分析和我们的背景研究,我们决定将精力集中在三个主要目标上:

  • 针具最常见的情境优化任务管理器。关注数据指出的以下情境:(1) 使用“应用程序”选项卡来查找和关闭特定应用程序,或者 (2) 访问“进程”选项卡,根据资源使用情况排序,然后终止某些进程来回收资源。
  • 通过现代信息设计来实现功能目标。通过关注信息设计和数据虚拟化来设计一种周到而前卫的工具,帮助实现功能情境目标。
  • 不去除功能。除了一些值得注意的核心情境外,任务管理器中还有很多较少使用的情境。我们设置了一个明确的目标,决定不去除任何功能,而是扩大、增强和改进这些功能。

如何能够在不让用户感到眼花缭乱的前提下,添加各种有趣的新功能,这是我们希望解决的一个关键问题。为了解决这个问题,我们添加了一个与新复制文件对话框模式类似的 [More/Fewer details](详细/简略信息)按钮。

1731.Windows_2D00_8_2D00_Task_2D00_Manager_2D00_default_2D00_view_5F00_thumb_5F00_4592637C
图 8:[Fewer details](简略信息)视图

8662.Windows_2D00_8_2D00_Task_2D00_Manager_2D00_More_2D00_details_2D00_view_5F00_thumb_5F00_7A32BFB7
图 9:[More details](详细信息)视图

此模式允许我们围绕查找和关闭应用程序的核心情境来优化默认视图([Fewer details](简略信息))。该模式还允许我们在其他视图中添加更多详细信息,因为这些信息只有在您要求时才会显示。在 [More details](详细信息)视图中,我们决定继续保留任务管理器现有的 Tab 键浏览模式,并将重点放在改进每个选项卡的内容上。这将帮助我们在不去除功能的前提下,扩大、增强和改进现有功能。

情境 #1:快速而高效地结束进程

我们通过很多第三方工具了解到(例如,Sysinternals 的 Process Explorer 等工具)任务管理器中还可以为高级用户添加很多新功能,但我们必须优先考虑主流用户的需要,因为我们不希望大部分用户在使用该工具时感到眼花缭乱。我们将继续重视第三方工具的价值,因为它们能提供围绕此任务和其他很多任务的专业化和独特的创新。对于默认视图,我们设计了一种可满足大多数用户和最常见情境需要的极端简洁体验。在 Windows 8 中初次启动任务管理器时,您将看到一个显示正在运行应用程序的简洁视图。我们让该默认视图中专注于一个重要的功能:终止行为不当的应用程序。同时我们去除了所有不直接与核心情境相关的功能。

 

8255.Default_2D00_view_2D00_of_2D00_Windows_2D00_8_2D00_Task_2D00_Manager_5F00_thumb_5F00_6BF446C7

图 10:“Windows 8”中任务管理器的默认视图

默认视图的价值主要体现在我们去除的功能。我们去除了与终止应用程序这一核心任务无关的所有功能,这让我们的设计变得更加专注和高效。具体来说:

  • 我们从此视图中去除了多个与核心情境无关的选项卡。
  • 我们从默认视图中去除了菜单栏。
  • 此视图仅显示应用程序,并去除了无法终止的个别窗口。
  • 我们去除了会导致体验混乱的功能,例如,资源使用状态和大多数用户不理解的技术概念。
  • 不再有双重提示。如果您单击 [End task](结束任务),我们不会向您询问“是否确定?”,而只是迅速地终止该应用程序。(但请小心,因为我们也不会提示您保存!)

看一看在打开相同应用程序和窗口的情况下,新版任务管理器较之 Windows 7 任务管理器在简洁度和专注度方面的有哪些提升:

3377.Windows_2D00_7_2D00_Task_2D00_Manager_5F00_2_5F00_thumb_5F00_44B9FD92

5428.Default_2D00_view_2D00_of_2D00_Windows_2D00_8_2D00_Task_2D00_Manager_5F00_thumb_5F00_605E8988
图 11:Windows 7 和 Windows 8 任务管理器的比较

去除所有多余的功能后,您获得的工具将只专注于一个情境:终止行为不当的应用程序。大量用户对于无法通过应用程序“关闭”按钮结束的“未响应”应用程序感到头疼,而这正好满足了他们的需要。

情境 #2:诊断性能问题

任务管理器中的很多新增功能只有当您访问 [More details](详细信息)视图时才会显示。这是为高级用户提供的一片天地,因此请记住,主流用户可能永远也不会希望访问这些详细信息,[Fewer details](简略视图)应该就能满足他们的全部需要。

以下是您将在此新视图中看到的内容:

 

7178.Processes_2D00_tab_2D00_of_2D00_Windows_2D00_8_2D00_Task_2D00_Manager_5F00_thumb_5F00_39244053

图 12:新 [Processes](进程)选项卡和热度图

热度图

新 [Processes](进程)选项卡中最显而易见的变化是使用颜色表示各种值的新热度图。我们的遥测数据显示用户经常会访问 [Processes](进程)选项卡,按照 CPU 或内存利用情况排序,然后寻找占用资源超过预期的应用程序。热度图的好处在于允许您无需排序数据便可同时监控多种资源的异常情况(网络、磁盘、内存和 CPU 利用情况)。它还允许您无需读取数量、理解概念或特定单位便可即时查找热点。在可用性研究中我们使用了一种目光跟踪系统来测试使用不同方式呈现此信息时,用户所注视的内容。这帮助我们确定了一种可以将用户的目光吸引到最明显资源问题上的设计。以下,您将看到目光跟踪研究中一个测试的结果,我们将参加者的目光移动记录叠加到了其注视目标的屏幕快照上。红点表示目光停留的位置,线段表示目光快速扫过的轨迹。


请下载此视频以便在您常用的媒体播放器中观看:
高质量 MP4 | 低质量 MP4

 

网络和磁盘计数器

许多高级用户使用资源监控器等其他工具作为对任务管理器的补充,仅仅是因为旧版任务管理器并未按进程显示网络和磁盘属性。考虑到旋转的磁盘或多个竞争网络带宽的应用程序正是许多可觉察 PC 性能问题的根本原因,不得不承认该功能是一项明显的缺失。新版任务管理器现在会按照与内存和 CPU 相同的详细程度显示这些资源。

突出显示资源使用情况

资源争夺是导致 PC 性能问题的最大诱因。如果某个资源的占用率超过了阈值,该列的标题将突出显示以吸引您的注意力。如果您遇到了性能问题,这项功能将作为一个警告指示器,告知您应该从何处着手。以下,您将看到突出显示的 CPU 列标题,提醒您注意多个应用程序正在争夺 CPU 时间。

4442.Resource_2D00_usage_2D00_indicators_5F00_thumb_5F00_43E197A8

图 13:资源使用情况指示器

按照应用程序、后台进程和 Windows 进程分组

当今的任务管理器面临一个巨大的挑战,这就是难以确定哪些是应用程序对应的进程(终止应用程序通常是安全的),哪些是 Windows 操作系统进程(终止其中一些进程可能会导致蓝屏),还有哪些是可能需要进一步发掘的杂项后台进程。新版任务管理器按类型分组显示进程,因此区分这些进程将变得易如反掌,同时在需要时,仍可为您提供未分组的视图。

3377.Grouping_2D00_by_2D00_process_2D00_type_5F00_thumb_5F00_7162B76B
图 14:按进程类型分组

友好地命名后台进程(以及服务等其他内容)

在以上的截图中,您是否看到了行项目“Print driver host for applications”?在旧版任务管理器中,此项目会显示为“splwow64.exe”。

此外,如果您仍然希望查看可执行文件名称,您当然也可以将其作为一个可选列添加进来。

按应用程序分组顶级窗口

旧版任务管理器的“应用程序”选项卡是一个包含来自系统中所有进程的所有顶级窗口的简单列表,这一点很让人心烦。虽然顶级窗口列表能提供很多有用的信息,但查看这些信息经常会让人感到眼花缭乱,并且有时不关闭该进程的其他窗口就无法终止某个窗口。为了解决此问题,新版任务管理器现在会按照父进程分组顶级窗口。这样您就可以获得满足主要用途的更加清晰的视图,帮助您重点关注可终止的进程,进程资源使用情况,并允许您查看各进程拥有的窗口,以便您了解终止进程后会关闭哪些窗口。

6180.Grouping_2D00_top_2D00_level_2D00_windows_2D00_by_2D00_process_5F00_thumb_5F00_430931BE
图 15:按进程分组顶级窗口

fussvc.exe 是什么?

您在查看进程列表时,是否看到过“fussvc.exe”并希望知道它究竟是什么?添加友好名称是解决此问题的良好切入点(fusssvc.exe 实际上是 Fast User Switching Utility Service),当然,要真正了解此进程是什么,您还需要在网上进行搜索。新版任务管理器集成了右键单击搜索上下文菜单,因此您将可以直接访问默认的搜索引擎(可自定义)以查看更多详细和相关信息。这将有效地帮助您确定某个后台进程是否有用。

8640.Search_2D00_the_2D00_web_2D00_for_2D00_details_2D00_on_2D00_obscure_2D00_processes_5F00_thumb_5F00_77A98DF9
图 16:搜索网络以了解晦涩进程的详细信息

4527.Search_2D00_results_2D00_for_2D00_fussvc.exe_2D00_Fast_2D00_User_2D00_Switching_2D00_Utility_2D00_Service_5F00_thumb_5F00_4950084C
图 17:“fussvc.exe Fast User Switching Utility Service”的搜索结果

服务宿主详细信息和友好名称

如果您打开 Windows 7 任务管理器,访问“进程”选项卡并选择 [Show process from all users](显示来自所有用户的进程),您很有可能看到八个看上去一模一样的“svchost.exe”实例。这是最经常被批评为“提供信息不足”的信息来源之一。当然,一些人可能知道这实际上只是一个服务宿主进程,您可以添加 PID 列,访问“服务”选项卡,按 PID 排序,并查看与该 PID 相关联的服务,然后反向查找每个服务的友好名称…但这种方法过于复杂(而且并非所有人都知道如何实现)!在新版任务管理器中,我们会按进程分组所有服务,并显示每个服务的友好名称,因此当某个 svchost 实例占用大量资源时,您将立即看到相应的服务:

6406.Service_2D00_host_2D00_grouping_2D00_and_2D00_details_5F00_thumb_5F00_2FE80512图 18:服务宿主分组和详细信息

您可以看到,我们向新版任务管理器中添加了��当多的内容(这还仅限于我们所展示的首个选项卡)!任务管理器为用户体验设计人员和研究者提供了与技术项目经理和工程师通力合作,打造简洁、有序和高效设计的难得机会。我们为主流用户简化了该工具,同时为高级用户添加了更多详细信息。

下面请观看这个快速演示视频,您可以在其中看到新版任务管理器的动态效果。


请下载此视频以便在您常用的媒体播放器中观看:
高质量 MP4 | 低质量 MP4

— Ryan

诸如内存使用之类的基本要素是 Windows 8 的一项主要工程设计原则。在构建 Windows 8 的过程中,我们的目标是显著降低核心系统的整体运行时内存要求。这对每个人都有好处,在如今这样一种环境下尤其如此,因为人们需要同时运行越来越多的应用程序,或者需要在只有 1GB 或 2GB 内存的系统上运行应用程序。我们在本博客中讨论的便携式计算机与我们在 2008 年 Windows 7 PDC 中讨论的便携式计算机完全相同:现成可用的、第一代具有 1GB 内存的基于 ATOM 的上网本。本博文由我们的性能团队的小组项目经理 Bill Karagounis 创作,详细介绍我们在减少内存占用方面所做的努力。–Steven

Windows 8 的运行时内存使用是确定 Windows 8 系统要求以及将承载 Windows 8 的大量设备类型的一个重要因素。如您所知,我们要在基于 SoC 的低功耗设备上交付完整的 Windows 8 体验。这就使得保留大量内存供多个并行应用程序使用并保持设备的整体响应能力变得更为重要。

一个不是特别显而易见的情况是,最大程度减少低功耗平台上的内存使用可延长电池寿命。这是怎么回事?在任何 PC 上,RAM 都在不断地消耗电能。如果操作系统使用大量内存,就会迫使设备制造商加入更多物理 RAM。主板上的 RAM 越多,它消耗的电能就越多,电池寿命就越短。有些情况下,平板设备上的额外 RAM 会使平板设备的电池寿命缩短数天,使您无法坐在咖啡桌前通过平板设备了解外面的世界。

内存使用目标

从一开始,我们对 Windows 8 设定的目标就是采用与 Windows 7 相同的系统要求。我们知道如果我们做得更好,即使保持发布的要求相同,应用程序也会有更多的资源可以使用。回想起 2009 年“低端”硬件的样子,而现在再也找不到类似 256MB 内存模块这样的古董,会觉得很有意思。我们想要确保使用 Windows 7 时代的硬件的人们可以选择将其现有计算机轻松地升级到 Windows 8 并利用 Windows 8 提供的功能。根据我们从我们的性能测试基础结构中故意保留的旧式计算机得到的经验,我们还预计在 Windows 7 发布之前生产的许多计算机将能够运行 Windows 8。

Windows 8 的一项重要任务是在寻找机会减少现有功能消耗的内存以及整个主板消耗的内存的同时,为新功能腾出空间。Windows 8 很好地实现了我们自己设定的目标。

任务管理器中的内存使用比较

准确比较 Windows 8 与 Windows 7 内存使用的最简单的方法是将这两种操作系统同时安装在一台 1GB RAM 计算机上(最低操作系统 RAM 要求),然后在它们已经过多次重新启动并闲置一段时间后对其进行比较。

Windows 任务管理器通过其“正在使用”统计信息提供系统内存的主要视图(详情请参见本文档)。下面的图形比较了运行 Windows 7 和 Windows 8 的同一台计算机在闲置时的内存使用情况,这台机器是 Steven 在最近的 Build 大会主题发言时使用的上网本,已经用了三年多。

8270.Figure_2D00_1_2D002D002D00_Memory_2D00_usage_2D00_in_2D00_Windows_2D00_7_2D00_SP1_5F00_thumb_5F00_30B5D3F2图 1 – Windows 7 SP1 中的内存使用

0172.Figure_2D00_2_2D002D002D00_Memory_2D00_usage_2D00_in_2D00_Windows_2D00_8_5F00_thumb_5F00_3049A0FD图 2 – Windows 8 中的内存使用

构成计算机的特定硬件、驱动程序的内存使用甚至是运行时间都会造成差异,因此不同计算机上的内存结果将有所不同(甚至同一计算机上的内存结果在不同时间也不尽相同)。尽管如此,还是可以看出,相对于 Windows 7 而言,Windows 8 在这方面做得更好一些。

为了使测试计算机上的操作更有趣,请转到设备管理器并禁用您的显示适配器(卸载图形驱动程序)。您绝不能像这样来运行计算机,但这可以给出更准确的 Windows 本身的内存使用估计值。通过禁用图形驱动程序,在闲置一段时间后,上述计算机的内存使用减少了 200MB。

注意:对于 Windows 8,其干净安装中还将包含扩展的 Windows Defender 技术,该技术首次纳入了完整的反恶意软件功能,根据 Jason 撰写的“保护您免遭恶意软件侵害”博文所述,该技术还针对内存和资源使用进行了优化。(Windows 7 的干净安装中不存在此功能,建议您添加安全软件。)

在 Windows 8 中腾出空间

我们进行了数百项特定更改来最大限度地减少 Windows 8 中的操作系统内存使用。在此我将介绍几个帮助大幅节省内存的特定领域。

内存组合

在评估典型的运行中 PC 上的 RAM 内容时,我们发现内存的许多部分都包含相同的内容。系统 RAM 之间冗余的数据副本使我们有机会减少内存占用,甚至是服务和操作系统组件的内存占用。

怎么会发生这种情况呢?应用程序有时会分配内存以供将来使用,并将其全部初始化为相同的值。应用程序实际上可能永远都不会使用该内存,因为用户可能永远都不会调用某些功能。如果多个运行中应用程序同时执行该操作,系统中将会出现冗余内存副本。

内存组合是一种方法,通过这种方法,Windows 可以在正常活动期间高效地评估系统 RAM 的内容,并找到所有系统内存之间的重复内容。然后 Windows 会释放重复内容,只保留单个副本。如果应用程序以后尝试写入内存,Windows 将为其提供一个专用副本。所有这一切都在内存管理器中悄悄进行,不会对应用程序造成影响。该方法可以释放数十至数百 MB 的内存(具体取决于同时运行的应用程序数量)。

服务更改和缩减

配置为始终运行的操作系统服务是环境内存使用的一个重要根源。在 Windows 8 规划过程中评估一系列操作系统服务时,我们决定删除其中的大量服务(13 个),将一组不同的服务改为“手动”启动,同时还使一些“始终运行”的服务切换为“按需启动”模式。在该模式中,操作系统中的“触发器”(如连接设备或网络地址可用)将导致发生以下情况:

  1. 服务启动。
  2. 服务执行其操作(可能是任何操作)。
  3. 服务闲置一段时间以确保没有任何其他需要执行的操作,然后
  4. 服务退出。

您会发现,在 Windows 8 中,即插即用、Windows Update 和用户模式驱动程序框架服务都是触发启动,而在 Windows 7 中,这些服务始终在运行。

当然,我们向 Windows 8 中添加了大量新功能(和新代码)。这些新功能的其中一部分打包为新服务的形式。在这些新服务中,只有两个是自动启动的;所有其他服务都是手动启动或触发启动。

使用更少的内存执行同一作业

在 Windows 运行应用程序和执行它自己的系统日常管理时,程序文件和数据会从磁盘加载到主内存中。在迄今为止的 Windows 7 和 Windows 8 开发过程中,我们分析了正常执行期间的内存段(页面)及其引用频率。这里要说的是,如果您要支付分配内存段的费用,最好经常使用(引用)它。如果您不经常引用该内存但仍然需要它,则应将其与其他内容进行整合。

在我们发布 Windows 7 后不久,我们向多个低级别 Windows 组件应用了一种类似方法,这些组件可追溯到 NT 的早期(20 世纪 90 年代早期)。所做工作包括重建代码体系结构和更改数据结构以便将内存的“热”部分(频繁引用)与“冷”部分完全分离。通过紧密整合热项目,我们降低了整体运行时内存开销。

考虑到随时可能发生的变化(低级别操作系统),我们希望尽早完成计划中的工作以便有足够的时间来应对变化。截至目前,这些变化在 Windows 8 上已有所体现,这是近两年来数千名 Microsoft 员工使用该产品完成其日常工作的结果。我们已经看到一致的成果表明普通计算机上的内存使用可降低数十 MB。

“桌面系统”的迟缓初始化

早在六月份,Steven 和 Julie 就首次介绍了 Metro 风格用户界面。我们预计许多使用平板电脑的人会在该环境中花费大量时间,通常是使用 Metro 风格应用程序。在那次的演示过程中,我们还演示了对于 Windows 8,您还可以引入您的现有应用程序,并在非常熟悉的桌面环境中使用它们。

从内存的角度来看,我们利用了这样一个事实,即,将会有一组设备,用户在使用这些设备时几乎所有时间都停留在沉浸式的 Metro 风格用户界面中。在这种情况下,Windows 8 只在必要时初始化桌面环境特有的操作系统组件。这是内存节约的另一个原因,可立即节约大约 23MB。(请注意,任务管理器在桌面系统中运行,因此上面显示的内存数字包括任务管理器开销。)

更精细的内存优先级划分

在确定应用程序和系统组件的内存分配的优先级方面,Windows 8 有更好的方案。这意味着,Windows 可以更明智地判断哪些内存应该保留,哪些内存应该立即移除。

例如,防病毒程序 (AV) 会在其他程序打开文件时对文件进行各种检查。AV 程序分配用来检查病毒签名的内存通常是一次性分配(不太可能会再次需要该特定内存)。在 Windows 7 中,该内存被视为与系统中的其他内存(例如,Microsoft Excel 的运行实例所分配的内存)具有相同优先级。如果内存变得稀缺,Windows 7 最终可能会移除帮助其他运行中应用程序(如 Excel)对用户做出响应的内存,这种情况下,这种做法不是保持系统响应能力的最佳选择。

在 Windows 8 中,任何程序都可以将内存分配为“低优先级”。这是向 Windows 发出的一个重要信号,也就是说,当存在内存压力时,Windows 可以移除该低优先级内存以腾出空间,而且不会影响维持系统响应能力所需的其他内存。

总的来说,我介绍了我们在减少 Windows 8 中的内存使用方面的理念和采取的方法。您已经看到了一些示例结果,我只是浅显地探讨了迄今为止我们在这方面所做的一些工程设计工作。我压根没有讨论的一件事是 Windows 8 应用程序模型,以及为了使新的 Windows 8 应用程序“以更友好的方式使用内存”所做的流程生命周期更改。请在 //build/ 内容和将来的博文中查看这方面的信息,因为它也是颠覆性改造 Windows 过程中非常重要的一部分。

我们已经取得很大进展,但还不够。

–Bill Karagounis

在 Windows 8 中,我们引入了使用 Windows Live ID 登录 PC 的可选功能,这样您就能够在所有 PC 之间以漫游方式共享各种设置。在用户体验中心团队的产品组项目经理 Katie Frigon 撰写的这篇文章中,对这一功能进行了介绍并描述了此项功能的优点。–Steven

每一位 Windows 用户都希望能够以自己特有的方式来设置和使用 PC。但是,在目前的多用户和多 PC 环境中,要实现这一愿望并不容易。我们了解到,共享使用 PC 的做法相当普遍,我们听到许多用户抱怨,在多个帐户之间切换简直太麻烦了。由于管理多个帐户很麻烦,因此用户通常会选择在 PC 上共用一个帐户,这对于每个用户来说,将丧失一些个性化体验(且可能存在隐私泄露的隐患)。我们还了解到,当今使用多台设备的用户越来越多,设置一台新的 PC 很不方便,也会浪费大量时间。在 Windows 8 中,我们希望确保每一位用户都能享受到真正的个性化体验:在联机任务和脱机任务之间无缝切换,更加简便地设置和使用个性化设置,并可以在多台 Windows 8 PC 之间共享个性化设置。为此,我们引入了使用 Windows Live ID(可用于登录多种设备、应用程序和服务)登录 Windows 的可选功能,这样您就能够享受到唯一的个性化 Windows 体验。

8176.Percent_2D00_of_2D00_PCs_2D00_that_2D00_are_2D00_shared_5F00_thumb_5F00_0EAAC915
72% 的台式计算机和 49% 的笔记本电脑共享使用 PC

5417.How_2D00_user_2D00_accounts_2D00_are_2D00_used_2D00_on_2D00_shared_2D00_computers_5F00_thumb_5F00_1FAEF6F8
共享计算机上用户帐户使用情况

5305.PCs_2D00_per_2D00_household_2D00_in_2D00_the_2D00_US_5F00_thumb_5F00_2D1509FE
每个美国家庭拥有的 PC 数量

使用 Windows Live ID 登录 Windows 8 有哪些优点


请下载此视频在您常用的媒体播放器中进行观看:
高质量 MP4 | 低质量 MP4

使用单一 ID 登录具有以下优点:

  • 您可以将最常用的 Windows 设置与您的用户帐户相关联。当您在任何 Windows 8 PC 上登录您的帐户时,可以使用所保存的设置。您的 PC 将按照您所熟悉的方式进行设置!
  • 可以在多台 Windows 8 PC 上轻松地重新访问 Metro 风格的应用程序。您可以跨所有 Windows 8 PC 保存应用程序设置和最新使用状态。
  • 为所使用的各种应用程序和网站保存登录凭据,这样在每次登录时,无需输入凭据即可轻松重新访问这些应用程序和网站。
  • 自动登录使用 Windows Live ID 进行身份验证的应用程序和服务。

当您购买 Windows 8 PC 并首次设置用户帐户时,可以选择创建一个帐户并将其与 Windows Live ID 相关联。可以使用现有的 ID,也可以创建一个新的 ID。如果选择创建新的 ID,可以使用任何电子邮件地址作为新的 ID,然后创建唯一的密码。例如,可以使用 example@live.com 或 someone@example.com。只需标明所要使用的电子邮件地址并将其与 Windows Live ID 服务关联,然后提供唯一的密码即可。当然,您也可以像以前一样继续使用本地 Windows 帐户和域管理的帐户。

因此,虽然许多人会想当然地认为他们将需要注册一个新的电子邮件帐户以获取 Windows Live ID,但实际上并非一定要这样做。事实上,许多在线服务都使用诸如 someone@example.com 之类的“字符串”来表示用户名,尽管该字符串看起来像是电子邮件地址。例如,当您在在线书店中订购图书时,您的用户名可能看起来像是电子邮件地址,尽管您的在线图书经销商并未管理您的电子邮件。使用 someone@example.com 地址可以很方便地标识您的身份,因为当今大多数 Internet 用户都拥有电子邮件地址。因此,您的电子邮件帐户和密码仍然由您选择的电子邮件供应商来管理,我们使用您提供的用户名和密码来帮助您跨 Windows 8 PC 管理您的设置和状态,即使您并未登录 Hotmail 或使用此 ID 的其他 Microsoft 服务。

您可能会像我们一样花费大量时间来个性化 Windows 体验,以彰显您的个性、生活和 PC 使用习惯。我们完全理解,当您购买了新 PC 或使用其他 PC 时(或者只是重新格式化硬盘),看到所有个性化设置都已不复存在,您会感到多么沮丧。我们在 Windows 8 中改变了这一状况,当您使用 Windows Live ID 登录时,您将能够在任何 Windows 8 PC 上获得个性化 Windows 体验。现在,诸如屏幕锁定图片、桌面背景、用户头像、浏览器收藏夹和历史记录、拼写检查词典、资源管理器设置、鼠标设置和辅助功能设置之类的设置已关联到您的 Windows 8 帐户并存储在云中。当这些设置发生更改或更新时,您可以同步这些设置并将其应用到所使用的每一台计算机。

在 Windows 8 中享受真正的个性化体验还包括 Metro 风格的应用程序:应用程序使用习惯、所使用的设置以及离开时的状态。您将可以看到已购买了哪些 Metro 风格的应用程序,以及选择在各台 Windows 8 PC 上安装哪些应用程序。通过使用您的 ID 登录 Windows,可以在所使用的各台 PC 之间同步 Metro 风格的应用程序的设置和状态。例如,假定您正在平板电脑上使用阅读器应用程序浏览新闻。如果您添加了希望持续关注的特定源,则这些源会自动显示在您的其他任何 Windows 8 PC 的相同阅读器应用程序中。我们还将支持开发人员构建可向 Windows 报告自身状态的 Metro 风格的应用程序,这样,当您切换 PC 时,您可以从刚才离开的位置继续操作。在 Windows 8 PC 之间切换时,您可以重新定位到某部图书的同一页、某个游戏的同一级别或刚才观看的电影的同一位置。在 Windows 8 开发人员预览版中,您可以在 Internet Explorer 10 中看到此项功能。

您可能会想,在没有域的情况下,如何漫游非 Metro 风格的应用程序和设置。这一问题无法通过使用 Windows Live ID 来解决,而且我们禁止使用工具尝试通过检查注册表或复制可执行文件等方式来实现漫游。不过,使用新增的“还原/刷新”工具可以轻松创建安装有您喜欢的桌面应用程序的映像,然后可以使用该映像作为刷新点。如果您想漫游桌面应用程序设置,可以继续使用 Active Directory 和 Windows Server 提供的用于漫游配置文件和客户端文件缓存的相关机制。

使用 Windows Live ID 登录的另外一个优点是,可以简化登录多种服务和应用程序的需求。我们通过两种方式来实现简化。首先,当您使用 Windows Live ID 登录 Windows 之后,在登录同样使用该 ID 的任何应用程序或网站时,无需重新输入该 ID。例如,当您使用 Windows Live ID 登录 Windows 之后,您可以启动 Windows Messaging 应用程序与朋友聊天,而无需重新登录。同样地,您可以浏览您的 Hotmail 收件箱页面,而无需重新输入电子邮件地址和密码。您可以随时注销网页并以其他用户身份登录,不过默认情况下,您将会自动登录。但是要澄清的一点是,这些应用程序和网站并不具有访问您的 Windows PC 或个人数据的特殊权限。

其次,Windows 可以存储各种 Metro 风格的应用程序和网站的凭据(如果您选择应用此功能)。随后可以将这些凭据同步到您信任并已通过身份验证的每一台 Windows 8 PC。无需键入您的用户名或密码,只需根据提示确认登录即可。与 Messaging 应用程序相似,当您启动启用了此功能的 Metro 风格的应用程序时,您将自动登录该应用程序,而且该应用程序将从您上次离开时的状态继续执行。

用户控制

使用 Windows Live ID 登录 Windows 有很多优点。不过请注意,每一个 Windows 用户都具有其独特的需求。您的 Windows 8 体验由您自己来控制。在创建 Windows 帐户时,您可以选择要使用的帐户类型。可以选择创建与 Windows Live ID 关联的帐户,也可以像在 Windows 7 中那样继续使用本地帐户。您也可以在以后更改本地帐户,将其与 Windows Live ID 相关联。

如果选择将本地帐户与 Windows Live ID 相关联,我们提供了相关控制选项,可以控制要与所使用的每一台 Windows 8 PC 同步哪些内容。在控制面板中,有一个名为 [Sync PC Settings](同步 PC 设置)的部分,您可以在该部分中启用或禁用设置同步功能。

您可以选择禁用所有同步,也可以按设置类型禁用同步。设置组包括:

  • 个性化设置
  • 主题
  • 轻松访问
  • 语言首选项
  • 应用程序
  • Web 浏览器
  • 其他设置
  • 一些密码

我们推荐的默认行为假定用户希望漫游最常用的设置,以个性化和自定义 PC 使用方式。特别是,我们收到大量用户反馈,指出个性化 PC 显示设置非常重要。在 Windows 8 中,我们引入了诸如更改屏幕锁定图像之类的关键设置。此外,您还可以漫游自己使用和创建的桌面主题,包括颜色、声音和桌面背景(注意:当前,对于背景图像,如果所选图像小于 2MB,则将漫游原始图像。如果图像大于 2MB,我们会对图像进行压缩并剪裁至 1920×1200)。

当工作内容和个人数据交织在一起时,保持对数据的控制也非常重要。在 Windows 8 中,当您将 Windows 帐户与 Windows Live ID 关联时,我们会提前(在同步数据之前)询问您要在加入域的 PC 和使用该 ID 的其他 PC 之间同步哪些数据。这样,您就可以决定是否将 Web 历史记录、收藏夹或凭据等内容同步到工作计算机,或者是否要将上述内容以及同步的其他任何内容仅保留在个人计算机中。

我们还允许 IT 管理员通过组策略来控制用户可与工作 PC 同步的内容。我们为 IT 管理员提供了相关控制选项,用于确定是否允许普通用户将域帐户关联到 Windows Live ID,是否允许管理员帐户启用此项关联功能,以及允许普通用户同步哪些类型的数据。

最后请注意,在加入域的计算机上输入和存储的凭据不会上载到云,也不会同步到您的其他 PC – 这样做可以确保始终将企业凭据保留在由 IT 管理员管理的 PC 上。

隐私和安全

我们理解,在使用连接到云的服务时,隐私和安全是您要考虑的头等大事。在将 Windows 用户帐户与 Windows Live ID 关联时,从隐私和安全的角度来说,有三类数据需要特别注意:

  1. Windows Live ID 用户名和密码
  2. Windows Live ID 用户配置文件
  3. 所选择的要同步的设置和数据

我们采取了周密措施保护您登录 Windows 所使用的 ID 和密码的安全。这些措施从两个方面提供保护。首先,我们要求使用强密码(无法将密码保留为空)。其次,我们将收集您身份的辅助证明。这样我们就可以与您经常使用或所拥有的特定 PC 建立“信任”。同时还能够更安全地实现隐私数据(如密码)同步。收集身份的辅助证明还有助于更加方便和安全地执行帐户恢复。例如,辅助证明包括备用电子邮件地址、手机号码以及设有既定答案的秘密问题(通常只有您自己知道的事情)。

通过使用 Windows Live ID 登录,您还可以更有效地控制密码(包括恢复遗忘的密码)。如果使用本地帐户,当您忘记密码时,您将会陷入困境,可供选择的选项非常有限。您或许能够通过某个线索或恢复密钥来恢复密码,但是如果借助二者均无法恢复,则通常只能重新安装操作系统。(从技术上来说,您可以从 Internet 上下载一些密码破解工具来尝试破解密码,但这些工具可能对规范的强密码无能为力,并且在线下载的许多破解工具实际上都是一些恶意软件!)然而,如果使用 Windows Live ID 登录 PC,并且之后忘记了密码,您可以访问 https://login.live.com 并单击“忘记密码了”来重置密码。这样您就可以安全地重置密码而不会丢失 PC 中的任何信息。通过这种方式重置密码更为安全,因为它利用上文提及的辅助证明来确保确实是您本人要求重置���码。

您可能还会担心,“万一我的 Windows Live ID 被盗会怎么样?”针对这种情况,我们也提供了相应的应对措施。Windows Live ID 包含一些特殊的安全功能,可以检测您的帐户是否被盗,如果发现帐户被盗,则帐户状态将更改为“已泄露”(限制帐户功能),直到您使用之前设置的双因子身份验证功能(辅助证明)重新获得帐户的控制权。重要的是,您仍然可以完全访问您的 PC,因为您可以使用帐户被盗之前设置的密码登录 PC,在线执行我们的“忘记密码了”工作流程之前,您只是无法使用依赖于此 ID 的服务和应用程序。

在 Windows 8 中,我们希望赋予您以下控制权:控制数据的使用方式以及控制要在 Windows 8 PC 之间同步哪些数据。当选择使用 Windows Live ID 登录 Windows 8 PC 时,仅会与 Windows 共享少量数据(您的名字、姓氏和显示名称)。Windows 不会使用您的其他任何配置文件数据。存储在云中的配置文件数据只向您允许其访问该数据的应用程序或网站公开。尽管任何 Metro 风格的应用程序都可以利用 Windows Live ID 进行自己的登录身份验证,但它们必须首先询问您是否要允许其访问配置文件中的特定信息。

如上所述,当您使用 Windows Live ID 登录时,可以与 Windows 8 PC 同步三种类别的数据:1) Windows 设置;2) 应用程序设置和数据;以及 3) 凭据。这些数据存储在云中,以供您登录不同 Windows 8 PC 时使用。我们最大限度地减小了要漫游的数据大小,我们仅根据相关设置来强制实施一些限制(例如,屏幕锁定图像的文件大小)。上述任何数据都不会占用您的 Windows Live 存储配额。这些数据还将与您的其他 Windows Live 数据(例如,在 SkyDrive 上存储的数据)分开存储。

您可能会关心我们如何保护配置文件数据的安全。为了保护用户数据,我们采取了多种措施。首先,在默认情况下,我们不会通过 WWAN 漫游数据。其次,在将用户数据发送到云之前,我们会在客户端中对用户数据进行加密。从 PC 发出的所有数据和设置均使用 SSL/TLS 进行传输。对于极为敏感的信息(例如凭据信息),我们会基于您的密码对信息进行加密,然后,在通过 Internet 传输信息时,我们还会再次对信息进行加密。Microsoft 服务或第三方无法访问存储的数据。最后,首次在第二台 Windows 8 PC 访问敏感信息之前,您必须提供进一步的身份证明以便为该 PC 建立“信任”。进一步的证明可以通过以下方式来完成:为 Windows 提供发送到您的手机的代码,或提供按照相关说明发送到备用电子邮件地址的代码。

通过漫游机制保存到云中的任何数据只能由 Windows 出于漫游之目的进行访问。这一点非常重要。例如,Internet Explorer 历史记录以漫游状态的形式保存,但是无法在任何其他上下文环境中使用或访问这些信息,这与您在其他计算机上手动创建相同的网站历史记录没有任何区别。

很高兴能够获得对 Windows 8 体验进行改进的这一难得机会,我们会在保护您的隐私和安全的前提下,尽最大努力使 Windows 8 体验变得更加个性化、更加易于设置。我们期望您能够对这一功能感到满意,并期待收到您的反馈意见!

Katie Frigon

哎呀!让我们从 BUILD 大会收回心神,来关注我们的下一个里程碑。不得不说,BUILD 大会为我们提供了一个向每个人深入展示 Windows 8 的大好机会,看到大家对该产品均深表认同,我们的大会发言人和 Microsoft 与会者无比感激。我们知道,这毕竟只是开发人员预览版本,其中还存在许多问题。接下来,我们将以 Windows 开发人员预览版 (WDP) 为基础,重点关注大家对发人员预览版的使用体验,发布新的博文来回答所发现的问题。如果您还没有运行该版本,请尽快获取并运行,因为许多后续博文都是以该版本为基础撰写的。

启动过程是用户满意度最低的功能之一。原因是用户认为启动时间太长,或者用户根本就不在意对启动过程所做的所有优化,因为用户根本就不希望计算机存在启动过程。我记得许多年前 Bill Gates 曾经在一次会议上说过(转述):“启动过程就是一行用于执行常数计算的函数调用,但这一过程可能很漫长:fBoot = SystemBoot()”。目前,似乎所有设备(手机、电视、有线机顶盒、甚至包括电视遥控器)都离不开启动过程。在构建 Windows 8 的过程中,我们采用了一些新技术并重新审视了先前的一些假设,在整体上对启动体验进行了重新构建。我们还希望改进启动过程的操作便捷性,以便更好地适应不带键盘的设备的需求。当然,我们还做了大量工作以便继续最大限度地减少重新启动的次数,但本博文仅介绍了启动过程中所涉及的操作。Billie Sue Chafins 创作了这篇博文。她是一位资深的项目经理,具有多年的用户界面设计经验,在此版本中,她帮助我们改善启动体验(她还负责 Metro 风格应用程序的共享功能设计,请点击此处,观看她在 BUILD 大会上的发言)。
–Steven

随着硬件生态系统的不断创新,固件发生了 30 年来最大的一次变革,通过改进软件可以在配备固态驱动器 (SSD) 的计算机上将启动时间缩短至 7 秒钟,我们认为是时候推动 PC 启动用户体验进入二十一世纪的高速时代了。在之前由 Gabe Aul 撰写的博文中,我们讨论了在 Windows 8 中如何借助快速启动模式实现更快的启动时间。在其快速启动视频中,您可能已经注意到,启动过程发生了变化,不仅仅是启动速度更快,而且从开启电源一直到显示“启动”屏幕还实现了无缝衔接。在本博文中,我们将介绍该团队如何彻底颠覆 Windows 启动用户体验,使快速启动变为现实。

想一想当前 PC 的开机体验,当计算机进入启动过程的开机自检 (POST) 阶段时,您极有可能首先会看到一些 circa-1980 文本控制台屏幕逐一闪现。数秒钟后,显示画面从基本输入/输出系统 (BIOS) 切换到 Windows,在进入登录用户界面之前,您会看到一个图形动画。当前,在 Windows 7 中,完成这些启动步骤平均大约需要一分钟的时间。现在请想象一下,在大约 7 秒钟内,上述所有启动步骤将在您的屏幕上一闪而过,在很短的时间内就完成了大量的任务切换!

4861.Windows_2D00_7_2D00_boot_2D00_screens_5F00_thumb_5F00_72649ABA

当我们意识到 Windows 8 的启动速度是如此之快后,很显然,这是彻底扭转用户体验不佳的大好机会,为用户提供美观的、符合消费类电子产品质量要求的无缝体验。

当 Windows 8 推向市场时,触控优先设备(例如平板电脑)正在加速普及。因此,我们需要提供专门针对触控操作设计的启动体验,同时还要保证可使用鼠标和键盘来正常控制启动过程。项目启动之初,我们就意识到用户无法接受以下情况:必须购买物理键盘才能设置计算机,或者当 PC 无法启动时,必须借助物理键盘才能在 Windows 恢复环境 (Windows RE) 中执行恢复操作。

当 Windows 8 推向市场时,在所有新的客户端系统中,整个行业正在向 BIOS 的统一可扩展固件接口 (UEFI) 转换。我们将继续支持以前的 BIOS 接口,但采用 UEFI 接口的计算机将包含更丰富的功能。例如,UEFI 系统可以通过图形输出协议 (GOP) 驱动程序以原始分辨率呈现丰富的图形体验。使用 UEFI 之后,操作系统终于可以通过一种标准方式与启动固件进行通信;这一成就得益于 UEFI 和 TCG(受信任的计算组)在标准制订方面所做大量工作。标准化的接口确保可以安全地启动这些功能,操作系统和固件协同创建了一种安全的切换机制。同时确保从按下电源按钮之时起,即可提供无缝的可视化体验,也就是说,两种不同组件具有相同的使用体验。

启动体验从未进行过彻底的改进。尽管操作系统和硬件以对数速度飞速发展,但 BIOS 菜单在近 30 年内一直保持原有样式。在开发之前几个版本的 Windows 时,我们曾对之前的操作系统环境的许多功能进行过介绍,每个版本具有不同的功能集和限制。例如,由于缺乏完整的图形显示功能,启动管理器显示的多操作系统和高级启动选项菜单(如下所示)看起来就像来自于 MS-DOS 时代:

0245.Advanced_2D00_boot_2D00_options_2D00_in_2D00_the_2D00_Boot_2D00_Manager_5F00_thumb_5F00_161DC255

由于 Windows RE 不支持主题,使用标准控件构建的体验感觉就像来自于 Windows 9x/2000 时代:

6330.System_2D00_Recovery_2D00_Options_2D00_dialog_5F00_thumb_5F00_627E7CD3

启动过程是系统中可见性很高的一个部分,用户平均每天都会看到 1-2 次。这一出现频率已经很高了,不过,本博文并不是在讨论如何消除重新启动。我们意识到,随着始终保持开机状态的平板电脑和设备越来越普及,启动次数将会减少,但是对于必须进行启动的情况,我们希望让启动过程变得更为快速和流畅。PC 启动体验应贴合主流消费群体的需求,同时针对希望像在之前的操作系统环境中那样配置相关设置的大量高级用户,在 Windows 中为其保留相关配置功能。您能想象到,要满足这些目标是一项艰巨的挑战,在许多情况下,需要采取折中的做法。

无缝安装和首次启动 Windows 8

谈及启动体验,首先应想到 Windows 8 安装用户界面。这是我们确信需要提供美妙的触控优先体验的首选位置之一。整个安装过程(包括输入产品密钥、加入无线网络以及设置默认帐户)都可以使用软键盘来操作。

如果您购买了预安装有 Windows 8 的新 PC,在首次启动时,可能会经历“特殊的”安装阶段。在该阶段中,将会在您的系统上安装特定于计算机的信息和驱动程序。过去,您将会看到一系列可视外观与其他安装阶段截然不同的屏幕。现在,从 POST 到启动过程再到安装过程,整个视觉体验将是无缝衔接的。

每次启动均可实现无缝衔接

Windows 8 启动体验将反映出 Windows 的风格;每一次启动过程都快速而流畅,各阶段无缝衔接,是一次美妙的享受。通过利用 UEFI 的功能并与计算机生态系统紧密协作,我们的目标是:开机后显示制造商的徽标,从 POST 到显示 Windows 登录用户界面的整个过程中,始终显示该屏幕。徽标应富有美感并反映您在购买 PC 时所信赖的品牌。在 POST 过程中,固件显示徽标,在切换到 Windows 启动过程时保持徽标屏幕,并在整个操作系统启动过程中保持该屏幕。事实上,我们将两种体验(固件 + 操作系统)有机地衔接在一起,提供统一的单一体验,如下所示:

0825.Samsung_2D00_logo_2D00_screen_5F00_thumb_5F00_557B75E5

高级功能

我们知道,有些用户喜欢通过以下方式来自定义计算机:更改操作系统设置,从物理设备启动,或者在 Windows RE 中执行启动故障排除。您不仅能够在每一次启动计算机时享受无缝体验,甚至在执行一些高级自定义操作时也可以享受到美妙的触控优先体验。

我们详细列出了可用的所有高级功能,设计了一个组合视图来显示在进入系统之前您可能希望使用的各种功能。与以前版本的 Windows 不同,Windows 8 中的高级启动选项访问十分方便,导航也很简单,用户在使用时会感觉非常协调。


请下载此视频在您常用的媒体播放器中进行观看:
高质量 MP4 | 低质量 MP4

您可以在以上视频中观看完整的演示过程,不过我还想提醒大家注意以下情形。

双引导 PC

假设您在 PC 上安装了多个 Windows 副本或多个 Windows 版本。在 Windows 8 中,将为您呈现一个高分辨率、有沉浸感、可触控的用户界面,您只需点击一下(鼠标单击或按 Tab 键导航)即可选择要启动的操作系统。

0638.Dual_2D00_boot_2D00_options_2D00_screen_5F00_thumb_5F00_752A4FAD

您常常需要更改默认操作系统,或者您希望更改在启动默认操作系统之前显示的倒计时窗口。目前,更改这些设置非常麻烦,因为您必须编辑“引导配置数据”(BCD) 存储区。我们认为,在启动双操作系统时,这一功能非常重要,足以提升到核心用户体验的高度。无需记住 bcdedit 命令,也无需更改 msconfig 中的设置(尽管仍然提供了这些选项),您可以在启动用户界面中轻松配置默认操作系统和计时器设置。

8664.Change_2D00_options_2D00_screen_5F00_thumb_5F00_7BDD5930

5047.Choose_2D00_default_2D00_operating_2D00_system_2D00_screen_5F00_thumb_5F00_1B8C32F9

在 Windows RE 中执行故障排除

现在让我们来考虑以下情形:您需要启动 Windows RE 以解决启动问题或将 Windows 还原到以前的还原点。即使对于此类高级功能(您很少会用到这些功能),我们也希望确保用户能够享受到一致的可触控体验。

3060.Advanced_2D00_options_2D00_screen_5F00_thumb_5F00_5436DD06

为了演示我们在设计该体验时的良苦用心,假设您需要在 Windows RE 中启动一个命令提示符窗口(例如,检查某些文件的访问控制列表 (ACL))。我们甚至在 Windows RE 的命令提示符中提供了软键盘以供您在需要时使用(设想一下在没有键盘的情况下执行设备修复任务!)。

7510.Command_2D00_prompt_2D00_with_2D00_onscreen_2D00_keyboard_5F00_thumb_5F00_5AE9E689

引导至设备

我们意识到,许多用户需要引导至设备,例如引导至可启动的 USB 记忆棒。目前,这需要进入 BIOS 引导选项菜单(可通过某个功能键访问,具体取决于硬件/固件供应商)。但是使用 UEFI 固件,操作系统可以回调固件以列举 BIOS 引导选项。这意味着以前只能通过 BIOS 菜单操作的高级引导选项将可以通过 Windows 提供的功能来访问。

3365.Use_2D00_a_2D00_Device_2D00_screen_5F00_thumb_5F00_619CF00C

如上所述,我们详细列出了系统中可用的所有功能,并思考如何将每一项功能融入到整体的 Windows PC 体验中。我们的列表非常详尽,涵盖了系统中的每一项功能,甚至包含了令人生畏的“BSOD”(蓝屏死机)!但是很遗憾,有时故障是由硬件导致的,因此无法完全消除“BSOD”故障。我们在进行了多次设计迭代以确定要显示的信息量之后,采取了一种非常值得关注的折中做法。我们希望这些信息能够满足高级用户的需求(无论您是排除自己计算机的故障,还是排除家庭成员的计算机的故障),同时保证普通消费者不会有如读天书般的感觉。您会注意到,尽管我们做出了大量改进,但我们仍决定将该故障屏幕保留为蓝色!:-)

0245.New_2D00_BSOD_2D00_in_2D00_Windows_2D00_8_5F00_thumb_5F00_684FF98F

当您看到启动用户体验获得了应有的关注时,我们期望您能够像我们一样感到振奋。我们希望大家能够就我们的工作提出建议和意见,我们期待能够继续与大家展开对话。

谢谢

Billie Sue

如何确保 Windows 成为安全而可靠的计算环境这一主题在有关 Windows 8 的讨论中较少涉及。我们一直以来都在提供大量旨在实现这些目标的解决方案,并与此领域内的合作伙伴展开密切合作。我们在继续强化 Windows 8 这些功能的同时,还会确保您始终拥有选择和控制如何保护及管理 PC 的权利。在 Windows 8 中,我们扩展了 Defender 提供的保护功能,以应对各种潜在威胁���我们的可靠性和安全性团队小组项目经理 Jason Garms 撰写了这篇博文,文中向您展示了多个团队的工作成果。–Steven

为了帮助用户更好地应对不断变化的恶意软件环境,我们在 Windows 8 中付出了很多努力,我很荣幸能够为您介绍一些相关情况。在本博文中,我将介绍对于缓解功能的某些改进,这包括帮助您防御可能被恶意软件利用的漏洞,强化 Windows Defender 的功能以向您提供针对各种恶意软件的实时保护,以及借助 URL 和应用程序信誉来保护您免遭社会工程攻击。

恶意攻击的现状

网络犯罪攻击正在持续演进,恶意软件已成为针对所有 Internet 用户的标准武器,无论您使用的是传统设备还是平板电脑和智能手机等移动设备,都难逃厄运。恶意软件对所有操作系统和浏览器均构成威胁,而近年来,针对应用程序的网络犯罪攻击也日益猖獗。

网络犯罪还会利用社会工程来诱骗您执行某些存在风险的操作。利用在线广告系列将您引诱至某个网站,并通过该网站向您的计算机中安装恶意软件,正成为越来越常见的社会工程策略。

构建可供利用的可靠漏洞攻击已经发展成了一种产业,网络罪犯会购买这些漏洞来帮助散播其恶意软件。网络罪犯通过恶意软件获利,因此他们会通过各种手段来确保恶意软件的生命力,例如,制作高质量的恶意软件,更频繁地更新恶意软件(有可能每天更新数次),以及增加恶意软件的规模和复杂度。某些恶意软件的复杂度堪比商用应用程序。

设计成就安全

我们使用安全开发生命周期 (SDL) 借助现有的最佳安全设计、开发和测试做法来构建 Windows。其中的一些亮点包括:

  • 威胁建模和安全设计审核。在设计过程中,我们考虑了网络罪犯可能对功能及情境发动攻击的方式,并将这些分析整合到了我们的设计之中。
  • 编写安全的代码。通过培训和代码质量工具帮助预防 Windows 源代码中出现常见编码问题。
  • 渗透测试。安全工程师会从攻击者的角度来审视构成情境的一整套功能。
  • 安全性代码审核。安全工程师会针对高度敏感的组件额外提供面向安全的代码审核。
  • 安全工具。不断通过最新的查找和开发软件技术对工具进行更新,以便提供优化现有代码的可扩展解决方案。

让 Windows 8 无懈可击

从 Windows XP SP2 开始,我们加入了称为缓解的防御系统,目的是提高开发用于攻击的可靠漏洞的难度。所有后续版本的 Windows 都在不断扩展和改进这些缓解,因为一个缓解就能够防护一整类攻击。Windows 8 包含的缓解增强可进一步降低遭到常见攻击的可能性。其中的一些改进包括:

  • 地址空间布局随机化 (ASLR)。Windows Vista 中首次引入了 ASLR,其工作原理是随机打乱大部分代码和数据在内存中的位置,从而避免这些代码和数据在所有 PC 上位于相同的地址。在 Windows 8 中,我们将 ASLR 的保护范围扩展到了 Windows 的更多组件,并对其进行了一些改进,例如,改进了随机算法,以应对绕过 ASLR 的许多已知技术。
  • Windows 内核。在 Windows 8 中,我们向 Windows 内核中加入了许多缓解,这些缓解以前仅应用于用户模式应用程序中。这将有助于提升对于大多数常见威胁类型的保护。例如,我们现在可防止用户模式进程分配进程内存的低 64K,这将有效阻止一整类针对内核模式 NULL 取消引用漏洞的攻击。我们还向内核池内存分配器加入了完整性检查,以缓解内核池损坏攻击。
  • Windows 堆。应用程序会从 Windows 用户模式堆中获得动态内存分配。Windows 8 对堆进行的主要调整是向其中添加了全新的完整性检查作为保护措施,以帮助防御多种攻击技术。此外,Windows 堆现在会随机打乱分配顺序,因此攻击者无法再依靠预测对象的位置来发动攻击了,这一点是借鉴了 ASLR 的成功经验。我们还向特定类型的堆分配添加了防护页,可有效阻止导致堆溢出的攻击。
  • Internet Explorer。在过去两年中,“Use-after-free”漏洞攻击报告占到了针对 Internet Explorer 的所有漏洞攻击报告的将近 75%。我们在 Windows 8 中对 Internet Explorer 实施了防护,以阻止攻击者生成无效的虚拟功能表,增加发动此类攻击的难度。Internet Explorer 还将充分利用 Windows 8 所提供的 ASLR 改进的优势。

让恶意软件远离您的 PC

对于任何连接到 Internet 的设备来说,具有有效的恶意软件保护都至关重要,而目前市场上销售的几乎所有 Windows PC 都会包含一款传统反恶意软件解决方案,虽然该解决方案通常为限时使用或试用版。

在 Windows 7 通用版本于 2009 年 10 月发布后不久,我们的遥测数据就显示出几乎所有 Windows 7 PC 都已经安装了最新的反恶意软件工具。但是几个月后,这些数据的趋势开始逐步下降,这很可能反映了反恶意软件试用订购过期的情况。一年后,至少 24% 的 Windows 7 PC 没有安装最新的反恶意软件工具。我们的数据还显示出,未获得保护的 PC 倾向于在长期内继续保持无保护的状态。并且即使反恶意软件工具仅仅过期一周,该软件应对新型恶意软件的能力也会显著下降

我们认为所有 Windows 8 用户都应该获得具有高效、业内公认保护水平的传统反恶意软件工具的保护。目前,市场上有许多出色的反恶意软件解决方案可供选择,我们相信这些解决方案会为保护 Windows 8 PC 进行升级,我们也相信大部分 PC 制造商也将继续在 Windows PC 中预先安装这些解决方案。

Windows Defender

如果您未安装其他解决方案,Windows 8 将通过获得显著改进的 Windows Defender 版本为您提供保护。

改进针对所有类型恶意软件的保护。改进的 Windows Defender 将借助来自 Microsoft 恶意软件保护中心的一整套恶意软件签名来保护您免遭各种类型的恶意软件侵害,包括:病毒、蠕虫、自动程序和 Rootkit,这些签名将通过 Windows Update 定期与最新的 Microsoft 反恶意软件引擎一起提供。这组扩展的签名是对之前版本的显著改进,之前版本中的签名仅包含间谍软件、广告软件和可能不需要的软件。

此外,Windows Defender 现在将通过文件系统过滤器向您提供对于恶意软件威胁的实时检测和保护,并将使用 Windows 安全式启动的接口,该功能是 Window 8 的另一个全新保护功能。

如果您的 PC 支持基于 UEFI 的安全式启动(请参阅 UEFI 2.3.1 规格中的定义),Windows 安全式启动将确保所有固件及固件更新的安全,以及指向反恶意软件驱动器的整个 Windows 启动路径免遭篡改。该功能通过仅在启动路径中加载经过适当签名和验证的代码来实现这一目标。这将帮助确保不会在启动或恢复时加载恶意代码,并帮助保护您免遭启动扇区和启动加载器病毒,以及尝试作为驱动器加载的 Bootkit 和 Rootkit 的侵害。

Windows Defender 使用了与安全启动相同的接口,这些接口和 Windows Defender 使用的 API 都将提供给我们的反恶意软件合作伙伴,以便为 Windows 客户提供额外的保护。

  • 改进的用户体验。我们在设计 Windows Defender 时,希望尽可能降低其对大多数日常使用的介入,该功能仅会在需要您执行操作,或出现需要引起注意的重要信息时,才会向您发出通知。Windows Defender 还将使用全新的 Windows 8 维护计划程序来限制中断次数。
  • 改进的性能。传统反恶意软件技术对于系统性能的影响众所周知。运行反恶意软件工具通常会比文件复制和启动等核心情境耗费多一倍的时间。如果您阅读了上周的博客条目,我们在系统性能和 Windows Defender 中投入了大量人力,从而使该功能在保持强大保护能力的同时,相对于 Windows 7 上常见的反恶意软件解决方案,在所有关键情境中的性能得以大幅提升。例如,Windows Defender 在启用全部保护功能时,仅会使启动时间增加 4%,同时会将启动期间的 CPU 时间减少 75%,磁盘 I/O 减少大约 50MB,并将高峰工作集较少大约 100MB。

这些改进同样提高了能源效率,这意味着 Windows Defender 将消耗更少的电量,并延长您的电池寿命。

我们会在 Windows 8 的开发过程中继续与反恶意软件合作伙伴通力协作,因此无论您选择何种反恶意软件解决方案,都将获得最佳的 Windows PC 体验。我们会向他们提供各种资源,包括我们如何构建 Windows Defender 性能改进的技术细节,因此他们将有机会在其产品中实施类似的改进。

Microsoft SmartScreen 现在不仅适用于 Internet Explorer,还适用于 Windows

传统反恶意软件工具将继续在防御和修正攻击中扮演重要的角色。但是,在获得传统恶意软件签名之前,基于信誉的技术将帮助提供针对社会工程引擎攻击的有效保护,尤其是针对伪装成合法软件程序的恶意软件的保护。

Windows 8 将在您启动应用程序及使用 Internet Explorer 进行浏览时,使用基于信誉的技术为您提供保护。

自其发布以来,SmartScreen 过滤器一直使用 URL 信誉来帮助保护 Internet Explorer 客户免遭超过 15 亿种恶意软件攻击和超过 1.5 亿种网络钓鱼攻击的侵害。Internet Explorer 9 中的 SmartScreen 还加入了应用程序信誉这一新功能,可在 URL 信誉和传统反恶意软件工具无法识别攻击时,为您提供多一层的保护,帮助您做出更安全的决策。遥测数据显示,95% 的 Internet Explorer 9 用户在收到 SmartScreen 应用程序信誉警告时,都会选择删除或不运行恶意软件。

我们了解到 Internet Explorer 并不是您从 Internet 下载应用程序的唯一途径,因此 Windows 现在会在初次启动来自 Internet 的应用程序时,使用 SmartScreen 来对其执行应用程序信誉检查。

在 Windows 7 中,当您启动这些已下载应用程序时,会收到以下通知:

3022.Securtiy_2D00_warning_2D00_in_2D00_Windows_2D00_7_5F00_thumb_5F00_5FD70BF9

在 Windows 8 中,SmartScreen 仅会在您运行未建立信誉,因而存在风险的应用程序时向您发出通知:

7563.Security_2D00_warning_2D00_in_2D00_Windows_2D00_8_5F00_thumb_5F00_14776835

已建立信誉应用程序的用户体验简单明了:您只需单击并运行,去除了 Windows 7 中您可能曾看到过的提示。

SmartScreen 会在下载时使用放置在文件上的标记来触发信誉检查。许多主流 Web 浏览器、邮件客户端和 IM 服务已经向下载的文件中添加了这种称为“Web 标记”的标记。

我们希望平均每名用户每年看到少于 2 次 SmartScreen 提示,并且用户仅会在明显的高风险情境中看到该提示。遥测数据显示,通过 Internet Explorer 9 下载的应用程序中有 92% 已经建立了信誉,并且不会显示警告。同一份数据显示,当显示应用程序信誉警告时,运行后感染恶意软件的风险为 25-70%。SmartScreen 给予了您管理控制权,可防止您的非技术友人或孩子忽略这些警告。

我们在 Internet Explorer 中使用此方法后看到了显著的效果,并且我们非常乐于将其引入更多的 Windows 情境。

以下视频向您展示了活动中的 Windows Defender、SmartScreen URL 和应用程序信誉:


请下载此视频在您常用的媒体播放器中进行观看:
高质量 MP4 | 低质量 MP4

总而言之,我们在 Windows 8 采取了多种手段来保护您免遭恶意软件侵害,包括使用 SDL 流程来保证设计的安全性,实施和升级缓解来帮助您保护可能被恶意软件利用的漏洞,改进 Windows Defender 以便为您提供针对各种恶意软件的实时保护,以及使用 URL 和应用程序信誉来帮助保护您免遭社会工程攻击侵害。

谢谢,

–Jason Garms

谈到“基本功能”时,我们希望从启动时间开始,因为与其他功能相比,有关该功能的讨论更为激烈,需要更为慎重地权衡利弊。在设计 Windows 8 时,我们力图减少计算机的启动频率(并且我们一直致力于减少修补运行代码所需的重新启动次数)。同时,我们也在致力于尽可能地提高启动速度。这是一个非常深刻的主题,并且获得了大量读者的关注。Windows 8 在此领域取得了期待已久的重大突破,这在很大程度上要归功于整个生态系统的合作。Windows 项目管理总监 Gabe Aul 撰写了本博文(并将负责撰写一系列有关基本功能的后续博文)。
–Steven

Windows 中很少有功能会像启动功能这样引起如此程度的关注、权衡和意见分歧。出现这种情况也在情理之中,启动时间是衡量整体系统性能的一个重要指标,并且我们都意识到启动体验对于赢得用户的青睐至关重要。数据显示,57% 的台式计算机用户和 45% 的笔记本电脑用户会选择关闭他们的计算机,而不是让计算机进入睡眠模式。总体来看,半数用户会选择关闭其计算机,而不是让计算机进入睡眠模式。

3113.Windows_2D00_7_2D00_Laptop_2D00_Power_2D00_Transitions_5F00_thumb_5F00_6A6266E7
2630.Windows_2D00_7_2D00_Desktop_2D00_Power_2D00_Transitions_5F00_thumb_5F00_43281DB2

本质上,人们倾向于关机是由于他们希望 PC 彻底“关闭”,不再消耗任何电量,以便延长电池使用时间或降低能源消耗。休眠也是一个不错的选择,在这种模式下也不会消耗电量,因此获得了很多人的青睐。但是,这种模式显然并非适合所有人,因为我们听说许多人希望启动计算机后迎来一个“全新的开始”,而不是继续运行上一次会话中的全部事务。在当今的 PC 上,睡眠/恢复是快速开/关转换的最佳选择,但在这种模式下仍会消耗少量电量以便保存 RAM 中的内容,虽然在经过良好优化的系统上只会消耗极少电量,但同样有可能耗尽电池电量。但是回顾一下我们目前使用手机的方式,您会发现我们很少会将其重新启动,并且始终会让手机处于类似睡眠的状态。

因此,我们所面临的挑战就是在不需要某种特殊新硬件支持的情况下,设计出一种可满足当今 PC 所有这些需求的方式。以下是我们的目标:

  • 关机时完全避免电源消耗
  • 启动后进入全新的会话
  • 按下电源开关后很快就可以使用 PC。

在 Windows 7 中,我们对启动过程进行了大量改进,包括设备驱动程序的并行初始化和触发启动服务,但是很显然,想要让启动速度进一步接近于满足所有这些需求,我们必须进行更多创新和简化。

我们的解决方案是一种全新的快速启动模式,该模式是传统冷启动和休眠恢复的混合体。

在详细介绍该模式的工作方式之前,了解一些目前 Windows 7 所采用的关机和启动方式的有关信息可能会对您有所帮助。

关机过程包括以下操作:

  1. 用户从“开始”菜单选择“关机”或按下电源按钮启动关机过程;或者应用程序通过调用 ExitWindowsEx()InitiateShutdown() 等 API 启动关机过程。
  2. Windows 向正在运行的应用程序广播消息,通知这些应用程序保存数据和设置。应用程序也可以请求一小段额外的时间,以便完成正在处理的事务。
  3. Windows 关闭每个已登录用户的用户会话。
  4. Windows 向服务发送消息,通知它们已开始关机,并陆续将这些服务关闭。具有依赖关系的已订购服务将串行关闭,其他服务将并行关闭。如果某项服务未响应,则将被强制关闭。
  5. Windows 向设备广播消息,通知其关闭。
  6. Windows 关闭系统会话(也称为“会话 0”)。
  7. Windows 会将所有待处理的数据传入系统驱动器,确保数据获得完整保存。
  8. Windows 通过 ACPI 接口向系统发送信号以关闭 PC。

启动过程包括以下操作:

  1. 按下电源按钮后,PC 的固件启动开机自检 (POST) 并加载固件设置。检测到有效的系统磁盘后,这一预启动过程结束。
  2. 固件读取主启动记录 (MBR),然后启动 Bootmgr.exe。Bootmgr.exe 查找并启动 Windows 启动分区上的 Windows 加载器 (Winload.exe)。
  3. 系统加载启动 Windows 内核所必需的驱动程序,同时内核开始运行,将系统注册表配置单元和标记为 BOOT_START 的其他驱动程序加载到内存。
  4. 内核会将控制权移交给会话管理器进程 (Smss.exe),该进程将初始化系统会话,加载并启动未标记为 BOOT_START 的设备和驱动程序。
  5. Winlogon.exe 启动,显示用户登录界面,服务控制管理器启动服务,并运行所有组策略脚本。用户登录后,Windows 为该用户创建会话。
  6. Explorer.exe 启动,系统创建桌面窗口管理器 (DWM) 进程,该进程会初始化桌面并进行显示。

如果您希望进一步了解更多相关信息,请访问以下网址:http://msdn.microsoft.com/en-us/windows/hardware/gg463386

您应该注意的关键点是:在传统关机模式中,我们会关闭所有用户会话,并在内核会话中关闭服务和设备,以便为彻底关机做准备。

以下是 Windows 8 的主要差异:与 Windows 7 中一样,我们会关闭用户会话,但我们不再关闭内核会话,而是将其休眠。完全休眠包含大量正在由应用程序使用的内存页,相比之下,会话 0 休眠数据要小得多,这将大大降低写入磁盘所需的时间。如果您对休眠的概念不太熟悉,简单来说,休眠就是将系统状态和内存内容保存到磁盘上的一个文件 (hiberfil.sys) 中,然后在恢复时重新读取该文件,并将内容恢复到内存中。借助此项技术,我们得以将启动时间显著缩短,因为在大多数系统中,读取休眠文件并重新初始化驱动程序的方式将大大加快启动速度(在我们测试过的大部分系统中,速度普遍提高了 30-70%)。

0552.Comparing_2D00_boot_2D00_times_2D00_from_2D00_Windows_2D00_7_2D00_and_2D00_Windows_2D00_8_5F00_thumb_5F00_62D6F77A
来自系统集成测试实验室系统的测试结果样本。
单击可查看本图表的放大版本。

与执行完整系统初始化相比,恢复休眠的系统会话的工作量将大大减少,这是启动速度加快的原因之一。同时,我们添加的多阶段恢复功能可以并行利用多核系统的所有核心,将读取休眠文件和解压内容的工作分割处理,这是启动速度加快的另一个原因。这对于偏好休眠的各位读者也是一个好消息,因为该功能也会加快休眠的恢复速度。

2768.Relative_2D00_time_2D00_needed_2D00_for_2D00_different_2D00_phases_2D00_of_2D00_startup_5F00_thumb_5F00_0ABE24BF
冷启动和快速启动各阶段的展示。
单击可查看本图表的放大版本。

或许我应该简单介绍一下我们处理休眠文件的方式 — 如果您读到这里并立即访问 dir /s /ah hiberfile.sys,您将发现这是磁盘上的一个相当大的文件。休眠文件的默认大小为物理 RAM 的 75%。该文件实质上是用于保存休眠数据,会在系统进入休眠的同时写入。通常,实际使用的空间要小很多,对于快速启动,使用的空间通常为物理 RAM 的大约 10%-15%,但会根据具体的驱动器、服务或其他因素而有所不同。系统处理休眠文件的方式也与处理磁盘上其他文件的方式略有不同,例如,卷快照服务会忽略该文件(略微提升性能)。您可以从提升的命令行提示符运行 powercfg /hibernate off 来禁用休眠并回收此空间。但是请注意,如果您选择这样做,则将彻底禁用休眠(包括一些非常实用的功能,例如,快速启动和混合睡眠),混合睡眠功能允许桌面系统同时进入睡眠和休眠状态,这样如果出现电源中断的情况,您仍可从休眠状态中恢复。您也可以运行 powercfg /hibernate /size 并指定一个介于 0 到 100 之间的值,该值表示休眠文件的预留大小为物理 RAM 的百分之几,但请慎重指定该值!指定的值过小可能会导致休眠失败。通常来说,除非系统的磁盘空间极为有限,否则建议您保留默认值。

关于 Windows 8 的快速启动模式,您还应该注意以下事实:我们并未针对所有驱动器执行完整的“即插即用”枚举,在此模式下,我们仍将初始化驱动器。对于那些偏好冷启动以便“刷新”驱动器和设备的读者,当您得知该特性在此新模式中仍然有效后一定倍感欣慰,虽然该过程与冷启动略有不同。

这一全新的快速启动模式可使几乎所有系统受益,无论其安装的是旋转式硬盘驱动器 (HDD) 还是固态驱动器 (SSD) 都是如此,但对于安装高速 SSD 的新一代系统效果尤为明显。您可以通过以下视频来亲眼见证其效果:


请下载此视频以便在您常用的媒体播放器中观看:
高质量 MP4 | 低质量 MP4

您将在视频中注意到,从 POST 切换到 Windows 的速度有多快。与使用传统 BIOS 的系统相比,使用统一可扩展固件接口 (UEFI) 构建的系统更容易实现非常快速的预启动。这并非因为 UEFI 在本质上更快,而是因为 UEFI 编写者从零开始,其实现相对于构建于陈旧的 BIOS 上的实现更易于优化。好消息是大部分系统和主板制造商开始采用 UEFI,因此新系统将普遍实现此类快速启动。

当然,偶尔您还是需要执行彻底关机,例如,当您打开系统以添加或更换某些硬件时。我们在用户界面中提供了恢复到 Windows 7 关机/冷启动行为的选项,或者由于极少会执行这一操作,您也可以在 shutdown.exe 中使用 /full 新开关。请从命令行提示符运行以下命令:shutdown /s /full / t 0 以调用即时完整关机。同样,通过用户界面选择重新启动也会执行完整关机,然后执行冷启动。

启动模块主要由我们的内核平台小组开发,但在 Windows 8 中也有许多其他团队参与其中,以便对整个操作系统进行更改,以支持这一新模式和我们即将介绍的其他激动人心的启动变化。在内部使用过程中,我们对于 Windows 8 的启动性能感到非常满意,并非常希望您能亲自尝试一下,以便告诉我们您的感受。

本篇博文介绍我们将如何在 Windows“客户端”操作系统上支持虚拟化。虚拟化技术最初是为 Windows Server 发布的,事实证明它大受欢迎并取得成功,因此我们希望将虚拟化引入使用 Windows 的专业人员的一组核心应用场景中。我们重点关注的两个最常见应用场景分别针对跨多个平台、客户端和服务器工作的软件开发人员,以及想要无缝管理虚拟化客户端和服务器的 IT 专业人员。Mathew John 是我们 Hyper-V 团队的一名项目经理,他撰写了这篇博文。要说明的一点是,与所有其他功能一样,我们讨论的是工程方面的工作,而不是最终组包方式,因为那些选择在项目的较晚阶段才会提供。–Steven
备注:我们本没有计划连续发布这么多篇博文,因此我们将恢复为更容易持续下去的速度。 — 如果我们无意中设定了太高的预期,在此表示歉意。现在我们正在为了准备 BUILD 大会而全力以赴!

无论是一名软件开发人员、IT 管理员还是只是一位发烧友,你们许多人都需要运行多个操作系统,通常是在多台不同的计算机上。不是每个人都可以拥有一整套实验室来容纳所有这些计算机,因此可通过虚拟化来节省空间和时间。

在构建 Windows 8 的过程中,我们努力使 Hyper-V(最近两个 Windows Server 版本中包含的计算机虚拟化技术)在客户端操作系统上也能够运行。简单来说,通过 Hyper-V,您可以在同一台计算机上同时运行多个 32 位或 64 位 x86 操作系统。操作系统不直接使用计算机硬件,而是在一个虚拟机 (VM) 内运行

Hyper-V 使开发人员能够轻松地维护多个测试环境,并提供一种简单的机制在这些环境间快速切换,而不会产生额外的硬件成本。例如,我们发布了包含旧版本 Internet Explorer 以支持 Web 开发人员的预配置虚拟机。IT 管理员可以从 Windows Server 和 Windows 客户端中的 Hyper-V 获得虚拟机奇偶校验和通用管理体验方面的额外好处。我们还知道,你们许多人都使用虚拟化来尝试新事物,而不愿意冒险对正在使用的 PC 进行更改。

Hyper-V 介绍

Hyper-V 需要具有二级地址转换 (SLAT) 的 64 位系统。SLAT 是 Intel 和 AMD 生产的最新一代 64 位处理器中提供的功能。您还需要 64 位版本的 Windows 8 以及至少 4GB 的 RAM。Hyper-V 支持在虚拟机中同时创建 32 位和 64 位操作系统。

Hyper-V 的动态内存允许动态分配和取消分配虚拟机所需的内存(由您指定最小值和最大值)并在虚拟机之间共享未使用的内存。您可以在具有 4GB RAM 的计算机运行 3 或 4 个虚拟机,但如果有 5 个或更多虚拟机,则需要更多 RAM。另一方面,您还可以使用 32 个处理器和 512GB RAM 创建大型虚拟机。

关于虚拟机的用户体验,Windows 提供了两个机制来访问虚拟机:虚拟机控制台和远程桌面连接。

虚拟机控制台(也称为 VMConnect)是虚拟机的控制台视图。它提供虚拟机的单个监视器视图,分辨率最高为 1600×1200,颜色为 32 位。通过该控制台,您可以查看虚拟机的启动过程。

为了获得更丰富的体验,您可以使用远程桌面连接 (RDC) 连接到虚拟机。使用 RDC,虚拟机可以利用物理 PC 上的功能。例如,如果您有多个监视器,虚拟机就可以在所有这些监视器上显示其图形。类似地,如果您的 PC 上有一个启用了多点触控的界面,则虚拟机就可以使用该界面为您提供触控体验。虚拟机还可以通过利用物理系统的扬声器和麦克风来提供完整多媒体功能。根操作系统(即,管理虚拟机的主 Windows 操作系统)还可以与虚拟机共享其剪贴板和文件夹。最后,使用 RDC,您还可以将任何 USB 设备直接连接到虚拟机。

关于存储,您可以向虚拟机中可用的 IDE 或 SCSI 控制器添加多个硬盘。可以使用直接传递给虚拟机的虚拟硬盘(.VHD 或 .VHDX 文件)或实际磁盘。VHD 还可以位于远程文件服务器上,这使您能够轻松地维护一组常用的预定义 VHD 并在团队中共享。

Hyper-V 的“实时存储移动”(Live Storage Move) 功能可帮助虚拟机基本上摆脱对基础存储设备的依赖。这样一来,您就可以在不停止虚拟机的情况下,将虚拟机的存储从一个本地驱动器移动到另一个本地驱动器,或者移动到 USB 记忆棒或远程文件共享。我发现此功能对快速部署非常有帮助:当我需要快速创建虚拟机时,我从某个文件共享上维护的虚拟机库中启动一个虚拟机,然后将该虚拟机的存储移动到我的本地驱动器。

Hyper-V 的另一个出色功能是能够在虚拟机运行时拍摄虚拟机快照。快照可保存有关虚拟机的所有内容,使您能够返回到虚拟机使用过程中以前的某个时间点;当您尝试调试某些棘手问题时,快照是一个非常有用的工具。同时,Hyper-V 虚拟机还具有 Windows 的所有易管理性优势。Windows Update 可以修补 Hyper-V 组件,因此您不需要设置其他维护过程。此外,安装 Hyper-V 后,Windows 仍具有所有相同的固在功能。

尽管如此,使用虚拟化也存在一定的限制。依赖特定硬件的功能或应用程序在虚拟机中将无法正常工作。例如,依赖 TPM(受信任的平台模块)的 Windows BitLocker 和 Measured Boot 在虚拟机中可能无法正常运行,需要 GPU 处理(不提供软件回退)的游戏或应用程序也可能无法正常工作。此外,依赖小于 10 毫秒计时器的应用程序(即,对延迟比较敏感的高精度应用程序,如实时音乐混合应用程序等)在虚拟机中运行时也可能出现问题。根操作系统也运行在 Hyper-V 虚拟化层之上,但特殊之处在于它可以直接访问所有硬件。这就是具有特殊硬件要求的应用程序能够在根操作系统中不受妨碍地继续工作,而对延迟比较敏感的高精度应用程序在根操作系统中运行时仍出现问题的原因所在。

提醒一下,您仍需要为虚拟机中使用的任何操作系统获得许可。

下面我们来梳理一下 Hyper-V 在 Windows 8 中的工作方式。


下载此视频以便在您常用的媒体播放器中观看:
高质量 MP4 | 低质量 MP4

通过无线 NIC 支持虚拟机通信

就像您在演示中看到的那样,创建外部网络交换机非常简单,只需从下拉列表中选择物理网络适配器 (NIC) 然后单击“确定”即可。这在 Windows Server Hyper-V 中一切正常,但为了在 Windows 8 中获得类似的结果,我们需要让它使用无线 NIC 工作,这是一个新的挑战。

问题

Hyper-V 中的虚拟交换机是“第 2 层交换机”,这意味着它使用唯一标识每个(物理和虚拟)网络适配器卡的 MAC 地址进行交换(即,确定特定以太网数据包采用的路线)。源和目标计算机的 MAC 地址在每个以太网数据包中发送,第 2 层交换机使用该信息确定它应将传入数据包发送到何处。外部虚拟交换机通过物理 NIC 连接到外部环境。来自虚拟机并发往外部环境中的某台计算机的以太网数据包通过此物理 NIC 发送出去。这意味着,该物理 NIC 必须能够传送连接到此虚拟交换机的所有虚拟机发来的流量,因此这意味着通过该物理 NIC 传送的数据包将包含多个 MAC 地址(每个虚拟机的虚拟 NIC 分别有一个)。这在有线物理 NIC 上受支持(通过将 NIC 置于混杂模式),但在无线 NIC 上不受支持,因为 WiFi NIC 建立的无线通道及其接入点只允许具有 WiFi NIC 的 MAC 地址的以太网数据包,而不允许任何其他内容。换句话说,如果我们继续使用当前虚拟交换机体系结构,Hyper-V 将无法对外部交换机使用 WiFi NIC。

7127.Pict1_2D00_2_5F00_thumb_5F00_1117A86B图 1:虚拟机和外部计算机之间使用有线连接进行联网

解决方案

为了避开这一限制,我们使用了 Microsoft 网桥解决方案,该解决方案实现了 ARP 代理(对于 IPv4)和邻居发现代理(对于 IPv6),针对传出数据包使用 WiFi 适配器的 MAC 地址取代虚拟 NIC 的 MAC 地址。网桥会维护虚拟 NIC 的 IP 地址及其 MAC 地址之间的内部映射,以确保将来自外部的数据包发送到适当的虚拟 NIC。

Hyper-V 在创建虚拟交换机的过程中集成网桥,因此在您使用 WiFi 适配器创建外部虚拟交换机时,Hyper-V 将:

  1. 创建连接到 WiFi 适配器的单个适配器网桥
  2. 创建外部虚拟交换机
  3. 强迫外部虚拟交换机使用网桥,而不是直接使用 WiFi 适配器

在该模型中,以太网交换仍在虚拟交换机中进行,而 MAC 转换在网桥中进行。对于创建外部网络的最终用户而言,无论是选择有线 NIC 还是无线 NIC,工作流程都是相同的。

6153.Pict2_2D00_2_5F00_thumb_5F00_02D92F7B
图 2:虚拟机和外部计算机之间使用 WiFi 连接进行联网

总之,通过将 Windows Server 中的 Hyper-V 引入 Windows 客户端,我们能够提供可靠的虚拟化技术,从而满足大多数数据中心的可伸缩性、安全性、可靠性和性能要求。使用 Hyper-V,开发人员和 IT 专业人员现在可以跨多台计算机构建更高效、更经济划算的使用和测试环境。