<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan Blog]]></title> 
<link>https://maytide.net/index.php</link> 
<description><![CDATA[gOxiA,苏繁,sufan,Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan Blog]]></copyright>
<item>
<link>https://maytide.net/read.php/1797.htm</link>
<title><![CDATA[HOWTO: 解决资源管理器有两个 OneDrive]]></title> 
<author>gOxiA &lt;sufan_cn@msn.com&gt;</author>
<category><![CDATA[Windows Client]]></category>
<pubDate>Sat, 10 Sep 2016 12:38:39 +0000</pubDate> 
<guid>https://maytide.net/read.php/1797.htm</guid> 
<description>
<![CDATA[ 
	<p><a href="http://goxia.maytide.net/ftpupfiles/897c5f6f7a19_E4B6/windows-10-508x192-logo_3.png"><font face="微软雅黑"><img title="windows-10-508x192-logo" border="0" alt="windows-10-508x192-logo" src="http://goxia.maytide.net/ftpupfiles/897c5f6f7a19_E4B6/windows-10-508x192-logo_thumb_3.png" width="508" height="192"></font></a></p> <p><font color="#fd3f0d" size="4" face="微软雅黑"><strong>HOWTO: 解决资源管理有两个 OneDrive</strong></font></p> <p><font color="#000000"><font face="微软雅黑">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上周 </font><a href="http://goxia.maytide.net/" target="_blank"><font face="微软雅黑">gOxiA</font></a><font face="微软雅黑"> 一个不小心把两个数据盘给误格了，数据损失近 2TB，整整耗费了1周的时间才将数据恢复，由于是主力机所以系统也只能重新安装，Windows 10 1607版，没想到刚安装完就发现一个问题，OneDrive 初始化设置完毕后在资源管理器中竟然看到两个图标目录，位于桌面下，十分诡异！既然是同名同路径，而且图标显示 OneDrive 的状态和右键功能都正常，说明这两个图标应该是通过注册表加载的标识符。</font></font></p> <p><a href="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/sp160908_160323_3.png"><font face="微软雅黑"><img title="sp160908_160323" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="sp160908_160323" src="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/sp160908_160323_thumb_3.png" width="634" height="358"></font></a></p> <p><font face="微软雅黑">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 标识符在系统中是具有唯一性的，否则也不可能出现两个同名图标，搜索 MSDN 了解到在注册表中 <a href="https://msdn.microsoft.com/zh-cn/library/windows/desktop/ms691424(v=vs.85).aspx" target="_blank">CLSID</a> 分支存储着系统中所有 COM 类对象的数据，路径位于 “<strong><em><font style="background-color: #ffff00">HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\&#123;CLSID&#125;</font></em></strong>”，启动注册表编辑器定位到这个路径开始搜索关键词 OneDrive，看看会有什么收获！如下截图搜索到了很多 OneDrive 相关的标识符，其中有些 CLSID 下包含 ShellFolder 看起来挺有关联。</font></p> <p><a href="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-10-2_3.png"><img title="2016-09-10 (2)" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="2016-09-10 (2)" src="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-10-2_thumb_3.png" width="634" height="336"></a></p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为了继续验证，启动了 Sysinternals 套件的 Process Monitor 工具对资源管理进行监测，因为重点怀疑的是注册表，并且问题在资源管理器中可以重现，所以进行了过滤，果然收集到了有价值的数据。从截图可以看到当 gOxiA 访问资源管理器的这两个 OneDrive 后，Process Monitor记录下了这两个图标的 CLSID，分别是：</p> <p><strong><font style="background-color: #ffff00">&#123;018D5C66-4533-4307-9B53-224DE2ED1FE6&#125;</font></strong></p> <p><strong><font style="background-color: #ffff00">&#123;D227B6E2-5C41-4EB2-BD76-51940CFD391F&#125;</font></strong></p> <p><a href="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-10-24_3.png"><img title="2016-09-10 (24)" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="2016-09-10 (24)" src="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-10-24_thumb.png" width="634" height="345"></a></p> <p><a href="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-10-26.png"><img title="2016-09-10 (26)" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="2016-09-10 (26)" src="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-10-26_thumb.png" width="634" height="345"></a></p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 既然找到了两个图标的 CLSID 那么就可以在注册表中缩小搜索范围了。继续搜索注册表锁定了问题范围，从下面截图可以看到在下面两个路径下存在 CLSID 记录，从注册表项的名称看确有关联。</p> <p><strong><font style="background-color: #ffff00">HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace</font></strong></p> <p><strong><font style="background-color: #ffff00">HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel</font></strong></p> <p><a href="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-10-1.png"><img title="2016-09-10 (1)" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="2016-09-10 (1)" src="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-10-1_thumb.png" width="634" height="336"></a></p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下来尝试修改“HideDesktopIcons”-“NewStartPanel” 下相关的 CLSID 值改为为 0，不隐藏图标进行测试。（<font style="background-color: #ffff00">注意：在进行注册表操作前一定要进行备份！！！</font>）刷新桌面，可以看到出现了两个 OneDrive 图标，OK 问题可以锁定了！但奇怪的是当删除其中一个 OneDrive 的 CLSID 后，桌面仍有两个图标，而且资源管理其中也仍旧显示两个图标。尝试删除“Desktop”-“NameSpace” 下的项进行测试，发现两个图标的问题解决了！</p> <p><a href="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-10-23.png"><img title="2016-09-10 (23)" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="2016-09-10 (23)" src="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-10-23_thumb.png" width="634" height="731"></a></p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 虽然问题得到解决了，但是应该删除哪个 CLSID 呢？如何确定这两个 CLSID 哪个才是当前 OneDrive 所使用的呢？翻出之前 Process Monitor 监测的结果，可以看到 OneDrive 的配置项所在的位置。</p> <p><font style="background-color: #ffff00"><strong>HKEY_CURRENT_USER\SOFTWARE\Microsoft\OneDrive</strong></font></p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 顺藤摸瓜再接再厉，找吧！</p> <p><a href="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-10-25.png"><img title="2016-09-10 (25)" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="2016-09-10 (25)" src="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-10-25_thumb.png" width="634" height="345"></a></p> <p><font style="background-color: #ffff00"><font style="background-color: #ffff00"></font></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功夫不负有心人，<font style="background-color: #ffff00"><font style="background-color: #ffff00"></font><strong>HKEY_CURRENT_USER\SOFTWARE\Microsoft\OneDrive\Accounts\Personal</strong></font>，下面“<strong><font style="background-color: #ffff00">NamespaceRootId</font></strong>”记录的 CLSID 值就是当前所使用的，至此可以收官了！</p> <p><a href="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-09-1.png"><img title="2016-09-09 (1)" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="2016-09-09 (1)" src="http://goxia.maytide.net/ftpup/2016/HOWTO--OneDrive_EC83/2016-09-09-1_thumb.png" width="633" height="358"></a></p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 结束前做了一个小测试，删除了当前正在使用的 CLSID 项，发现从系统栏打开 OneDrive 时会报错。此外还有一个问题！虽然删除了资源管理器和桌面中的图标（注册表对应的项和值），但是监测发现，打开资源管理时还是会去读取已经删除的 CLSID，说明仍有残留，可是注册表中已经搜索不到这个 CLSID，检查 OneDrive 的配置文件仍一无所获，也许是一个 Bug 已经提交微软反馈中心，期待后续会彻底解决。（考虑重新做一遍系统，同步数据这事还是靠谱点好！！！）</p> <p><font face="微软雅黑"></font>&nbsp;</p> <p><font face="微软雅黑"></font></p> <p><font face="微软雅黑"></font></p>
]]>
</description>
</item><item>
<link>https://maytide.net/read.php/1797.htm#blogcomment5174</link>
<title><![CDATA[[评论] HOWTO: 解决资源管理器有两个 OneDrive]]></title> 
<author>zzs &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sat, 10 Sep 2016 14:37:12 +0000</pubDate> 
<guid>https://maytide.net/read.php/1797.htm#blogcomment5174</guid> 
<description>
<![CDATA[ 
	已经无力吐槽这个基于onedrivesetup.exe对每用户分别部署的win32的1drv客户端了，不造哪年10里面的1drv可以像8.1那样彻底整合到explorer
]]>
</description>
</item><item>
<link>https://maytide.net/read.php/1797.htm#blogcomment5187</link>
<title><![CDATA[[评论] HOWTO: 解决资源管理器有两个 OneDrive]]></title> 
<author>233 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 03 Jan 2017 09:50:59 +0000</pubDate> 
<guid>https://maytide.net/read.php/1797.htm#blogcomment5187</guid> 
<description>
<![CDATA[ 
	新版1drv客户端的更新记录里面似乎提到了解决了这个问题
]]>
</description>
</item>
</channel>
</rss>