休眠后启动移动硬盘不重新初始化连接

比如有这样的需求,VMWare的虚拟机放在移动硬盘中,虚拟机一直开着,有时需要离开一会,就让机器休眠了,结果回来唤醒机器后,发现由于插在USB口上的移动硬盘重新初始化了,VMWare一直连接着的文件句柄也就失效了,结果就是运行中的这个移动硬盘上的虚拟机崩了。

这是个很严重的问题,这让人无法将虚拟机放在移动硬盘中运行。

一直都在找如何让Windows唤醒后不初始化移动硬盘而应该一直保持休眠前的状态的方法,没有如果。

这几天买了一个新的移动硬盘,一直插在机器上用,因有事去办就休眠了机器,回来唤醒机器,发现并没有像以前那个移动硬盘那样新弹出移动硬盘的根目录文件夹窗口。

哦,明白了,以前的移动硬盘是机械硬盘,而新买的移动硬盘是固态的,唤醒机器时固态的可以直接进入工作状态,不需要重新初始化,也就说明VMWare虚拟机可以安全地在固态移动硬盘上运行,不怕机器休眠!

Failed to format -2147024809

直接用adk里的MakeWinPEMedia写winpe到U盘里报标题这个错误,所以我们换一种思路,用MakeWinPEMedia生成iso,再在linux环境将iso擦写到U盘里。

先以管理员方式运行“部署和映像工具环境”
输入

1
MakeWinPEMedia /ISO d:\euhat\WinPE_amd64 d:\winpe.iso

成功后,将winpe.iso拷贝到ubuntu linux虚拟机或实机里面。
我们现在以vmware的ubuntu虚拟机为例,为了使虚拟机正常识别U盘,需要做两件事

  1. 以管理员方式运行vmware player或workstation。
  2. ubuntu虚拟机设置里USB控制器兼容性中选择正确的版本,新买的机器一般选USB 3.0以上。这一步骤若选错,在vmware工具条上将U盘连接到虚拟机里时会提示“无法连接到理想的主机控制器。将尝试将该设备连接到可用的最佳主机控制器”不成功的错误,那时再重复此步骤选择其它USB控制器版本试试。

启动ubuntu虚拟机,打开终端以root身份运行

1
fdisk -l

通过看容量找到U盘的设备路径,如我这里是/dev/sdb,则再运行

1
2
dd if=/home/euhat/Desktop/winpe.iso of=/dev/sdb
sync

这样winpe就写入U盘了,正常从虚拟机、Windows卸载U盘后,再插到机器上用U盘引导试试!

VMWare磁盘读写提速

VMWare不生成vmem文件的方法是在.vmx文件中增加两行:

1
2
sched.mem.pshare.enable = "FALSE"
mainMem.useNamedFile = "FALSE"

refer to:
https://blog.csdn.net/shanzhizi/article/details/8293638
http://www.360doc.com/content/15/1120/11/73007_514517328.shtml
http://www.guyiren.com/archives/3210
https://blog.csdn.net/mnmnwq/article/details/79557305
https://blog.51cto.com/kitzk/553493
https://segmentfault.com/q/1010000002954977
https://bbs.kafan.cn/thread-1355085-1-1.html

本机代理到虚拟机

由于局域网限MAC地址,VmWare虚拟机不能直接连接物理网络,只能NAT模式,那么怎么让别人的电脑连接到本机虚拟机里的服务程序呢?

比如虚拟机里的服务程序IP为192.168.38.132,端口为5454,

本机IP为192.168.1.67,现在我们做一个代理,让别人能访问到192.168.38.132:5454。

在本机,以管理员模式运行cmd,输入

1
2
3
4
5
netsh
interface
portproxy
 
add v4tov4 listenaddress=192.168.1.67 listenport=5454 connectaddress=192.168.38.132 connectport=5454

记住,再禁掉本机防火墙!
此时,别人的电脑就可以访问此虚拟机里的服务程序了。

当不再需要此代理时,在本机,以管理员模式运行cmd,输入

1
2
3
4
5
netsh
interface
portproxy
 
delete v4tov4 listenaddress=192.168.1.67 listenport=5454

注意:微软的netsh只能转发tcp包,没有实现转发udp包。

参考:https://blog.csdn.net/mergerly/article/details/50747930