开机自动挂载 VHD 的方法
一、批处理
除了将 VHD 文件用人工方式在【磁盘管理】里【附加】来挂载以外,也能用【脚本】来实现自动挂载。
打开【启动】,将写好的 mount.bat 放入即可:
Mount.bat 文件的内容为:
diskpart /s e:\mount.txt
mount.txt 文件的内容为:
select vdisk file=d:\Program.vhd
attach vdisk
select vdisk file=d:\Game.vhd
attach vdisk
select vdisk file=d:\Documents.vhd
attach vdisk
select vdisk file=d:\Temp.vhd
attach vdisk
select vdisk file=d:\Workspace.vhd
attach vdisk
exit
这种方式固然简单,但是每次开机弹出的命令行以及用户帐户控制许可,都太令人伤神了,必须消灭这些视觉垃圾!
二、计划任务
于是很自然地就想到了 Windows 计划任务——也许能无声无息的把事儿给办了吧……
在上面的【批处理】的基础上,配置【计划任务】step by step 如下图:
重启后,恼人的命令行和用户账户控制提示没有了,虚拟盘如同葫芦娃似地,一个一个嘎嘣嘎嘣的跳出来,真是令人激动啊!
三、Windows 系统服务
虽然以【计划任务】的方式来挂载 VHD 已经相当方便了,但是也许并不是那么快捷——因为计划任务是通过一个叫做 【Task Scheduler】 的【系统服务】来调度运行的,一般只有用户级别的执行优先级,而倘若能跨过【Task Scheduler】从计划任务升级为 【系统服务】 来执行,那么效率和优先级都会好很多!
可是自 Win7 以后,微软对能够作为【系统服务】运行的程序进行了更严格的规定,以致于用户不能再那么轻易地将自己定制的程序作为系统服务来运行。就算可以通过 SC 命令安装服务,一般也启动不了。会报诸如:
的错误。
然而,这并不能阻止我——现在,我需要的只是一个【系统服务的壳子】。幸运的是,这种外壳在Microsoft Windows Resource Kits工具集中被找到,有两个小文件 instsrv.exe 和 srvany.exe,其中前者是装入器,后者则是我们的【壳子】!
以管理员打开 CMD,进入instsrv.exe 和 srvany.exe的目录,假设这两个文件在E:\,键入instsrv.exe mountvdisk e:\srvany.exe 命令以装载服务。
其中 instsrv.exe 的参数有两个,mountVdisk 是我们自己的定制服务的名字——就是要把它装进后面的参数,也就是 srvany.exe(壳子)里,不过注意,要给出 srvany.exe 的完整路径。
执行完以上的命令,再打开注册表编辑器,会看到 mountVdisk 服务已装好:
在注册表的路径为:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mountVdisk]
不过此时,mountVdisk 还仅仅只是与 Windows 系统通过【壳子】连接好了,还没有任何功能,仍须我们进一步编辑它,如下图:
由上图导出的注册表为:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mountVdisk\Parameters]
"Application"="diskpart"
"AppParameters"="/s e:\\mount.txt"
"AppDirectory"="c:\\windows\\system32\\"
将以上保存为 mountVdisk.reg ,再根据各自的实际情况修改路径与参数后导入的过程,也就是安装服务的过程了!
最后,关闭注册表编辑器,回到命令行下,测试一下服务 mountVdisk:
命令行回显成功的同时也听见系统发出"咚咚",虚拟磁盘成功挂载的声音。
重启后,服务随系统一同启动,VHD挂载成功!
最后值得一提的是,若我们的虚拟磁盘数目很多,那么把这些 VHD 都用一个 mount.txt 来管理,就会有比较大的挂载效率问题——你会看到它们是按照 mount.txt 文件中记录的顺序来挨个儿挂载的,是一种串行的工作方式;而当我们把 mount.txt 文件拆分一下,用多个服务来并行挂载,则效率会好很多!
不过一定要注意拆分的度,串行更利于管理,并行更利于效率,合理的拆分,才能有最好的效果!
开机自动挂载 VHD 的方法的更多相关文章
- (原)ubuntu挂载及开机自动挂载网络端的文件夹的方法
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/7160792.html 参考网址: http://blog.csdn.net/tlight/articl ...
- Linux系统磁盘分区、删除分区、格式化、挂载、卸载、开机自动挂载的方法总结
Linux系统按照MBR(Master Boot Record)传统分区模式: 注意:传统的MBR(Master Boot Record)分区方式最大只能分2T容量的硬盘,超过2T的硬盘一般采用GPT ...
- Linux开机自动挂载Windows分区
使用Linux的朋友肯定都不会对本文所谈的内容陌生,在Linux系统里,通常不会开机自动挂载Windows文件系统下的分区.Ubuntu系统下要点击Windows分区才会挂载,Fedora下则甚至要输 ...
- Linux基础知识之挂载详解(mount,umount及开机自动挂载)
Linux基础知识之挂载详解(mount,umount及开机自动挂载) 转载自:http://www.linuxidc.com/Linux/2016-08/134666.htm 挂载概念简述: 根文件 ...
- linux挂载新磁盘、分区和开机自动挂载
今天在阿里云虚拟主机里新加了一块磁盘,需要单独挂载到centos7. 挂载过程中遇到了不少问题,记录如下: 查看分区 fdisk -l 其中第一个框和第二个框,是已经分好区的磁盘,第三个硬盘没有分区. ...
- Ubuntu12.04开机自动挂载windows分区
最近使用Ubuntu12.04时不知到怎么搞的原本能自动识别的Windows的C .D .E盘突然间无法识别了,于是上网搜了一下Ubuntu12.04下自动挂载Windows NTFS分区的方法. 还 ...
- Ubuntu 开机自动挂载磁盘
Ubuntu 磁盘挂载 1.使用命令查看分区 sudo fdisk -l 1 可以根据上图提供的磁盘信息确定想挂载的磁盘,以及确定挂载的位置. 我此次的目的是将/dev/sda2 磁盘挂载到/mnt/ ...
- Linux挂载(mount,umount及开机自动挂载
挂载概念简述: 根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载” 1.挂载:根 ...
- 在Linux上挂载Windows共享文件夹,如何开机自动挂载(mount)?
按照一般的思路,我们先将文件夹挂载上去,命令如下: mkdir /mnt/share_software mount //192.9.206.43/share_software /mnt/share_s ...
随机推荐
- C语言中判断int,long型等变量是否赋值的方法
博主这段时间在写一些C程序的代码,由于以前对C不是了解很多,故遇到很多瓶颈,当然,其中也有很多有趣的方法可以利用以解决这些难题,下面这个问题就是博主遇到的一个麻烦. 声明了 int ,long 型等局 ...
- 深入剖析Linux I/O操作与标准I/O操作区别与联系
文件I/O:open creat close lseek read write dup dup2 sync fsync fcntl ioctl 所有函数都是针对文件描述符. 所有的都是原子操作,这个在 ...
- Mysql监控及优化
一.Mysql连接数 1.配置Mysql连接数: vim /etc/my.cnf [mysqld]下面修改 max_connections=1000 不写默认为100. wait_timeout=60 ...
- 使用docker搭建kafka环境
Requirements 最近学习了下kafka,为方便搭建环境,使用docker进行部署. 需要首先安装docker的环境.要求操作系统是linux的64位系统. docker的安装(适于rpm/d ...
- vue-auto-focus: 控制自动聚焦行为的 vue 指令
在网页的表单中,经常需要用程序来控制input和textarea的自动聚焦行为.例如我最近做的一个项目,有个装箱出库的流程,input框自动聚焦的流程如下:页面进入时自动聚焦到订单号输入框->订 ...
- php钩子程序设计
序 作为程序员,设计出优雅而完美的系统,永远是让我们非常兴奋的事情.高手不在于你会多少语言,而在于你有多高的思想. 在设计中,怎么体现自身价值,那就是要比别人多想几步. 讲钩子程序,起 ...
- qdoc 简介
Qdoc 介绍 Qdoc是开发者用于在软件工程中生成文档的一个工具.它从工程的源文件中提取qdoc类型注释,并以html页面或者DITA XML文档的形式格式化到文件中.Qdoc在.cpp和.qdoc ...
- 使用canvas实现超绚丽的旋转正方形
自己无意中的一个小"bug",却让动画变得超绚丽= = 所以,不要害怕出bug,谁知道bug不会开出一朵绚丽的花呢? <!DOCTYPE html> <html ...
- asp.net 如何引用dll
这要看你引用dll文件是什么文件,是单纯的类库还是外部或自定义控件dll文件. 如果是类库dll文件,引用的步骤是这样的:在解决方案管理器中,选中要添加引用的项目或网站-右击-添加引用-选择要添加的d ...
- node.js---package.json文件
描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license项的 ...