Win10 可移动化

  • 尝试打造 windows 10 快速重装环境

  • 资料来源:

    <>

  • 更新

    1
    20.12.28 初始化

导语

无暇整理导致 C 盘容量暴降 100G,却根本找不出来哪里多出了 100G 索性重装…

尝试整理下 win10 环境,试图让下次重装不在难受 2 天多…

前言

把重装的过程整理了一遍

  • win10 系统本身的配置,各类自定义,主题,虚拟化等等配置.
  • 开发环境配置,主要是 Android vscode 和 docker.(TF 暂时还不是必须的)
  • 浏览器的配置,虽然有书签拓展等同步.但是拓展的配置却没法同步,每次要调整好久.
  • UWP 软件的安装,常用的就那么几款,但是每次必须手动完成.

解决:

  • win10 系统本身的配置暂时无解,能脚本化的只有虚拟化配置那几项.
  • 工具类和浏览器,期望是可以不跟随系统,这里直接使用绿色版,配合 onedrive 同步
  • 常用软件可以交给 Chocolatey 命令行安装.基本用到的软件都在.
  • 对于流氓软件,基本不需要保存数据,windows sandbox 支持配置文件,挂载目录了,交给沙盒.

绿色移动版软件

所谓绿色移动版,指那些不需要安装,随用随拷贝走的软件.

首选来源肯定是官方,但是大多数官方都没有提供这样的版本…

PortableApps 算是可移动软件鼻祖,至今非常活跃.是寻找这一类软件的首选.

PortableAppZ 作者更新很勤奋,至少

note: 绿色移动版,并不意味着软件不会读写注册表等,PortableApps 貌似是软件退出后会在删除注册表.

更多的讨论详情见 v2ex 等论坛.

chocolatey

linux 下飞快的一行命令就完成了软件的安装,win 下边则要一个一个点,繁琐.jpg

win 下面也有类似 linux 的命令行软件管理工具

  • Scoop
  • Chocolatey

关于两者的对比,就不多言了.scoop 像是一个极客工具,关注开源,自定义程度非常高.Chocolatey 更像是大众的助手,软件全而不挑.

Chocolatey 软件库基本覆盖了我使用的全部软件,因此这里选择了 Chocolatey.

具体的安装使用,请参考 Windows下的黑魔法——Chocolatey · 零壹軒·笔记,其实和 linux 下的软件包管理非常类似.

之后如果可以配合 powershell 脚本一次性安装全部软件,想想很美好.(梦里)

~~国产(流氓)~~软件

自从 N 年前辛苦配置的开发环境被 QQ 搞坏以后,就对国产软件敬而远之了.奈何又不得不用…

必须用的是 QQ 微信 还有 迅雷(下个老友记居然只有迅雷能解决死链…)

hyper-v 虚拟机太重,但是还有个好东西是 windows sandbox

沙盒配置

实质上 windows sandbox 是个轻量化的 hyper-v 虚拟机,只是非常轻量化,启动关闭都很快.

自某个版本,沙盒支持配置文件,挂载目录后实用性大增

  • 挂载目录
  • 设置启动命令
  • 控制 gpu 剪贴板 麦克风 打印机等设备在沙盒可用.

详情参考: Windows 沙盒配置

只需要一个 .wsb 文件,即可启动一个沙盒实例.但是全局只能运行一个沙盒实例.

这里拿 qq 微信为例说明配置过程.

  • 新建一个 .wsb 文件,并在文本编辑器打开.写入 <Configuration> </Configuration>,配置就在中间.

    1
    2
    3
    <Configuration>

    </Configuration>
  • 挂载文件夹到沙盒

    • 程序提取可以参考 官方绿色版(提取 win32 转制应用) | 默.

    • 挂载配置是在 <MappedFolders> </MappedFolders> 之间的 <MappedFolder> <MappedFolder>.

    • 可以有多组,必须是绝对路径.这里是把 test 挂载到了沙盒的桌面了.

      1
      2
      3
      4
      5
      6
      7
      <MappedFolders>
      <MappedFolder>
      <HostFolder>C:\test</HostFolder>
      <SandboxFolder>C:\Users\WDAGUtilityAccount\Desktop</SandboxFolder>
      <ReadOnly>false</ReadOnly>
      </MappedFolder>
      </MappedFolders>
  • 保存退出,最后点击 wsb 文件即可启动沙盒.

微信倒是可以正常运行,但是 qq 一直提示 dll 缺失.

解决:

  • 沙盒是精简版系统,dll 缺失很正常,但是没法运行 qq 太遗憾了…
  • 既然是缺失 dll,沙盒也没法让 dll 修复持久化,直接将主机的 dll 库挂载到沙盒就行了…
  • 64 位的 dll 库在 C:\Windows\SysWOW64,为了安全设置的只读.

最终的 wsb 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<Configuration>
<MappedFolders>
<MappedFolder>
<HostFolder>C:\test</HostFolder>
<SandboxFolder>C:\Users\WDAGUtilityAccount\Desktop</SandboxFolder>
<ReadOnly>false</ReadOnly>
</MappedFolder>
<MappedFolder>
<HostFolder>C:\Windows\SysWOW64</HostFolder>
<SandboxFolder>C:\Windows\SysWOW64</SandboxFolder>
<ReadOnly>true</ReadOnly>
</MappedFolder>
</MappedFolders>
</Configuration>

ps:

  • 既然可以随便挂载,那岂不是可以把系统挂载上午玩出花来吗…😂…

其他

有一些软件还是无法分成上面的几类.

  • Sandboxie: 沙盒软件,长期且重度用户,开源后目前处于不再更新仅维护状态.下载地址.
  • 其他待续

结语

其实还没有完全弄完,但是这样拆分基本上下次重装不会再浪费两天时间了…