Windows XP | Windows Vista | Windows 7 | Windows 8 | Windows 10

HOWTO: 解决因 0x80004005 引发的无法还原虚拟机状态的故障

        Windows 10 May 2019 Update(1903)率先在 MSDN 订阅发布了,gOxiA 之前走 Preview Release 通道就地升级到了 1903,但是发现 Hyper-V 在启动虚拟机时发生了问题,提示“无法还原虚拟机状态:未指定的错误 (0x80004005)”。

hyper-v_0x80004005

        发生此故障的极大概率是在操作系统跨功能版本升级前,或导入虚拟机前,虚拟机处于“保存”状态所致。要解决这个故障最简单的办法是在 Hyper-V 管理器中选择该虚拟机,鼠标右键单击,并在弹出的菜单中选择“删除已保存状态..."即可。

del_Saved_state

HOWTO: 手动删除 Windows.old 目录

[ 2019/04/11 11:40 | by gOxiA ]

HOWTO: 手动删除 Windows.old 目录

        当我们通过 Windows Update 或 Windows Setup 执行新版本的就地升级后,在系统卷会留下一个 Windows.old 目录,该目录为回滚到升级前的操作系统提供了备份,如果你决定保留当前的升级,那么可以使用 Windows 存储设置中提供的“配置存储感知或立即运行”设置,使用“立即释放空间”选项来清理删除 Windows.old 这个备份。

        但有时我们可能会遇到一个情况,就是清理完毕后发现系统卷下(C:\)仍然存在 Windows.old 这个目录,这是因为清理工具无法完全删除掉其中的所有数据导致的。这个问题 gOxiA 早先曾有遇到过,在 Windows 10 先前的版本时,执行就地升级后发现微软键鼠驱动没有被成功迁移,导致被关联在 Windows.old 的对应目录中,由于是加载状态,所以只能手动先卸载驱动,然后引导至 PE 状态,在脱机环境下手动删除 Windows.old。

        而本次遇到的情况与上述类似,不过是 Temp 目录中有文件无法被删除,如下图所示:

clean_previously_1

        在 Windows 10 TAP 其他成员的帮助下,这次 gOxiA 没有引导至 PE 执行手动删除,而是直接在联机状态下操作成功。其方法就是先获得 Windows.old  目录的所有权,然后再重新分配目录权限,为此将执行以下命令行:

1. takeown /f c:\windows.old /r

2. icacls c:\windows.old /grant computer\name:(OI)(CI)(IO)(F)

3. rd /s /q c:\windows.old

takeown_icacls

        上图是执行的过程可供参考,期间有遇到错误,可暂时忽略尝试执行第三步的删除,如果最后确实失败,则可以再选择进入 PE 执行手动删除。

Microsoft_Edge_Logo

Edge_Banner

Microsoft Edge (Chromium) 价值体验

        Chromium 内核的 Microsoft Edge 发布之后,gOxiA 就进行了较为全面的体验测试,如果你还未下载,可以参考之前的日志《微软发布基于 Chromium 内核的 Microsoft Edge 测试版》。

        Microsoft Edge 目前的使用感觉非常之好,基本满足日常使用的需求,但是如果你要同步 Edge 数据可能还需要等待一段时间,诸如此类的一些功能特性问题也确实都存在,但官方表示都在开发进度中,即将到来!

        从 Microsoft Edge Insider 网站下载到的安装包目前只有 EXE 格式,且未提供安装参数,如果执行 “/?” 会提示 0x80040c01 错误。

Edge_SetupOptions_0x80040c01

        此外,在安装过程中还需要访问微软网站下载安装数据,所以企业 IT 人员可能暂时无法大范围的对其进行测试和评估。

Snipaste_2019-04-09_08-08-26

        Microsoft Edge 在首次运行时会弹出向导,如果当前系统安装有 Chrome,默认会导入它的数据(Start with your data),如果你希望开始全新的数据体验,则可选择“Start from scratch”。

Snipaste_2019-04-09_08-09-07

        随后向导会提供三种全新的选项卡模式供用户选择,Inspirational 将提供带有美丽背景,且提供搜索框和常用网站图标的布局模式;Informational 则在前述的基础上增加瀑布流布局的各类资讯;Focused 与 Inspiration 的区别则是去除了背景图片。

Snipaste_2019-04-09_08-09-29

        Microsoft Edge 整体界面与 Chrome 并未太大区别,不论你之前常用 Chrome 还是 IE 以及其他浏览器都将非常容易上手 Microsoft Edge,对于界面部分 gOxiA 不做特别介绍,但首先一定要登录账户,Microsoft Edge 使用 Microsoft Account 作为同步账户(情理之中),即独立的数据同步系统,现在 gOxiA 终于敢将 MSID 信息保存在浏览器中。(PS:出于整体安全考虑,在使用 Chrome 时从未将 MSID 的密码存储在其数据同步系统中。)

AddProfile

        在上图中我们能够看到目前的 Microsoft Edge 版本已经提供了众多常用的设置选项,不过可惜!虽然在 Languages 中可以添加中文,但仍无法将程序界面切换为中文。

        Microsoft Edge 支持应用扩展,微软为其提供了独立的扩展应用商店,我们可以从中安装扩展以增强其功能。由于使用了 Chromium 内核,这意味着我们还能够使用 Google Chrome 的应用扩展,为此我们只需启用 “Allow extensions from other stores” 选项,然后访问 Google Chrome extensions StoreChrome Web Store)即可,具体请参考下图。

Extensions

        昨天的文章 gOxiA 提过 Microsoft Edge 将更加安全,除了目前集成的 Defender SmartScreen 功能,还增强了安全提示特性,假如你当前是管理员权限,且关闭了 UAC,则每次启动 Microsoft Edge 时都将看到一则安全提示。

Snipaste_2019-04-09_08-13-19

        微软 Edge 产品组表示更多的企业管理特性在未来都会相继提供,所以正如 gOxiA 所讲的,如果你所在的企业仍在纠结内部网站基于什么浏览器来进行开发,那么现在已经有结果了……

        Microsoft Edge 对 PWA 提供了更人性化的支持,我们可以随时将喜欢的 Web 转换为桌面应用,gOxiA 就喜欢将一些支持 Mobile Mode 的网站转换为 PWA,固定到 Windows 的开始界面或任务栏中使用。(PS:目前 Edge 还不支持强制一键切换到 Mobile Mode,否则体验可就更好了,但 gOxiA 已经向产品组提交了建议。)

PWA

        整体评价,Microsoft Edge 非常不错,即使是 Canary 版本也能满足 gOxiA 的期望!从目前掌握的资讯和测试结果,Microsoft Edge 未来将对用户和企业具有极大的使用价值,我们拭目以待!

Edge_Banner

微软发布基于 Chromium 内核的 Microsoft Edge 测试版

        gOxiA 早先加入了 Microsoft Edge TAP,满怀激动之情,今天终于迎来了 Microsoft Edge 测试版。只要你有兴趣即可访问 Microsoft Edge Insider 网站即可下载安装包,并提供反馈。

        目前 Microsoft Edge Insider 提供三个服务通道:Beta,Dev,CAN


BetaChannelBeta:每6周更新一次,适用于哪些需要稳定预览的用户,该版本即将推出。

DevChannelDev:每周更新,即过去一周改进的版本,通常比每日更新通道更稳定。

CanaryChannelCan:每日更新,如果希望获得 Edge 的最新进展,那么选择 Canary 最为合适。


Microsoft Edge 价值体现

hero.5bd0ab96

  • Microsoft Edge 基于 Chromium 内核,如果你重视开源价值,那么不要错过。
  • Microsoft Edge 使用独立的账户同步系统,使用 Microsoft Account 登录,如果你跟 gOxiA 一样信赖微软并重视数据安全,Microsoft Edge 真是最佳的选择。
  • Microsoft Edge 提供多版本且跨平台的支持,除了 Windows 10,它仍将提供对 Windows 8/8.1 以及 Windows 7 的支持,并且它还支持 MacOS,iOS 以及 Android 系统,对于企业用户终于不必再纠结基于何种浏览器来开发内部业务网站。
  • Microsoft Edge 提供独立的扩展应用平台,但为了提供更好的用户体验,用户可自行开启设置,安装 Google Chrome 应用扩展。
  • Microsoft Edge 安全性更高,支持 Windows Defender SmartScreen,相信未来会提供更多适用于企业的安全和管理特性。

        gOxiA 随后会做一个较详细的使用体验分享,敬请关注!

Windows 10 支持自动卸载有问题的更新补丁

        微软在3月12日发布了一篇知识库文章 - KB4492307,指出当安装更新后,由于新软件不兼容或出现问题,这些更新可能会失败。用户会收到“我们删除了一些最近安装的更新,以便从启动失败中恢复您的设备”这类的通知。当发生这一情景时,便是 Windows 检测到更新引发了问题,会自动尝试卸载最近安装的更新来解决故障问题。

        在卸载更新后,Windows 还可以在接下来的30天内自动阻止安装这些有问题的更新,而这之后才会再次尝试安装更新。

image

        在实际使用中,应该是在安装更新重启后,如果发生启动失败的情况,才会自动触发这一机制。如果真的在启动后发生应用程序运行失败等常见问题,恐怕不会触发自动卸载最近更新的动作。如果有实际体验过的朋友,不妨反馈至 gOxiA 这边分享给大家。

为什么我的 Windows 10 系统会有很多 SVCHOST 进程

        有不少网友反应自己 Windows 10 的系统中会运行很多 svchost.exe 进程,怀疑自己的系统有问题?!其实相对于现在来讲,这是一个正常的现象。

1

         因为微软自 Windows 10 1703 开始重新设计了 Windows 服务的运行机制。对于内存超过 3.5GB 的 Windows 10 系统,其运行的服务将以独立运行的方式通过 Svchost.exe 进程运行。如果你的内存少于 3.5GB,那么这些服务将会自动分配到共享的 Svchost.exe 进程中运行,这也是 1703 版本以前 Windows 服务默认的运行方式。

        分离 Svchost 运行服务所带来的好处是显而易见的:

  • 通过将关键网络服务与主机中的其他非网络服务的隔离,并在网络组件崩溃时添加无缝恢复网络连接的能力,提高了可靠性。
  • 通过消除与隔离共享主机中的行为不当服务相关的故障排除开销,降低了支持成本。
  • 通过提供额外的服务间隔离来提高安全性。
  • 通过允许每项服务设置和权限来提高扩展性。
  • 通过按服务CPU,I/O和内存管理改进资源管理,并增加清晰的诊断数据(报告每个服务的CPU,I/O和网络使用情况。)

        在过去,Windows 将服务与匹配的安全性要求相结合来确定共享的服务主机组。

  • 本地服务
  • 本地服务无网络
  • 本地服务网络受限制
  • 本地系统
  • 本地系统网络受限制
  • 网络服务

        下图是分离和共享服务主机(Svchost.exe)进程的运行对比。

23

        虽然分离机制已经在 1703 及之后版本的 Windows 10 上应用,但是某些服务仍将继续通过分组方式共享服务主机(Svchost.exe)进程。例如,Windows 防火墙(mpssvc - Windows Defender Firewall)和基本筛选引擎(BFE - Base Filtering Engine),远程过程调用(RpcSs - Remote Procedure Call)和 RPC 终结点映射器(RpcEptMapper - RPC Endpoint Mapper)。

        如果需要识别这些分离和继续分组的服务,除了可以通过任务管理器的进程选项卡来查看 Service Host(服务主机)信息意外,还可以通过详细信息选项卡查阅 svchost.exe 的命令行。

4

        此外微软也提供了通过注册表项检查的办法,打开注册表编辑器定位到“HKLM\SYSTEM\CurrentControlSet\Services”下,查看每个服务下“SvcHostSplitDisable”的值即可,当值为“1”时则表示服务禁止拆分。

troubleshooting

排查 Windows 必须关闭所有会话框才能关闭 MMC 的故障问题

        在 Windows 系统的日常操作中,我们经常会遇到这样一种故障问题,当要关闭基于 Microsoft 管理控制台(MMC)的程序时,会提示我们必须先关闭所有会话框,但实际上我们已经关闭了 MMC 下对应设置的属性对话框,当反复切换几次后,才能正常关闭 MMC。

hyper-v_mmc_error

        这种问题在 Hyper-V 管理器、服务管理器中尤为突出。那么造成这种问题出现的原因是什么呢?!使用何种工具能协助我们排查这类故障?!

        我们可以使用微软官方工具 Spy++ 来排查这类问题,Spy++隶属于 Visual Studio 的组件,它支持绿色方式运行,利用 Spy++ 可执行下列任务:

  • 显示系统对象之间关系的图形树,这些对象包括:进程、线程和窗口。
  • 搜索指定窗口、线程、进程或消息的属性。
  • 直接从视图中选择窗口、线程、进程或消息。
  • 使用查找程序工具,通过鼠标指针定位选择窗口。
  • 使用复杂消息日志选择参数设置消息选项。

        对于本案例要使用 Spy++ 排查原因,需要在故障重现时启动 Spy++,然后切换到线程视图,再点击工具栏上的“Find Window”图标,通过拖拽标靶图标到要监视的 Windows 对话框上来定位窗口。

FindWindow

        之后在弹出的 Property Inspector 对话框中单击 Synchronize 按钮,即可在 Spy++ 的线程列表视图中,同步定位到这个窗口。

PropertyInspector

        接下来便可审查这个进程中的子线程,看看是否存在可疑项。本例中发现的可疑线程是必应输入法,当尝试切换输入法后,故障消失,可正常关闭 MMC。

Trouble

        而对于大多数安装了第三方输入法,尤其是使用搜狗输入法的朋友,相信这类问题更为常见,所以可切换关闭搜狗输入法,该问题便会消失。此外,如果你尝试使用 Spy++ 进行排错,需要注意它区分 32 和 64 位版本。有关 Spy++ 的详细信息可参考微软官方资料。

https://docs.microsoft.com/en-us/visualstudio/debugger/spy-increment-help?view=vs-2017

在 Azure 中创建 Upgrade Readiness 以管理 Windows 10 升级

        Windows 7 EOS 的日子所剩无几,更多的企业开始着手将更多的设备升级到 Windows 10,但是 IT 人员心里都非常清楚升级到新操作系统是一项非常具有挑战性的工作,已交付的众多应用程序和驱动是否兼容新的 Windows 10,是否具有潜在的兼容性问题,它们成为 IT 不能不面对的问题。

        有不少同行朋友向 gOxiA 咨询微软是否提供有一种工具,可以帮助评估企业 IT 化境下的 Windows 设备,是否具体升级到 Windows 10 的能力,并且只需投入很少的精力和成本,最好基于云来实现?!

        Windows 10 的 Upgrade Readiness 工具便可满足这些用户的需求,其利用 Windows 诊断数据功能,收集系统、应用程序和驱动数据以供分析,以便帮助 IT 人员确定可能阻止升级的兼容性问题。

        Upgrade Readiness 提供了一种可视化的工作流程,以及丰富的计算机和应用程序库,为用户提供有关应用程序和驱动兼容性相关问题的指导和见解,以及建议的修复。并允许将收集的数据导出到常用的软件部署工具中,如SCCM。

        通过下图我们来了解一下 Upgrade Readinesss 在典型场景中的工作方式。

升级准备架构

        在用户计算机上启用 Windows 诊断数据后,用户计算机通过微软数据管理服务将计算机、应用程序和驱动诊断数据发送到 Azure,在 Upgrade Readiness 就绪后,其会将分析诊断数据推送到 OMS 工作区,然后我们便可以使用 Upgrade Readiness solution 来规划和管理 Windows 10 升级。

        接下来 gOxiA 将演示如何在 Azure 中创建 Upgrade Readiness,首先登录到 Azue ortal 创建资源,通过搜索框找到“Upgrade Readiness”,并创建该资源。

0

        随后跟随向导创建OMS 工作区,如下图所示。

1

2

        等待片刻待 Upgrade Readiness 创建完毕后,便可进入 Upgrade Readiness solution 面板,在 Upgrade Readiness Settings 中我们能够获取到“商用 ID 键”,复制它到后面的 Upgrade Readiness 部署脚本中,即可在客户端计算机上执行以收集相关数据。此外,我们还可以根据需要选择 Windows 10 的版本,如当前最新的为 1809,待客户端上执行脚本后,便可以执行“生成报告”。

4

        Upgrade Readiness 部署脚本可从微软下载中心获取到,其下载地址是:

https://go.microsoft.com/fwlink/?LinkID=822966&clcid=0x409

        下载到 Upgrade Readiness 部署脚本后,解压缩对于较小规模的环境,可以选择使用 Pilot 版本的脚本,并需要编辑 RunConfig.bat 将前面提到的商业ID 填写到“set commerciallDValue”中。

5

        最后在一台准备升级到 Windows 10 的 Windows 7 设备上执行 Pilot 版本的脚本,如果运行成功,则回到 Azure Portal 的 Upgrade Readiness Settings 页面下,点击生成报告。(PS:通常需要等待一段时间报表才会生成数据。)

3

        如下图所示便是 Upgrade Readiness 生成的分析报表,我们可以基于它管理我们的 Windows 10 升级过程。

6

troubleshooting

分享一例 IE 浏览器插件故障排错过程

        前段时间 gOxiA 做了一例 IE 浏览器插件的故障排错,感觉挺有收获!特写出来与大家分享,希望能够帮助大家扩宽排错思路。

        故障现象是这样,一位用户的 Windows 7 x86 操作系统,安装的 Office 2007,使用 IE11 浏览器访问一个官方电子投标网站,在编辑电子标书时提示“文件存取错误”的故障,见下图,导致无法正常编写标书。

1

        其实这一类插件问题在国内还是非常突出的,太多陈旧的插件仍在被使用,迫使用户不得不使用过时的系统和应用程序。所以 gOxiA 的第一反应就是查找该插件的需求说明。

        经确认需要 Windows 7 x86 系统,这点满足;Office 支持 2007/2010,但要求是非删减过的原版,且系统上不得安装过 WPS,而该用户的机器上安装的 Office 2007 还果真是一套精简版(PS:随机的原版 Win10 和 Office 365 因为要满足国内众网站的需求,被买电脑的给改装成了盗版精简版!);浏览器方面支持 IE11,建议 IE8!(典型的现状问题)

        OK,为了满足插件需求,卸载并清理了 Office 2007,并全新安装了 Office 2010;也将 IE11 降级到了 IE8,但经过测试发现仍旧报之前的错误。怀疑是网站问题,也打电话给对方的运维人员,被告知网站正常,其他人使用正常,还是找自身问题!

        为了排除是系统问题,创建了一台虚拟机,干干净净的环境,开始测试。在不安装插件的情况下访问,会提示要求下载安装这个文档控件,且需要按照说明修改可信任站点的安全配置,并将网站添加到信任中。

2

        作为10多年的“老司机”这些再简单不过的操作肯定不会有什么失误,但故障依旧!再次打电话求助网站运维人员得到的答案仍旧是网站正常!无奈,只能走高级排错的途径了,看看到底是什么原因。

        首先捕获了操作轨迹,既然是文件存取错误,那么先搜索文档扩展名,发现果然有线索。浏览器会下载一个临时的DOC文档,并传递给Word打开。从下图找到临时文件所在位置,手动去打开看看结果!

3

        尝试打开这个 Word 文件时提示“此文档中的某个表格已损坏”。看来问题已经与这个损坏的 Word 文档有关。

4

        强行打开后可以确认文档内容确实有损坏,难道是 IE 下载过程发生了什么问题?!

5

        随后对 IE 访问过程进行了抓包,分析结论是 IE 成功获取到了该 Word 文档,并未发生意外错误。

6

        既然 IE 获取文件没有问题,传递给 Word 的过程也未有异常,说明这个插件的工作运行是正常的,唯独是这个 Word 文件自身损坏。为了能证明插件安装正常,又重新分析了操作轨迹,发现浏览器在调用 OCX 控件时确实是正常的!

7

        至此,心里已经有谱!再次联系网站运维人员,告知分析的过程和结果,但人家硬是不承认文件有问题。最后也算不负有心人,在这个投标网站发现有些链接里也有提供这个插件使用的场景,进行了测试发现能够正常在 IE 中调用控件,在线打开并编辑 Word 文档,赶紧用手机录制了操作过程,发给对方网站运维人员,但是!!!人家还是不承认,用户最后也没办法托人买了新电脑直接去招标办公室让对方运维人员调试。后来听说招标办公室那边找后台的人重新上传了文档,问题解决!而这前后耽误了2天的时间,还好赶在开标前完成了所有的投标工作。

WindowsSandbox

微软为 Windows 10 引入 Windows Sandbox 功能

        自 Windows 10 Insider Preview 的 18305 版本开始,微软为 Windows 10 引入了 Windows Sandbox 功能。Windows Sandbox 即 Windows 沙盒,可为用户提供一个隔离的,临时的桌面环境,这样用户便可以在其中运行不受信任的软件,或执行“危险”的操作,而不必担心会对当前系统造成损害。它与之前发布的 “Windows Defender Application Guard” 异曲同工,在 Windows Sandbox 中安装的任何软件以及产生的数据都会在关闭后,永久被删除掉。

        Windows Sandbox 目前仅支持 Windows 10 专业和企业版,虽然也是一种虚拟化技术,但用户无需事先安装配置 Hyper-V,以及下载准备 VHD,其所需的资源都内置于系统中,只需要在“应用和功能”中添加 Windows Sandbox 即可。由于涉及虚拟化需求,所以系统硬件必须满足 AMD64 架构,并且在 BIOS 中启用了虚拟化功能。虽然 Windows Sandbox 只需要系统至少 4GB内存、1GB可用磁盘空间,以及至少2个 CPU 内核,但为了获得最佳的体验,建议 8GB内存以及4个内核的CPU,此外如果硬盘是 SSD 最好不过!

        启用 Windows Sandbox 非常简单,只需要在 Windows Features 中勾选 Windows Sandbox 即可,在完成计算机重启后,便可在开始菜单中找到 Windows Sandbox 程序,点击启动它稍等片刻即可开始使用。

WindowsFeatures

start-windowssandbox

        如果你需要将本机可疑的文件在 Windows Sandbox 进行操作或执行,可直接讲文件复制粘贴到 Windows Sandbox 窗口。

        在微软的官方介绍中可以了解到 Windows Sandbox 是一个轻量级的虚拟机,它基于 Windows 容器技术,所以可以将它看作是当前计算机 Windows 10 的副本,并且打造出一种“动态基本映像”,即可更改的干净副本的操作系统映像部分,而无法更改的部分则通过链接技术映射到本地系统上。

DynamicImage

        由于目前 Windows Sandbox 还处于测试阶段,并未完善,如果在使用中发现什么问题可通过 Windows 反馈中心 报告问题。更多关于 Windows Sandbox 的技术细节,推荐阅读微软官方介绍。

https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/Windows-Sandbox/ba-p/301849

PS:如果 Windows Sandbox 能够支持 Windows 10 家庭版,那么受益范围将会更大!!!

分页: 1/37 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]