无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 21886|回复: 66
打印 上一主题 下一主题

[原创] 挂载硬盘注册表,卸载

    [复制链接]
跳转到指定楼层
#
发表于 2017-8-16 08:07:59 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 窄口牛 于 2023-1-31 08:30 编辑

@echo off
color a
SET /P part=   请输入您要挂载的分区(只需字母)Enter确认:
reg load "hklm\SOFTWARE_ON_%part%" %part%:\windows\system32\config\software
reg load "hklm\SAM_ON_%part%" %part%:\windows\system32\config\sam
reg load "hklm\SECURITY_ON_%part%" %part%:\windows\system32\config\security
reg load "hklm\SYSTEM_ON_%part%" %part%:\windows\system32\config\system
reg load "HKEY_USERS\.DEFAULT_ON_%part%" %part%:\windows\system32\config\DEFAULT
reg load "HKEY_USERS\Administrator_ON_%part%" %part%:\Users\Administrator\NTUSER.DAT
reg load "HKEY_USERS\Default_ON_%part%" %part%:\Users\Default\NTUSER.DAT
reg load "HKEY_USERS\Administrator_ON_%part%_xp" "%part%:\Documents and Settings\Administrator\NTUSER.DAT"
reg load "HKEY_USERS\Default_User_ON_%part%_xp" "%part%:\Documents and Settings\Default User\NTUSER.DAT"
reg load "HKEY_USERS\All_Users_ON_%part%_xp" "%part%:\Documents and Settings\All Users\NTUSER.DAT"
start %windir%\regedit


@echo off
color a
SET /P part=   请输入您要卸载的分区(只需字母)Enter确认:
reg unload "hklm\SOFTWARE_ON_%part%"
reg unload "hklm\SAM_ON_%part%"
reg unload "hklm\SECURITY_ON_%part%"
reg unload "hklm\SYSTEM_ON_%part%"
reg unload "HKEY_USERS\.DEFAULT_ON_%part%"
reg unload "HKEY_USERS\Administrator_ON_%part%"
reg unload "HKEY_USERS\Default_ON_%part%"
reg unload "HKEY_USERS\Administrator_ON_%part%_xp"
reg unload "HKEY_USERS\Default_User_ON_%part%_xp"
reg unload "HKEY_USERS\All_Users_ON_%part%_xp"



置顶回复层下载最终成品。


点评

辛苦了  发表于 2024-5-9 21:21

评分

参与人数 7无忧币 +32 收起 理由
nfans + 5 很给力! 希望增加能挂载指定文件夹而不仅是.
yyz2191958 + 2 赞一个!
being + 5 很给力!
szmsys + 5 神马都是浮云
糊涂 + 5
zmac2007 + 5
+ 5 很给力!

查看全部评分

来自 63#
 楼主| 发表于 2023-1-29 14:25:31 | 只看该作者
本帖最后由 窄口牛 于 2023-1-31 08:29 编辑

支持文件夹内完整系统文件的离线注册表,增加通过cmd.exe版本判断xp和高级系统分别处置,挂载后分支和系统默认注册表分支关系一目了然。

离线注册表.rar (1.92 KB, 下载次数: 76)

点评

很好用!感谢楼主分享!另想恳请楼主能否写一个卸载 Dism++ 已挂载注册表(就是使用 Dism++ 时默认挂载的注册表)的批处理?谢谢!!!  详情 回复 发表于 2023-2-2 10:53
回复

使用道具 举报

62#
 楼主| 发表于 2024-11-1 11:49:29 来自手机 | 只看该作者
netdna518 发表于 2024-11-1 11:09
可以把注册表转移到d盘的文件夹里面,而系统还能正常运行不?

大概率不行,我也想过你的想法,把sam转移走。
回复

使用道具 举报

61#
发表于 2024-11-1 11:09:52 | 只看该作者
可以把注册表转移到d盘的文件夹里面,而系统还能正常运行不?

点评

大概率不行,我也想过你的想法,把sam转移走。  详情 回复 发表于 2024-11-1 11:49
回复

使用道具 举报

60#
发表于 2024-10-31 16:13:26 | 只看该作者
感谢分享
回复

使用道具 举报

59#
发表于 2024-10-20 10:04:10 | 只看该作者
学习一下
回复

使用道具 举报

58#
发表于 2024-10-16 23:13:02 | 只看该作者
感谢分享
回复

使用道具 举报

57#
发表于 2024-10-16 23:04:09 | 只看该作者
感谢分享
回复

使用道具 举报

56#
发表于 2024-10-3 16:49:17 | 只看该作者
谢谢分享
回复

使用道具 举报

55#
发表于 2024-9-16 21:30:53 | 只看该作者
@echo off
setlocal enabledelayedexpansion
::CMD窗口字体绿色
title %~n0
color 0a

set "m_目录=%~1"

if "" EQU "%~1" goto :安装脚本
if "*" EQU "!m_目录:~0,1!" goto :安装脚本
if "?" EQU "!m_目录:~0,1!" goto :安装脚本
if "|" EQU "!m_目录:~0,1!" goto :安装脚本
if "挂载目录" EQU "%~2" goto :挂载目录
if "卸载盘符" EQU "%~2" goto :卸载盘符
goto :eof

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:安装脚本
(
   rem 驱动器右键
   Reg Add "HKEY_CLASSES_ROOT\Drive\shell\卸载盘符" /ve /t REG_SZ /d "卸载盘符" /f
   Reg Add "HKEY_CLASSES_ROOT\Drive\shell\卸载盘符" /v "icon" /t REG_SZ /d "imageres.dll,-78" /f
   Reg Add "HKEY_CLASSES_ROOT\Drive\shell\卸载盘符\command" /ve /t REG_SZ /d "\"%~dpnx0\" \"%%1\" \"卸载盘符\"" /f

   rem 目录右键
   Reg Add "HKEY_CLASSES_ROOT\Directory\shell\挂载为可用盘符" /ve /t REG_SZ /d "挂载为可用盘符" /f
   Reg Add "HKEY_CLASSES_ROOT\Directory\shell\挂载为可用盘符" /v "icon" /t REG_SZ /d "imageres.dll,-78" /f
   Reg Add "HKEY_CLASSES_ROOT\Directory\shell\挂载为可用盘符\command" /ve /t REG_SZ /d "\"%~dpnx0\" \"%%1\" \"挂载目录\"" /f
) >nul 2>nul
goto :eof
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:挂载目录
set "挂载目录_空闲盘符="
for %%a 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 if not exist "%%a:" set "挂载目录_空闲盘符=%%a:"
if "" NEQ "!挂载目录_空闲盘符!" subst !挂载目录_空闲盘符! !m_目录!
goto :eof
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:卸载盘符
if "" NEQ "!m_目录:~3,1!" goto :eof
( subst !m_目录:~0,2! /d )>nul 2>nul
if 0 EQU %errorlevel% goto :eof
set "卸载盘符_卸载VHD盘符="
( call :卸载VHD盘符 !m_目录:~0,1! "卸载盘符_卸载VHD盘符" )>nul 2>nul
if "0" EQU "!卸载盘符_卸载VHD盘符!" goto :eof
( call :DiskPart卸载盘符 !m_目录:~0,2! )>nul 2>nul
goto :eof
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DiskPart卸载盘符
rem :DiskPart卸载盘符 "In"
(
   echo Sel Vol %~1
   echo ReMove
) | DiskPart
goto :eof
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:卸载VHD盘符
if "" NEQ "%~2" set "%~2="
set "卸载VHD盘符_VHD文件="
set "卸载VHD盘符_磁盘号="
set "卸载VHD盘符_磁盘类型="
set "卸载VHD盘符_命令文件=%~dp0%Random%_%Random%"

echo sel vol %~1:>"!卸载VHD盘符_命令文件!"
echo det disk>>"!卸载VHD盘符_命令文件!"
echo det vol>>"!卸载VHD盘符_命令文件!"
call :DiskPart文件命令 "卸载VHD盘符_命令文件" ":卸载VHD盘符_001"
if "" EQU "!卸载VHD盘符_磁盘类型!" goto :eof

echo list vdisk>"!卸载VHD盘符_命令文件!"
call :DiskPart文件命令 "卸载VHD盘符_命令文件" ":卸载VHD盘符_002"
if " " EQU "!卸载VHD盘符_VHD文件:~0,1!" set "卸载VHD盘符_VHD文件=!卸载VHD盘符_VHD文件:~1!"

if not exist "!卸载VHD盘符_VHD文件!" goto :eof

:分离VHD
(
   echo select vdisk file="%卸载VHD盘符_VHD文件%"
   echo detach vdisk
) | DiskPart >nul 2>nul
set "卸载VHD盘符_磁盘类型=%errorlevel%"
if "" NEQ "%~2" set "%~2=!卸载VHD盘符_磁盘类型!"
goto :eof
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:卸载VHD盘符_001
set "卸载VHD盘符_临时变量=!%~1!"
if "!%~1!" NEQ "!卸载VHD盘符_临时变量:虚拟备份的文件=!" set "卸载VHD盘符_磁盘类型=1"
if "!%~1!" NEQ "!卸载VHD盘符_临时变量:File Backed Virtual=!" set "卸载VHD盘符_磁盘类型=1"
for /f "tokens=1,2,3,4 delims= " %%a in ( "!卸载VHD盘符_临时变量!" ) do if "*" EQU "%%a" set "卸载VHD盘符_磁盘号=%%c"
goto :eof
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:卸载VHD盘符_002
for /f "tokens=1,2,3,4 delims= " %%a in ( "!%~1!" ) do if "!卸载VHD盘符_磁盘号!" EQU "%%d" set "卸载VHD盘符_VHD文件=!%~1:~56!"
goto :eof
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DiskPart文件命令
rem :DiskPart文件命令 "In_Ptr"    "In_Code" "In_ptr"
rem :参数列表         文件变量名  回调标签  回调参数 "In_ptr" 字符串行变量名
if "" EQU "%~1" goto :eof
if not exist "!%~1!" goto :eof
set "DiskPart文件命令_回调标签=%~2"
if "" NEQ "%~2" if ":" NEQ "!DiskPart文件命令_回调标签:~0,1!" set "DiskPart文件命令_回调标签=:%~2"
for /f "delims=" %%a in ('DiskPart.exe /s "!%~1!"') do (
   if "" NEQ "%%a" if "" NEQ "%~2" (
      if "" EQU "%~3" (
         set "DiskPart文件命令_临时行=%%a"
         call !DiskPart文件命令_回调标签! "DiskPart文件命令_临时行"
      )
      if "" NEQ "%~3" (
         set "%~3=%%a"
         call !DiskPart文件命令_回调标签! "%~3"
      )
   )
   if "" NEQ "%%a" if "" EQU "%~2" echo %%a
   if exist "!%~1!" ( del /f /q !%~1! ) >nul 2>nul
)
if exist "!%~1!" ( del /f /q !%~1! ) >nul 2>nul
goto :eof
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



回复

使用道具 举报

54#
发表于 2024-9-11 13:46:24 | 只看该作者
赞一个!
回复

使用道具 举报

53#
发表于 2024-9-8 09:42:59 | 只看该作者
谢谢分享
回复

使用道具 举报

52#
发表于 2024-8-28 10:23:08 | 只看该作者
方便实用,谢谢!
回复

使用道具 举报

51#
发表于 2024-8-27 16:42:25 | 只看该作者
很实用,谢谢分享~
回复

使用道具 举报

50#
发表于 2024-7-16 22:07:20 | 只看该作者
不错.不过习惯了注册表直接挂载.用完再卸载.
回复

使用道具 举报

49#
发表于 2024-7-1 12:30:07 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

48#
发表于 2024-7-1 12:29:45 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

47#
发表于 2024-7-1 12:29:32 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

46#
发表于 2024-6-28 17:09:23 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

45#
发表于 2024-6-28 17:09:07 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

44#
发表于 2024-6-28 17:08:54 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

43#
发表于 2024-6-28 17:08:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

42#
发表于 2024-6-28 17:08:29 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

41#
发表于 2024-6-28 17:08:16 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

40#
发表于 2024-6-28 17:06:20 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

39#
发表于 2024-6-28 00:13:56 来自手机 | 只看该作者
可以一部到位挂载后直接用修改注册表?
回复

使用道具 举报

38#
发表于 2024-6-26 11:32:50 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

37#
发表于 2024-6-26 11:32:39 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

36#
 楼主| 发表于 2024-6-24 20:18:52 | 只看该作者
xmzhqw 发表于 2024-6-24 19:03
谢谢!我再看看,能不能看懂。
就是不清楚在弹出的选项中随意选择任意一个文件夹,弹出来的都是
\windo ...

那就获取它路径的分区盘符就可以。
回复

使用道具 举报

35#
发表于 2024-6-24 19:03:28 | 只看该作者
窄口牛 发表于 2024-6-24 12:17
离线修改系统注册表。

谢谢!我再看看,能不能看懂。
就是不清楚在弹出的选项中随意选择任意一个文件夹,弹出来的都是
\windows\system32\config\ 中的注册码,要怎样改?改完后是否直接保存在\windows\system32\config\中?

点评

那就获取它路径的分区盘符就可以。  详情 回复 发表于 2024-6-24 20:18
回复

使用道具 举报

34#
发表于 2024-6-24 12:23:24 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

33#
 楼主| 发表于 2024-6-24 12:17:03 来自手机 | 只看该作者
xmzhqw 发表于 2024-6-24 00:29
搞不懂这个有什么用?谁来解释一下?

离线修改系统注册表。

点评

谢谢!我再看看,能不能看懂。 就是不清楚在弹出的选项中随意选择任意一个文件夹,弹出来的都是 \windows\system32\config\ 中的注册码,要怎样改?改完后是否直接保存在\windows\system32\config\中?  详情 回复 发表于 2024-6-24 19:03
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-23 20:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表