1. 目的

目前win10磁盘分区多数人采用两种方式:

1:只分一个C盘,文件在C盘以目录区分。

缺点:所有文件都在一起,区分查找比较麻烦。

2:物理分区,分多个盘,如C,D,E等等

缺点:容量固定,配置后无法修改,可能出现磁盘空间不够,容易引起文件目录碎片化。

偶然间发现新的方式,在C盘的基础上,可以虚拟出D,E...等磁盘。虚拟出来的盘可以相当于物理分区一样使用,所有虚拟磁盘和映射目录的磁盘共享容量。

贴一张效果图:(实际上我只有1个1T的SSD固态)

2. 原理

window的subst命令可以创建虚拟磁盘,并将目录映射到虚拟磁盘

subst 虚拟磁盘盘符  物理磁盘符:路径

例如,将C盘的C:\D目录映射为D盘,将C盘的C:\E目录映射为E盘

打开cmd控制台,执行:

> subst  D C:\D
> subst E C:\E

问题:

上面方式存在以下问题,每次重启后,虚拟磁盘映射消失。

下面使用注册表方式,解决重启映射消失问题。

3. 操作步骤

以1T硬盘为例子演示整个操作过程。

  1. 格式化整个硬盘并安装WIN10系统到整个硬盘

    完成后,系统只存在一个C盘,容量大小为1T。

  2. 在C盘创建映射目录,映射目录名为D,E...

    完成后,可以顺利访问 C:\D路径 和 C:\E路径

  3. 修改映射目录属性, 隐藏映射目录

    打开cmd控制台,执行Dos命令,设置 C:\D 目录和 C:\E 目录为隐藏系统目录

    > attrib +S +H C:\D
    > attrib +S +H C:\E

    查看帮助使用 attrib /?

  4. 创建注册表文件并执行,配置虚拟磁盘映射

    创建 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

  5. 重启操作系统

    重启之后,可以发现多了 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

win10系统格式化后进行虚拟分区的更多相关文章

  1. win10系统格式化、恢复出厂设置的操作步骤

    恢复电脑出厂设置具体步骤

  2. win10 系统亮度调节

    win10系统发行后,许多用户尝试新的系统发现安装之后亮度无法调节,我也多次遇见此情况 故在此记录修改方式: 打开注册表 -> 搜索键值featuretestcontrol -> 修改键值 ...

  3. win10系统磁盘占用率高的解决方法,占用100%的问题

    win10系统开机后明明什么都没做,磁盘占用率却只见飙升到了100%,出现这种情况是win10自带的服务导致的.下面的方法可以解决win10系统磁盘占用率高问题. 1.按下Win+R,然后输入serv ...

  4. 关于win10系统安装VMware12Pro后,win10系统的 控制面板\网络和 Internet\网络连接\更改适配器选项卡中 没有虚拟网卡VMnet1和VMnet8图标,该如何把他们显示出来呢?

    安装VMware12Pro后,PC主机通过命令行:ipconfig/all ,查看发现没有VMnet1和VMnet8. 然后我首先尝试打开VMware12Pro的虚拟网络编辑器: 然后先点击" ...

  5. 重装系统win10教程(激活系统、office下载、分区)

    看见有很多小白不知道怎么重装系统,故而在此特别做一个详细教程,大家按照教程做就可以了,也不用去电脑店浪费钱重装系统,在此安装的win10系统,现在win10系统已经是最好的Windows系统了,如果没 ...

  6. Linux系统格式化新磁盘并挂载分区

    Linux系统格式化新磁盘并挂载分区 在虚拟机的设置界面中,我们可以选择添加硬盘 添加好硬盘后,我们输入命令fdisk -l 看到有一个未经分区的硬盘 Fdisk命令编辑这个硬盘 输入n创建分区,p选 ...

  7. 解决升Win10系统后VMware虚拟机不能联网的问题

    刚升级到Win10系统,打开虚拟机发现不能联网,其实是系统服务项里缺少两个用到的服务,不能联网了,下面教大家解决联网问题. 1.打开VMware虚拟机主页,点击“编辑——虚拟网络编辑器”. 2.点击左 ...

  8. Win10系统,开机后提示Desktp不可用的故障解决方法。

    WIN10桌面位置不可用的故障解决方法 今天电脑开机 (Win10系统).桌面空了,然后就蒙了. 系统并弹出以下框,如下图: 原因可能是因为昨天晚上熬夜测试脚本.网上下载的脚本大多都是有毒的.但是人懒 ...

  9. 【win10系统问题】远程桌面登录一次后,第二次登录看不到用户名和密码输入框

    [win10系统远程桌面登录问题] 远程桌面登录某服务器一次后,第二次登录看不到用户名和密码输入框 [解决方法] 在注册表里找到该路径下的远程服务器ip,删除即可: HKEY_CURRENT_USER ...

  10. win7、win10系统电脑开机后小键盘灯不亮怎么办?

    摘自:https://www.pconline.com.cn/win10/1113/11136072.html win7.win10系统 电脑开机后小键盘灯不亮怎么办?这是不少用户最近都在反馈的问题. ...

随机推荐

  1. openssl的自签名证书不被信任问题

    1.不同的浏览器安全策略不同 1.1谷歌系的会提示没有绑定域名. 此服务器无法证实它就是 192.168.0.127 - 它的安全证书没有指定主题备用名称(Subject Alternative Na ...

  2. PowerShell学习笔记五_模块

    PowserShell其他技巧 1. 执行完一个ps1文件后,不回收 有一个场景,在fun.ps1中,仅仅写了一段 Funtion fun([String] input) { } 然后打开PowerS ...

  3. Linux 查询 磁盘空间 系统报错:No space left on device

    报这个错误是磁盘空间不足导致的 使用   du -h -d 1 / | sort -nr 这个命令 一级一级排查

  4. Job for nfs-server.service failed because the control process exited with error code. See "systemctl status nfs-server.service" and "journalctl -xe" for details.

    问题: 解决:

  5. unittest框架数据驱动

    一.目录 数据驱动概述 环境准备 使用unittest和ddt驱动 使用数据文件驱动 使用Excel驱动 使用XML驱动 使用MySQL驱动 二.数据驱动概述 数据驱动的定义: 相同的测试脚本使用不同 ...

  6. tidevice 报UsbmuxReplyCode.BadDevice错误解决办法

    备忘 换了个新手机照常使用tidevice进行操作发现报错 tidevice.exceptions.MuxReplyError: UsbmuxReplyCode.BadDevice 查了好久,终于解决 ...

  7. Python标准库模块之heapq

    创建堆 heapq有两种方式创建堆, 一种是使用一个空列表,然后使用heapq.heappush()函数把值加入堆中,另外一种就是使用heap.heapify(list)转换列表成为堆结构 #创建堆方 ...

  8. react native android9 axios network error

    react native 发布成apk后网络请求会报 network error 是因为android9以后http协议不能用,要用htts协议.需要改成配置能兼容http协议,修改信息如下: and ...

  9. NTP时钟服务器(时间同步服务器)在大数据时代的重要性

    NTP时钟服务器(时间同步服务器)在大数据时代的重要性 NTP时钟服务器(时间同步服务器)在大数据时代的重要性 技术交流:岳峰 15901092122 bjhrkc@126.com    大数据时代众 ...

  10. Java根据经纬度计算两点之间的距离

    public final class DistanceUtils { /** * 地球半径,单位 km */ private static final double EARTH_RADIUS = 63 ...