Windows To Go入坑记录
什么是Windows To Go?
https://en.wikipedia.org/wiki/Windows_To_Go
微软为了解决企业用户的需求而推出,可以在u盘或者移动硬盘启动window系统,顾名思义,移动的windows。
那这个东西有啥用呢?
1.移动办公
比如程序员,有时候公司pc开发,有时候家里pc开发,有了win to go,不需要再部署两套系统、两套开发环境,即插即用。
提供除了笔记本之外的另一种选择。
2.多系统
比如MacBookPro,用来开发没话说,搞两把游戏就要死人了,解决方案就是装windows双系统。
如果用parallels desktop之类的虚拟机,性能不足;
如果用macos自带的bootcamp,
(1).装到本机,太浪费了,mbp的ssd太贵。。。
(2).装到移动硬盘,可以用,但是没有通用性,插到别的pc上用不了
win to go,可以实现:公司pc+家里pc+mbp通用
硬件准备
win to go的性能依赖于硬盘介质、传输接口协议。
最佳情况,当然是雷电3接口以及支持雷电3的ssd,然而太贵,非普通群众考虑范围。
差一档次,就是usb3.1gen2接口,全速10gbps,也就是大约1000MB/s:
不建议买现成的ssd移动硬盘,比如三星t5,速度也就不到500m每秒,价格太浮夸;
还是自己买硬盘盒和ssd组装性价比更高,想达到usb3.1gen2的满速,只能上NVMe协议的ssd(sata3协议的ssd最高6gbps);
不过略尴尬的是,大多数NVMe协议的ssd实际速度是超过10gbps的,所以不要买太好的,浪费性能用不上。
最近ssd一直降价,正是入手时机,
奥睿科(ORICO)外置NVME M.2转Type-c移动硬盘盒 PCM2-C3,182块
阿斯加特 Asgard AN1024NVMe-M.2/80 1TB SSD固态硬盘,899块
加起来一千冒点儿头。
硬盘盒附送c2c,c2a两条数据线,如果自己买数据线,一定要买支持usb3.1gen2的。
软件安装
系统镜像选择cn_windows_10_enterprise_ltsc_2019_x64_dvd_d17070a8.iso,下载地址:
企业版的好处是去掉了商店、小娜这些乱七八糟的东西,而且系统更新极少,不像专业版,隔三差五更新重启了。。。
安装工具:https://bbs.luobotou.org/thread-761-1-1.html
萝卜头专业解决win to go的问题,他们家的工具还是很好用的。

左侧:
指定加载的镜像,指定要写入的设备
右侧:
1.建议选择vhd或者vhdx,也就是虚拟磁盘的格式,据说软件兼容性更好;
而且传统模式的系统,可能无法更新;
另外vhd模式,容易做备份还原;
至于硬盘读写性能方面,三者几乎没有差距。
2.启动模式选择UEFI+GPT,有兴趣的自行百度
3.虚拟磁盘大小建议自己设定,自动设定是40g

4.分区

默认分区格式为ntfs,也可以不分,以后再用其他分区工具自行分区
我这里分了3块,系统区、数据区,还有一块留给mbp的timemachine
点击创建,等着就好。

win to go已经制作完毕,重启你的机器,修改启动顺序,从移动硬盘引导,就ok了。
windows自带常用硬件驱动,联网后还可以自己下载驱动,所以除了mbp这样的变态之外,大部分pc或者笔记本,应该是插上就能用了。
mbp的bootcamp驱动
1.需要在mac下打开启动转换助理

把下载内容拷贝到移动硬盘里边,
mac只能读不能写入ntfs,可以使用tuxera或者paragon写入
如果手头没有,也可以把数据分区格式化成win/mac都支持的exfat格式,然后再拷贝进去
2.mbp2018的t2安全选项
重启,按cmd+r,进入macos实用工具界面
菜单处选择


3.进入win10
再次重启,按住option

选择efi boot,进入win10
因为没有驱动,触摸板、键盘都是用不了的,需要使用外接键盘或者鼠标,
找到拷贝好的驱动程序目录,执行WindowsSupport/BootCamp/Setup.exe
装好以后,重启。
后面不需要再按住option启动,插入usb的时候,就会进入win10,不插则是mac。
4.cpu太热
mbp跑win to go的时候,额头烫的能煮鸡蛋
可以在电源选项里边,把最大处理器状态调整为70%~80%
5.Win10任务栏托盘上会出现Boot Camp图标,在这可以配置键盘或者触控板,还可以指定重启到macos
当把win to go带到其他pc上,这个图标依然健在,只是不能用而已
mbp的timemachine
1.分区的时候说了,单独留了一块给时间机器用,
在mac下,系统偏好设置->timemachine,指定备份磁盘,会自动格式化对应分区,然后执行备份即可。
2.备份完成以后,这块移动硬盘,实际上有了两个引导,一个是win10,一个时间机器的备份mac
都可以通过efi boot进入
调整vhd的大小




改大没啥问题,只要你的硬件容量够;改小要注意数据安全
vhd的备份与还原
vhd有一个差分机制,很有意思
https://bbs.luobotou.org/thread-7644-1-1.html
提炼一下就是,如果怕系统损坏,那么在制作好的vhd启动盘基础上,差分一个子盘出来,平常使用这个子盘。
假设win to go在G:\wtg.vhdx,改名成G:\wtg.base.vhdx,然后使用bootice差分一个新的vhd:G:\wtg.vhdx;
那么引导进入的实际就是这个子盘,刚创建的子盘体积很小,就像一个链接,实际内容都是读取的母盘;
一旦系统有改变,改变的部分就存储在了子盘,母盘是不会改动的。
使用一段时间后,如果系统搞挂了或者不可收拾,那么就丢弃当前的子盘,从母盘重新差分出来一个即可,
所以这种还原方式代价很小,可以说是秒还原了;
如果觉得这段时间的改动可以接受,那么可以把子盘合并到母盘里边去,也可以在子盘的基础上再次差分出一个孙子盘来使用,
据说最多可以差分7个层级,并且性能几乎不受影响。
我认为一般情况下,搞个母盘和子盘,每隔一段时间,去丢弃或者合并就可以了,不需要搞那么多层。
另外,如果怕移动硬盘也挂掉的话,可以把母盘拷贝到其他设备上,再做个备份,这样就更安全了。
win to go 注意事项
1.可以睡眠,但不能休眠
默认并不启用休眠功能,虽然可以通过组策略进行配置,启用休眠,但不建议这样做。
使用一个 USB 设备在不同硬件配置的电脑上运行,硬件差异可能会非常大,因此默认并不启用休眠功能。就算启用,也只能在同一台电脑上使用该功能。如果在一台电脑上休眠,随后再另一台电脑上启动,休眠状态会被自动删除。这将导致所有未保存的会话状态全部丢失。
2.关于拔出冻结
使用过程中如果拔出usb,理想情况会系统冻结,把设备插回,系统继续运行
但是很多情况下会蓝屏死机,可以按照这个讨论解决
https://bbs.luobotou.org/forum.php?mod=viewthread&tid=12453
Windows To Go入坑记录的更多相关文章
- c#调用c++ dll 入坑记录
1.DLL引用坑 [DllImport("NetDLL.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConve ...
- 【学习笔记】windows安装jhipster踏坑记录
序: 入职新公司第二天了,本来第一天是配置环境来着,配了一下午也没搞成那个jhipster的安装,每次以为应该正常的时候都是不对,yo是yeoman的指令,但是我是使用yarn管理的yeoman 纠结 ...
- IDEA+maven+javafx(java 1.8)入坑记录
序 好久没写博客了,主要是因为懒,写博客真的是个难坚持的事.但今天登上来看了看,之前记录ctf写的wp竟然点击量这么多了,突然让我有了继续写下去的动力. 这段时间遇到了好多事,中间也有想过写几篇文章记 ...
- React Native入坑记录
1.render中如果使用props,直接用this.props.xxx,如果是在JSX中,用{this.props.xxx} 2.警告each child in an array or iterat ...
- windows 安装 python 踩坑记录
官方不建议使用 64 bit python,容易出各种问题 Unable to find vcvarsall.bat 凡是安装与操作系统底层相关的 python 扩展都会遇到这个问题,如 PIL,Pi ...
- vue element InfiniteScroll 无限滚动 入坑记录
select_law_by_tag() { this.laws_loading.is_loading = true; this.laws_loading.no_more = false; this.e ...
- Angular 从入坑到挖坑 - Angular 使用入门
一.Overview angular 入坑记录的笔记第一篇,完成开发环境的搭建,以及如何通过 angular cli 来创建第一个 angular 应用.入坑一个多星期,通过学习官方文档以及手摸手的按 ...
- Angular 从入坑到挖坑 - 组件食用指南
一.Overview angular 入坑记录的笔记第二篇,介绍组件中的相关概念,以及如何在 angular 中通过使用组件来完成系统功能的实现 对应官方文档地址: 显示数据 模板语法 用户输入 组件 ...
- Angular 从入坑到挖坑 - 表单控件概览
一.Overview angular 入坑记录的笔记第三篇,介绍 angular 中表单控件的相关概念,了解如何在 angular 中创建一个表单,以及如何针对表单控件进行数据校验. 对应官方文档地址 ...
随机推荐
- UIAlertControl的使用对比与UIAlertView和UIActionSheet
1.UIAlertVIew以-(void)show的方法显示: - (void)viewDidLoad { [super viewDidLoad]; //UIAlertView的使用 [self sh ...
- Linux kernel的中断子系统之(九):tasklet
返回目录:<ARM-Linux中断系统>. 总结: 二介绍了tasklet存在的意义. 三介绍了通过tasklet_struct来抽想一个tasklet,每个CPU维护一个tasklet链 ...
- Kali Linux安装中文输入法全纪录
前言: 我使用的是英文版的Kali,默认没有安装中文输入法,也没有安装小企鹅(我后来才知道),折腾了很久,现在终于可以在Kali里输入中文了(这篇文章就是在Kali里面用leafpad写的).安装的过 ...
- java获取一个月的天数
import java.text.SimpleDateFormat; import java.util.Calendar; public class Test { public static void ...
- Enabling Chrome Developer Tools inside Postman
Chrome's Developer Tools are an indispensable part of the modern web development workflow. However, ...
- React从入门到放弃之前奏(2):React简介
本系列将尽可能使用ES6(ES2015)语法.所以均在上节webpack的基础上做开发. React是Facebook开发的一款JS库,因为基于Virtual DOM,所以响应速度快,以及支持跨平台. ...
- 纯CSS打造进度条
进度条效果如下: CSS部分 body { background-color: white; } .progress-bar { display: flex; flex-direction: row; ...
- Oracle解决Ora-01653无法扩展表空间问题
先针对可能性1查看表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M) & ...
- mutex.go
package} } ) ].GetResponseRange().Kvs[].CreateRevision ) return nil } func (m *Mutex) IsOwner() ...
- BZOJ_5180_[Baltic2016]Cities_ 斯坦纳树
BZOJ_5180_[Baltic2016]Cities_ 斯坦纳树 题意: 给定n个点,m条双向边的图.其中有k个点是重要的.每条边都有一定的长度. 现在要你选定一些边来构成一个图,要使得k个重要的 ...