磁盘区号 linux,DOS下确定活动主分区和最后分区的区号和盘符的工具

Ghost自动备份时,活动主分区、最后分区号与盘符的确定思路和批处理

使用了第三方软件minitow(for win)/minito(for dos),软件下载及使用可去dos联盟。

一、windows下解决方案

(一)思路

1,用minitow获得硬盘信息。实例如下:

------------------------------------

N:N DOS WIN PRI/LOG ACT HIDE ID FILE SYSTEM   LABEL    TOTALmb FREEmb

1:1   = C:   C:   PRIMARY YES NO 0B FAT32        NO NAME     7538 3652

1:2   = E:    PRIMARY NO   YES   17 NTFS/HPFS             7467 0

1:3   = F:   D:   LOGICAL NO   NO 07 NTFS/HPFS             10001 7524

1:4   = G:   E:   LOGICAL NO   NO 07 NTFS/HPFS             15005 8483

1:5   = D:   F:   LOGICAL NO   NO 0B FAT32        APPZ        30004 17382

1:6   = H:   G:   LOGICAL NO   NO 07 NTFS/HPFS             44453 19427

------------------------------------

2,对上面的信息进行处理,获得活动主分区,及最后分区和最后分区对应的盘符。

(二)具体方法。

【说明,本人水平有限,相信有更好的处理办法。下面的批处理是正在使用的,正确性应基本没问题。

批处理中的一些代码改造自他人在回答其它问题时的答复。】

dos下的思路相同,处理方法有些不同。

批处理如下。【】为说明。

-------------------------------

@echo off

rem by lianjiang

rem 【获得硬盘参数,保存文件名为hdmini.txt】

tools\minitow /nohp /ifs /p>temp\hdmini.txt

rem 【生成简化的硬盘信息,此部分不是必须,只是由于一些信息个人以为不很重要,去除,新文件为hdmini_1.txt】

setlocal EnableDelayedexpansion

if exist temp\hdmini_1.txt del temp\hdmini_1.txt >nul

For /f "tokens=1 delims=\" %%i In (temp\hdmini.txt) do (

Set var=%%i

call :sub_012

)

endlocal

rem 【读取活动主分区的分区号%act%,最后分区号%lpartition%及最后分区对应的盘符%ldrive%,可用空间%freesize%】

For /f "tokens=1-3" %%i In (temp\hdmini_1.txt) do (

Set lpartition=%%i

Set ldrive=%%j

set freesize=%%k

if %%j.==C:. set act=%%i

)

echo 活动主分区号%act%   最后分区号%lpartition%   最后分区对应的盘符%ldrive%

pause

goto sub_018

:sub_012

rem 【取N:N WIN FREEmb三项数据】

set s1=!%var:~1,3!

set s3=!%var:~12,3!

set s10=!%var:~69,6!

echo %s1% %s3% %s10%>>temp\hdmini_1.txt

goto :eof

:sub_018

rem 【继续其他处理】

----------------

新文件hdmini_b.txt的形式如:

N:N WIN FREEmb

1:1 C:   3652

1:2     0

1:3 D:   7524

1:4 E:   8483

1:5 F:   17382

1:6 G:   19427

=============================

利用DSPTW取活动分区的分区号和盘符

以下是DSPTW产生的磁盘分区列表a.txt:

CODE:

No.   Dr Tag FileSystem     Volume    Act StartPos Sectors MBytes FreeMB

1:1     Pri HIDE_DELL                   63       144522     70

1:2   I: Pri HPFS/NTFS    RECOVERY        145408     20971520 10240   4105

1:3   D: Pri HPFS/NTFS    OS       Yes 21116928 83886080 40960   21514

1:4   C: Log HPFS/NTFS    DATAPART1    105005056   101298176   49462   6122

1:5   E: Log HPFS/NTFS    SOFT          206305280   20480000 10000   2382

1:6   F: Log HPFS/NTFS    BACKUP       226787328   80592896 39352   12603

1:7     Log HIDE_DELL                   307382272   5195776 2537任务:找到YES(活动分区标识)所在行的分区号和盘符,分别赋予变量 a1 和 a2 ,本例的结果应该是 a1=3 , a2=D

要求:用FOR和FINDSTR等自带命令,不要使用第三方工具,输出用echo a1和echo a2,分别只用一行完成。

CODE:

for /f "tokens=2,3 delims=: " %%i in ('findstr /i " Yes " a.txt') do set a1=%%i&set a2=%%j&&call echo %%a1%% %%a2%%以上代码通过测试。

二、DOS下解决方案。

所需工具:minito,strings,ifs

(一)思路与windows下相同。

由于可能要在NTFS分区创建新目录,因此获取的是加载了ifs驱动后的dos下盘符。不创建目录的话,不需要确定最后分区对应的盘符。

示例如下

N:N     : PRI/LOG ACT HIDE ID FILE SYSTEM   LABEL    TOTALmb FREEmb

1:1   = C: PRIMARY YES NO 0B FAT32        WINXP    7538 3619

1:2   = E: PRIMARY NO   YES   17 NTFS/HPFS             7467

1:3   = F: LOGICAL NO   NO 07 NTFS/HPFS             10001

1:4   = G: LOGICAL NO   NO 07 NTFS/HPFS             15005

1:5   = D: LOGICAL NO   NO 0B FAT32        APPZ        30004 17234

1:6   = H: LOGICAL NO   NO 07 NTFS/HPFS             44453

(二)批处理。

@echo off

:mini_BEGIN

if exist mini_dd.txt del mini_dd.txt

minito /nohp /p /ifs>mini_dd.txt

rem 文件行数

strings lines=LINESIZE mini_dd.txt

if %lines%#==0# goto quit

strings lines=add %lines%,1

set line=1

echo 硬盘信息:

:mini

strings line=add %line%,1

if %line%#==%lines%# goto mini_1

strings lined=read mini_dd.txt,%line%

strings row1=left %lined%,3

strings row3=mid %lined%,8,2

strings row5=mid %lined%,19,3

if %row5%#==YES# set actp=%row1%

set lastp=%row1%

set lastd=%row3%

if not %lined%#==# echo %lined%

rem if not %lined%#==# echo %lined%>>hdinfor.ini

rem if %row1%#==N:N# goto mini

rem if %row5%#==YES# goto mini

rem echo %lined%>>hdinforb.ini

goto mini

:mini_1

echo.

echo   请根据上面显示的硬盘信息确认识别结果。

echo.

echo   自动识别结果:

echo    活动分区是%actp%

echo    最后分区是%lastp%

echo    最后分区对应的盘符是%lastd%

echo.

pause

goto exit

:fail

cls

echo.

echo   很抱歉,本工具采用的软件未能获得有效硬盘信息。

echo.

pause

:exit

============================

一键恢复中最后有效分区及活动分区的确定批处理(for DOS)

一键恢复中最后有效分区及活动分区的确定批处理(for DOS)

一键恢复工具中的最主要任务之一,就是确定有效最后分区与活动分区。

下面的批处理中使用了omnifs和gawk,仅供参考。

抛砖引玉。

图1,处理结果   图2,脚本

uid-13830775-id-273271.html

uid-13830775-id-273271.html

========================================

三、在Windows下手动改变盘符后,在DOS下也能正确识别,没问题,下面是测试结果。(虽然在Windows下把E:改成了M:,但在DOS下也能正确识别。)

1,硬盘信息。

N:N DOS WIN PRI/LOG ACT HIDE ID FILE SYSTEM   LABEL    TOTALmb FREEmb

1:1   = C:   C:   PRIMARY YES NO 0B FAT32        NO NAME     7538 3594

1:2   = E:    PRIMARY NO   YES   17 NTFS/HPFS             7467 0

1:3   = F:   D:   LOGICAL NO   NO 07 NTFS/HPFS             10001 7576

1:4   = G:   M:   LOGICAL NO   NO 07 NTFS/HPFS             15005 8530

1:5   = D:   F:   LOGICAL NO   NO 0B FAT32        APPZ        30004 17233

1:6   = H:   G:   LOGICAL NO   NO 07 NTFS/HPFS             44453 19378

2,输出结果:

活动主分区号1:1   最后分区号1:6   最后分区对应的盘符G:

-----------------------------------------------------------------

说明:以上处理方案,不适用于用U盘启动,且启动后u盘盘符为C:的情况(启动后盘符为A:的,仍可使用)。

附上处理方案中用到的工具,包括minitow(for win)/minito(for dos),strings.com。

点击下载判断最后分区的工具 (80.16 KB)

uid-13830775-id-273271.html

多硬盘识别方案:

小咕咚 说:

使用omnifs32或omnifs.exe:

DOS下:

@echo off

omnifs info >disk.txt

或Windows下:

@echo off

omnifs32 info >disk.txt

disk.txt内容为:

Disk: 1 (37.26GB) M:[37.26GB] S:[MPA245Q2HD7GWA]

1.1: (   10.04GB) [C:\] Active Volume NTFS

1.2: (   10.04GB) [D:\] Volume NTFS

1.3: ( 2.01GB) [E:\] Volume NTFS

1.4: ( 5.02GB) [F:\] Volume NTFS

1.5: (   10.13GB) [G:\] Volume NTFS

1.6: (   39.19MB)    Volume FAT32 l:[ACRONIS SZ]

Disk: 2 (13.99GB) M:[13.99GB]

2.1: (     10GB) [J:\] Volume NTFS l:[YD02-01]

2.2: ( 3.98GB)    Hidden Volume FAT32

( 8.89MB) Unused Space

Disk: 3 (125MB) M:[125MB]

3.1: ( 117.63MB) [I:\] Active Volume FAT16

( 7.34MB) Unused Space

Disk: 4 (15.31MB) M:[15.31MB]

4.1: (   15.28MB) [K:\] Volume FAT12 l:[CANON_DC] Removable Drive

Disk: 5 (37.27GB) M:[37.27GB]

5.1: ( 8.03GB) [L:\] Volume NTFS l:[YD01-01Ghost]

5.2: (   12.05GB) [M:\] Volume NTFS l:[YD01-02Softs]

5.3: ( 8.03GB) [O:\] Volume NTFS l:[YD01-04Acronis]

5.4: ( 9.16GB) [N:\] Volume NTFS l:[YD01-03OK]

( 4.46MB) Unused Space

上面列表详细显示[omnifs版本为v11.0.0.1502]:

1、硬盘数量、型号;

2、各个硬盘[含U盘、移动硬盘]的分区数、分区类型、活动性、大小、是否隐藏。

从重定向产生的文本文件disk.txt中如何用批处理判断最后分区、活动分区?

lianjiang 说:

磁盘多不是问题。而是你到底想需要得到什么结果。

首先需要你确认以下信息:

最后分区是:

5.4: ( 9.16GB) [N:\] Volume NTFS l:[YD01-03OK]

活动分区为:

1.1: (   10.04GB) [C:\] Active Volume NTFS

对否?还是只找第一硬盘最后分区?

因为有时最后磁盘的最后分区可能没多大实际意义。

haohaodlam 说:

minito 兼容性不是很好 SATA和ATA混用的情况下ODS下运行死机 (已经加了-NOHP)参数

lianjiang 说:我也发现minito兼容性不佳,已经放弃,gghost中早已改用dspt了。

点击下载DOS磁盘信息工具omnifs

uid-13830775-id-273271.html

点击下载DOS分区信息管理工具dspt

uid-13830775-id-273271.html

以下是老毛桃写的请参考:SET TestFile=Test_%RANDOM%.TMP

SETLOCAL ENABLEDELAYEDEXPANSION

For %%I In (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 (

CD.>%%I:\%TestFile%

CLS&&If Exist %%I:\%TestFile% Set ResultD=%%I:&&DEL %%I:\%TestFile% /Q

)

ECHO 最靠后的可写分区为:%ResultD%

IF EXIST %ResultD%\ghost (

ECHO %ResultD%\ghost 文件(夹)已经存在

) ELSE (

md %ResultD%\ghost\&ATTRib +S +H %ResultD%\ghost

)

ENDLOCAL

PAUSE

lianliang最新处理方案:

利用ghost的ghststat.txt确定活动分区及最后有效分区的方法 [09.06.19]

特点:此方法完全利用ghost自身的信息来进行一键恢复类工具所需的基本信息的处理。

1,用ghost -dd取得硬盘信息。

2,对生成的ghststat.txt进行处理,适用于ghost v8.0~ v11.02。

DOS处理脚本及结果见附图:

uid-13830775-id-273271.html

uid-13830775-id-273271.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1619403.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

(转)Windows7轻松备份--“Windows7一键恢复”简明教程

http://gghost.cn/help/win7gghost/ Windows7轻松备份--“Windows7一键恢复”简明教程1. Windows7一键恢复简介Windows7一键恢复是基于ghost(v11.02)和grub4dos的系统备份和还原工具,具有良好的兼容性和易用性。专为Windows 7量身打造,支持32位及64位系…

安装系统之六 U盘装GHOST WIN7教程

第一步 将准备好的u启动u盘启动盘插在电脑usb接口上,然后重启电脑,在出现开机画面时通过u盘启动快捷键进入到u启动主菜单界面,选择【02】U启动Win8PE标准版(新机器)选项: 第二步: 进入pe系统u…

目标检测算法——YOLOv5/YOLOv7改进结合轻量型Ghost模块

>>>深度学习Tricks&#xff0c;第一时间送达<<< 论文题目&#xff1a;《GhostNet&#xff1a;More Features from Cheap Operations》论文地址&#xff1a; https://arxiv.org/pdf/1911.11907v1.pdf 由于内存和计算资源有限&#xff0c;在嵌入式设备上部署…

[YOLOv7/YOLOv5系列改进NO.44]融入适配GPU的轻量级 G-GhostNet

文章目录 前言一、解决问题二、基本原理三、​添加方法四、总结 前言 作为当前先进的深度学习目标检测算法YOLOv7&#xff0c;已经集合了大量的trick&#xff0c;但是还是有提高和改进的空间&#xff0c;针对具体应用场景下的检测难点&#xff0c;可以不同的改进方法。此后的系…

CV顶刊!IJCV2022:G-GhostNet

GhostNet再升级&#xff0c;GPU上大显身手的G-GhostNet 作者设计出相比C-Ghost更适用于GPU等设备的G-Ghost&#xff0c;在实际延迟与性能之间取得了良好的权衡。Source Code 1、摘要 本文针对网络部署时面临的内存和资源有限的问题&#xff0c;提出两种不同的Ghost模块&#…

免费OCR图像识别文字识别API

免费OCR图像识别文字识别API 一、OCR图像识别文字识别二、使用步骤1、接口2、请求参数3、请求参数示例4、接口 返回示例 三、温馨提示 一、OCR图像识别文字识别 光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;是指对文本资料的图像文件进行分析识别…

nginx-获取客户端IP地址

上有服务器与客户端中间是有nginx代理服务器的&#xff0c;上游服务器如何获取客户端真实ip地址&#xff1f; nginx代理服务器设置X-Forwarded-For的header参数&#xff0c;代理服务器通过remote_addr获取客户端ip地址&#xff0c;将ip地址写入nginx代理服务器的X-Forwarded-Fo…

企业使用CRM如何统一销售流程管理?

销售流程我们可以理解为&#xff0c;销售人员从寻找潜在客户到最终达成交易的一系列步骤。很多企业通过CRM系统来进行销售流程管理&#xff0c;提高销售效率&#xff0c;实现销售目标。下面我们就来说说&#xff0c;CRM如何进行销售流程管理。 制定统一的销售流程&#xff1a;…

Git基本操作(Idea版)

第一次发布项目&#xff08;本地->远程&#xff09; 方式一 通过push的方式推送本地库到远程库&#xff08;远程已创建好仓库&#xff09; 这种方式需要提前创建好仓库。 右键点击项目&#xff0c;可以将当前分支的内容 push 到 GitHub 的远程仓库中。 注意&#xff1a…

推荐两个杀毒软件测试网站

VirScan - 多引擎文件在线检测平台 VirusTotal 软件发布前查一下毒还是很有必要的

vue拖拽div盒子实现上下拖动互换

vue拖拽div盒子实现上下拖动互换 <div v-for"(item, index) in formList" :key"index" draggable"true"dragstart"handleDragStart($event, item)"dragenter"handleDragEnter($event, item)"dragover.prevent"han…

深入理解Reactor模型的原理与应用

1、什么是Reactor模型 Reactor意思是“反应堆”&#xff0c;是一种事件驱动机制。 和普通函数调用的不同之处在于&#xff1a;应用程序不是主动的调用某个 API 完成处理&#xff0c;而是恰恰相反&#xff0c;Reactor逆置了事件处理流程&#xff0c;应用程序需要提供相应的接口并…

继域名解析后------------我的网页进不去了!!!(修复方法)

昨天域名解析之后&#xff0c;今天来公司上班发现公司网页进不去了&#xff0c;好在现在是平台升级维护期间&#xff0c;没什么业务。统计过后&#xff0c;发现有一半的公司员工登录不进去。这一半能登陆上的同事所使用的网络是500M电信宽带&#xff0c;而我们这边登录不上的都…

html打开d盘文件,为什么ie浏览器打不开c/d盘的html文件,直接跳出保存

满意答案 pvgpl 2014.02.05 采纳率&#xff1a;42% 等级&#xff1a;12 已帮助&#xff1a;12615人 清理一下磁盘碎片和系统垃圾。 不行就---------------- 请不要盗用我的答案!! 一号方案(新X) 注意(原创): 1.安全模式下&#xff0c;效果更好! 2. 以下所要使用的软件&#…

手把手教会你|Sockets多用户-服务器数据库编程

网络编程经常涉及数据库访问,电子商务更离不开数据库。例如用户请求股票报价、产品价格查询、网上交易等请求,服务器则需要连接对应的数据库,发送查询指令,得到数据库记录,经过处理后,发送给提出这个请求的用户。 在实际应用中,数据库经常由专门管理数据库的服务器运行。…

股票交易规则

交易时间 股票交易时要遵循 价格优先 时间优先&#xff0c;但如果同价又同时报价&#xff0c;那大单优先 具体交易时间规定&#xff1a; 每周一至周五&#xff0c;每天上午9:30至11:30&#xff0c;下午13:00至15:00&#xff0c;法定假期除外。 A股 上海交易所 集合竞价&#…

股票交易接口有没有提供试用的?

我们做量化交易&#xff0c;是需要使用工具的&#xff0c;因为量化交易交易频率很高&#xff0c;如果人工操作经历有限&#xff0c;一般是无法执行到位的&#xff0c;不过股票交易接口一般都需要收费&#xff0c;而且还不便宜&#xff0c;如果可以试用的话&#xff0c;那一定是…

股票自动委托下单html,股票怎么设置自动挂单?股票挂单的方式

股票怎么设置自动挂单?接下来小编为大家介绍。 股票挂单指在股票交易时把所要买进或卖出的股票的名称、数量、价格填写后提交给交易系统等待成交的过程。 传统网上交易下单&#xff0c;需要①从行情软件切换到委托软件&#xff0c;②输入需要买卖股票的代码&#xff0c;③输入…

基于SpringBoot实现MySQL与Redis的数据一致性

问题场景 在并发场景下&#xff0c;MySQL和Redis之间的数据不一致性可能成为一个突出问题。这种不一致性可能由网络延迟、并发写入冲突以及异常情况处理等因素引起&#xff0c;导致MySQL和Redis中的数据在某些时间点不同步或出现不一致的情况。数据一致性问题的级别可以分为三…

list(介绍与实现)

目录 1. list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modififiers 1.2.6 list的迭代器失效 2. list的模拟实现 2.1 模拟实现list 2.2 list的反向迭代器 1.…