中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-06 18:09
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 磁盘扇区读写、分区信息管理工具 Dsptw (2008.11.29 更新) 查看 113,225 回复 565
406 发表于 2008-11-23 18:07 ·  中国 安徽 马鞍山 联通
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
修改分区id后,存在一个卸载后如何回到分区原来状态的问题。
以前也想过给GGhost一键恢复增加一个选项,可选择是否把最后分区改成12的隐藏分区。
后来想想还是放弃了,还是需要隐藏的自己改为好。

(当然可考虑以某种形式保存原分区id的办法。)
Windows 一键还原
http://www.yjhy.com
407 发表于 2008-11-23 19:42 ·  中国 广西 河池 电信
中级用户
★★
积分 252
发帖 97
注册 2006-09-17 12:00
19年会员
UID 62869
性别 男
状态 离线
Originally posted by lianjiang2004 at 2008-11-23 18:07:
修改分区id后,存在一个卸载后如何回到分区原来状态的问题。
以前也想过给GGhost一键恢复增加一个选项,可选择是否把最后分区改成12的隐藏分区。 ...


对啊,如何保存(查看)原来的ID?
408 发表于 2008-11-23 20:15 ·  中国 安徽 马鞍山 联通
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
一般机子,不是ntfs,就是fat的,问题也不是很大。不过从安全性、兼容性角度必须考虑恢复原样的问题。
可以考虑保存到文件,或者保存到保留扇区的方式。

不知有何更可靠、安全、简单的办法。
Windows 一键还原
http://www.yjhy.com
409 发表于 2008-11-23 21:40 ·  中国 安徽 马鞍山 联通
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
下面是把一个ntfs分区改成12后,不同工具的识别结果。
dsptw只是显示为标准的Log HIDE_FAT,
而omnifs则能准确显示出原分区的格式。
当然不同工具,功能不同,不可如此简单比较。
----------------------------------------------------------
No. Dr Tag FileSystem Volume Act StartPos Sectors MBytes FreeMB
1 C: Pri Win95_FAT32 WINXP Yes 63 3807342 1859 770
2 Pri Hide_FAT16 3807405 289170 141
3 D: Log Win95_FAT32 PRO 4096638 385497 188 94
4 Log HIDE_FAT 4482198 2056257 1004

Disk: 1 (16GB) M:
1.1: ( 1.82GB) Active Volume FAT32 l:
1.2: ( 141.20MB) Hidden Volume FAT16 l:
1.3: ( 188.23MB) Volume FAT32 l:
1.4: (1004.03MB) Diag Hidden Volume NTFS l:
Windows 一键还原
http://www.yjhy.com
410 发表于 2008-11-23 21:42 ·  中国 安徽 马鞍山 联通
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
这是修改前的结果。

No. Dr Tag FileSystem Volume Act StartPos Sectors MBytes FreeMB
1:1 C: Pri Win95_FAT32 WINXP Yes 63 3807342 1859 769
1:2 Pri Hide_FAT16 3807405 289170 141
1:3 D: Log Win95_FAT32 PRO 4096638 385497 188 100
1:4 E: Log HPFS/NTFS DATA 4482198 2056257 1004 540

1.1: ( 1.82GB) [C:\] Active Volume FAT32 l:[WINXP]
1.2: ( 141.20MB) Hidden Volume FAT16 l:[DOS]
1.3: ( 188.23MB) [D:\] Volume FAT32 l:[PRO]
1.4: (1004.03MB) [E:\] Volume NTFS l:[DATA]
Windows 一键还原
http://www.yjhy.com
411 发表于 2008-11-24 00:28 ·  中国 广西 桂林 电信
中级用户
★★
积分 252
发帖 97
注册 2006-09-17 12:00
19年会员
UID 62869
性别 男
状态 离线
没错,ID=12有很多好处,文件系统(ntfs/fat32/fat)并没有改变,omnifs识别出也没有任何意义。
就算是id=12,能看出文件系统是ntfs/fat32/fat不是难事,问题的关键在于:
ntfs/fat32/fat还有个隐藏的对应ID,这才是重要的。

按说,能写ID,就应能读出ID,19951001应该知道这个参数(说实在话,changetype这个参数我是找不到的),等他来吧。

如能读出原来的ID,一切问题就迎刃而解!


啊,你就是lianjiang大元帅吧,我是歌理,多多指教。
412 发表于 2008-11-24 09:45 ·  中国 安徽 马鞍山 联通
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
omnifs识别出也没有任何意义
-----------------------------
其意义就在于不用保存原id,就可以知道原分区格式,以恢复原样。能实现这点的话,还不够吗?呵呵。
Windows 一键还原
http://www.yjhy.com
413 发表于 2008-11-24 16:21 ·  中国 广西 河池 电信
中级用户
★★
积分 252
发帖 97
注册 2006-09-17 12:00
19年会员
UID 62869
性别 男
状态 离线
Originally posted by lianjiang2004 at 2008-11-24 09:45:
omnifs识别出也没有任何意义
-----------------------------
其意义就在于不用保存原id,就可以知道原分区格式,以恢复原样。能实现这点的话,还不够吗?呵呵。


我这么理解:分区ID与文件系统(所说的分区格式)应该是不同的,即不管分区ID是什么,其文件系统(如NTFS)都 不会变,除非重新格式化,对于NTFS而言,有多种的ID分区与其对应,最简单的就是隐藏与非隐藏之分,(此外通过实际应用发现,Vista格式的NTFS与XP下的NTFS也不完全一样,证明是同样在DOS下,对两种系统的NTFS识别率不一样)

所以,保存或识别分区ID是有必要的,而omnifs所识别的文件系统很多软件都能做(dspt稍做修改也应能识别),例如XP就能正确识别。

请问,此图用什么 软件得到的?

[ Last edited by qwe123456 on 2008-11-24 at 16:42 ]
附件
20080914_79b1a522feea54028c97cOaR20nZpFOb.jpg
414 发表于 2008-11-24 18:41 ·  中国 安徽 马鞍山 联通
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
上图是grub的工具获得的。
另外,dspt似乎是完全根据id来识别的,而不会管到底实际是何种文件系统。

[ Last edited by lianjiang2004 on 2008-11-24 at 18:44 ]
Windows 一键还原
http://www.yjhy.com
415 发表于 2008-11-24 18:59 ·  中国 安徽 马鞍山 联通
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
比如,我把最后的ntfs分区的id改为0b, dsptw显示的是fat32,omnifs显示的就是ntfs。
Windows 一键还原
http://www.yjhy.com
416 发表于 2008-11-25 10:57 ·  中国 广西 河池 电信
中级用户
★★
积分 252
发帖 97
注册 2006-09-17 12:00
19年会员
UID 62869
性别 男
状态 离线
Originally posted by lianjiang2004 at 2008-11-24 18:59:
比如,我把最后的ntfs分区的id改为0b, dsptw显示的是fat32,omnifs显示的就是ntfs。



我试了,的确如此。
看来DSPT是要改进一下,ID与文件系统要分别提取、识别 。

另外GRUB提取的ID好象在WINDOWS无法使用,且给出的分区号与实际不对应。

等 楼主来吧,看他能否取出分区ID。
417 发表于 2008-11-25 11:03 ·  中国 安徽 马鞍山 联通
金牌会员
★★★★
积分 3,946
发帖 1,884
注册 2006-01-20 13:00
20年会员
UID 49283
性别 男
状态 离线
Originally posted by qwe123456 at 2008-11-25 10:57:



我试了,的确如此。
看来DSPT是要改进一下,ID与文件系统要分别提取、识别 。

另外GRUB提取的ID好象在WINDOWS无法使用,且给出的分区号与实际不对应。

等 楼主来吧,看他能否取出分区ID。

grub给出的是grub本身的硬盘分区识别号。要转换才能变为一般意义的分区号。
Windows 一键还原
http://www.yjhy.com
418 发表于 2008-11-25 11:27 ·  中国 广西 河池 电信
中级用户
★★
积分 252
发帖 97
注册 2006-09-17 12:00
19年会员
UID 62869
性别 男
状态 离线
将错就错,如果没有其他办法,可以用下表得到对应的ID,
对于win而言方,仅需fat/fat16/fat32/ntfs及其对应的隐藏ID即可,共4个+“hide",

虽然这不是很准确,但也应该能够保存原来的ID了。
楼主这家伙跑哪 去了?

ID 分区类型
0x01 DOS_FAT12
0x05 Extended
0x04 DOS_FAT16
0x06 DOS_FAT16
0x07 HPFS/NTFS
0x0b Win95_FAT32
0x0c Win95_FAT32
0x0e Win95_FAT16
0x0f Extended_LBA
0x82 Linux_Swap
0x83 Linux_Native
0x85 Linux_Extended
0x11 Hide_FAT12
0x14 Hide_FAT16
0x16 Hide_FAT16
0x17 Hide_HPFS/NTFS
0x27 Hide_HPFS/NTFS
0x1b Hide_FAT32
0x1c Hide_FAT32
0x1e Hide_FAT16
0x42 Dynamic_Disk
0x93 Hide_Linux
0xd7 HIDE_DELL
0xdd HIDE_DELL
0xdb HIDE_DELL
x0de HIDE_DELL
0x12 HIDE_FAT
0xbc ATI_SEC_ZONE
0xa5 FreeBSD
419 发表于 2008-11-25 11:29 ·  中国 广西 河池 电信
中级用户
★★
积分 252
发帖 97
注册 2006-09-17 12:00
19年会员
UID 62869
性别 男
状态 离线
Originally posted by lianjiang2004 at 2008-11-25 11:03:

grub给出的是grub本身的硬盘分区识别号。要转换才能变为一般意义的分区号。


lianjiang2004,经常看见你,你是网管,不上班或这是你的工作,呵呵,好奇,随便问问。
420 发表于 2008-11-25 11:44 ·  中国 广西 河池 电信
中级用户
★★
积分 252
发帖 97
注册 2006-09-17 12:00
19年会员
UID 62869
性别 男
状态 离线
由于碰到dspt不认识的分区时,会给出ID,所以加个参数(或者已有了?),取出ID是非常容易的。
论坛跳转: