目前win10磁盘分区多数人采用两种方式:
1:只分一个C盘,文件在C盘以目录区分。
缺点:所有文件都在一起,区分查找比较麻烦。
2:物理分区,分多个盘,如C,D,E等等
缺点:容量固定,配置后无法修改,可能出现磁盘空间不够,容易引起文件目录碎片化。
偶然间发现新的方式,在C盘的基础上,可以虚拟出D,E…等磁盘。虚拟出来的盘可以相当于物理分区一样使用,所有虚拟磁盘和映射目录的磁盘共享容量。
贴一张效果图:(实际上我只有1个1T的SSD固态)
window的subst命令可以创建虚拟磁盘,并将目录映射到虚拟磁盘
subst 虚拟磁盘盘符 物理磁盘符:路径
例如,将C盘的C:\D目录映射为D盘,将C盘的C:\E目录映射为E盘
打开cmd控制台,执行:
> subst D C:\D
> subst E C:\E
问题:
上面方式存在以下问题,每次重启后,虚拟磁盘映射消失。
下面使用注册表方式,解决重启映射消失问题。
以1T硬盘为例子演示整个操作过程。
格式化整个硬盘并安装WIN10系统到整个硬盘
完成后,系统只存在一个C盘,容量大小为1T。
在C盘创建映射目录,映射目录名为D,E…
完成后,可以顺利访问 C:\D
路径 和 C:\E
路径
修改映射目录属性, 隐藏映射目录
打开cmd控制台,执行Dos命令,设置 C:\D
目录和 C:\E
目录为隐藏系统目录
> attrib +S +H C:\D
> attrib +S +H C:\E
查看帮助使用 attrib /?
创建注册表文件并执行,配置虚拟磁盘映射
创建 make_subst.reg 注册表文件,内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]
"D:"="\\??\\C:\\D"
"E:"="\\??\\C:\\E"
注意: 路径中的每个反斜杠都要加倍,
\\??
是NT对象管理器名称空间中的虚拟目录, 需要保留.
双击执行 make_subst.reg
重启操作系统
重启之后,可以发现多了 D盘 和 E盘两个驱动器,这两个驱动器的容量和C盘一样,都是1T大小,并且映射在C:\D和 C:\E目录。C,D,E这3个驱动器共享空间大小。新映射出来的D和E虚拟磁盘可以和普通的物理分区一样使用。
创建make_virtual_hdd.bat批处理文件并执行
@echo off
:: 管理员权限
@%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
@cd /d "%~dp0"
cls
:again
echo *************************************************************************************
echo ***** 批处理程序,用于创建并映射虚拟磁盘到新的盘符 ********
echo ***** 帮助: ********
echo ***** 1. 启动make_virtual_hdd.bat脚本 ********
echo ***** 2. 输入新映射的磁盘盘符。(如 D,E,Z等等) ********
echo ***** 3. 重启系统后生效 ********
echo ***** 注意:新映射的盘符必须未被目前系统使用 ********
echo ***** 例如:启动批处理后,输入Z,重启后系统多出一个虚拟磁盘Z,容量与C盘共享 ********
echo *************************************************************************************
echo.
set /p hdd=请输入需要创建的磁盘盘符:
:: 转换大小写
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set hdd=%%hdd:%%i=%%i%%
:: 判断磁盘是否存在
if exist %hdd%: (
echo 已经存在%hdd%盘,无法映射虚拟磁盘
goto END
)
:: 判断目录是否存在
IF EXIST C:\%hdd% (
echo 已经存在C:\%hdd%目录,无法映射虚拟磁盘
goto END
)
:: 创建目录
echo 1. 正在创建目录 C:\%hdd%
md C:\%hdd%
attrib +S +H +R C:\%hdd%
:: 设置目录图片
echo [.ShellClassInfo] >> C:\%hdd%\desktop.ini
echo IconResource=C:\Windows\System32\SHELL32.dll,273 >> C:\%hdd%\desktop.ini
echo [ViewState] >> C:\%hdd%\desktop.ini
echo Mode= >> C:\%hdd%\desktop.ini
echo Vid= >> C:\%hdd%\desktop.ini
echo FolderType=Generic >> C:\%hdd%\desktop.ini
attrib +S +H C:\%hdd%\desktop.ini
::添加注册表
echo 2. 正在注册虚拟磁盘驱动器
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices" /v "%hdd%:" /d "\??\C:\%hdd%" /f
echo 虚拟磁盘驱动器%hdd%映射完成。请立即重启,重启后配置生效。
:END
pause
手机扫一扫
移动阅读更方便
你可能感兴趣的文章