上次暑假回家重装系统,Win 8.1 和 openSUSE 13.2, 在同步Outlook账号的时候, 没注意到当前我的账户名是中文的. 导致了我在 C:\Users\ 目录下的用户目录变成了中文的. 本来以为问题不大, 没想到有些程序对中文路径名的支持还是这么差.

首先是Virtual Box, 虽然能够安装上, 但是无论如何虚拟机就是打不开, 经确认是因为路径的关系了, 再接着是Haskell Platform, cabal update 的时候也是报错说路径错误什么的.

因为重装系统就要把两个一起重装了, 实在麻烦(事实上是我还不会用Grub). 我在网上稍微百度了一下怎么在不重装的情况下把用户目录给换成英文的. 但是实在找不到简单又靠谱的方法, 都是改注册表什么的, 也就作罢. 放假回来下午稍微一折腾, done.

  • 首先在我的电脑->管理->本地用户和组->用户 新建一个用户,名字要是英文的, 全称就随便了, 我写了LA, 新建后右击选择这个新账户的属性, 在隶属于标签页输入对象Administrators, 就是把它归入Administrators组的意思. 你可以在本地用户和组->组里面看到它.
  • 然后在开始屏幕先把自己注销, 再切换到这个新的账户LA, 刚刚进入的时候, 会做一些初始化的工作, 等就行了.
  • 进入系统到 C:\Users\目录, 在文件夹选项中选择显示隐藏文件, 对旧账户文件夹右键, 取得管理员所有权, 然后把所有文件覆盖到C:\Users\LA下, 复制不过来的就算了.
  • 重启一次, 登陆到LA , 看看之前的软件的配置是否没哟改变.(桌面配置就无法保留了.
  • 回到中文名账户把Outlook连接关闭, 切换到本地账号, 注销回到LA, 把原来的账号删掉.
  • 把新账户连接到Outlook, 等他同步完.
  • 配置文件强制迁移后可能还是会有些问题, 有可能有些软件硬编码了你的用户路径, 这就只能把个别软件配置删掉了, 自行到 LA\AppData 中找.
    • 我遇到的另一个问题是OneDrive同步失效了,打开OneDrive的Metro版, 显示”找不到此位置”, 在文件夹导航栏中也找不到OneDrive,图标栏也没有. 我的解决方案是: 到LA\AppData\Local\Microsoft\Windows\SkyDrive (我这里真的是SkyDrive)中把Setting文件夹剪切掉, 过一会OneDrive就自动开始同步了, 这个时候把同步暂停, 更改同步位置, 把以前的旧文件覆盖过去就行了.

Done.