中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 磁盘扇区读写、分区信息管理工具 Dsptw (2008.11.29 更新)
« [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] ... [38] »
作者:
标题: 磁盘扇区读写、分区信息管理工具 Dsptw (2008.11.29 更新) 上一主题 | 下一主题
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 406 楼』:  

修改分区id后,存在一个卸载后如何回到分区原来状态的问题。
以前也想过给GGhost一键恢复增加一个选项,可选择是否把最后分区改成12的隐藏分区。
后来想想还是放弃了,还是需要隐藏的自己改为好。

(当然可考虑以某种形式保存原分区id的办法。)



Windows 一键还原
http://www.yjhy.com
2008-11-23 18:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
goli2008
中级用户





积分 252
发帖 97
注册 2006-9-17
状态 离线
『第 407 楼』:  



  Quote:
Originally posted by lianjiang2004 at 2008-11-23 18:07:
修改分区id后,存在一个卸载后如何回到分区原来状态的问题。
以前也想过给GGhost一键恢复增加一个选项,可选择是否把最后分区改成12的隐藏分区。 ...

对啊,如何保存(查看)原来的ID?

2008-11-23 19:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 408 楼』:  

一般机子,不是ntfs,就是fat的,问题也不是很大。不过从安全性、兼容性角度必须考虑恢复原样的问题。
可以考虑保存到文件,或者保存到保留扇区的方式。

不知有何更可靠、安全、简单的办法。



Windows 一键还原
http://www.yjhy.com
2008-11-23 20:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 409 楼』:  

下面是把一个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:[CntxCorpHD]
    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)       Diag Hidden Volume NTFS l:[DATA]



Windows 一键还原
http://www.yjhy.com
2008-11-23 21:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 410 楼』:  

这是修改前的结果。

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
2008-11-23 21:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
goli2008
中级用户





积分 252
发帖 97
注册 2006-9-17
状态 离线
『第 411 楼』:  

没错,ID=12有很多好处,文件系统(ntfs/fat32/fat)并没有改变,omnifs识别出也没有任何意义。
就算是id=12,能看出文件系统是ntfs/fat32/fat不是难事,问题的关键在于:
ntfs/fat32/fat还有个隐藏的对应ID,这才是重要的。

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

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


啊,你就是lianjiang大元帅吧,我是歌理,多多指教。

2008-11-24 00:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 412 楼』:  

omnifs识别出也没有任何意义
-----------------------------
其意义就在于不用保存原id,就可以知道原分区格式,以恢复原样。能实现这点的话,还不够吗?呵呵。



Windows 一键还原
http://www.yjhy.com
2008-11-24 09:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
goli2008
中级用户





积分 252
发帖 97
注册 2006-9-17
状态 离线
『第 413 楼』:  



  Quote:
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 ]

附件 1: 20080914_79b1a522feea54028c97cOaR20nZpFOb.jpg (2008-11-24 16:41, 27.03 K,下载次数: 3)


2008-11-24 16:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 414 楼』:  

上图是grub的工具获得的。
另外,dspt似乎是完全根据id来识别的,而不会管到底实际是何种文件系统。

[ Last edited by lianjiang2004 on 2008-11-24 at 18:44 ]



Windows 一键还原
http://www.yjhy.com
2008-11-24 18:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 415 楼』:  

比如,我把最后的ntfs分区的id改为0b, dsptw显示的是fat32,omnifs显示的就是ntfs。



Windows 一键还原
http://www.yjhy.com
2008-11-24 18:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
goli2008
中级用户





积分 252
发帖 97
注册 2006-9-17
状态 离线
『第 416 楼』:  



  Quote:
Originally posted by lianjiang2004 at 2008-11-24 18:59:
比如,我把最后的ntfs分区的id改为0b, dsptw显示的是fat32,omnifs显示的就是ntfs。

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

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

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

2008-11-25 10:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 417 楼』:  



  Quote:
Originally posted by qwe123456 at 2008-11-25 10:57:



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

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

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

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



Windows 一键还原
http://www.yjhy.com
2008-11-25 11:03
查看资料  发短消息 网志   编辑帖子  回复  引用回复
goli2008
中级用户





积分 252
发帖 97
注册 2006-9-17
状态 离线
『第 418 楼』:  

将错就错,如果没有其他办法,可以用下表得到对应的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

2008-11-25 11:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
goli2008
中级用户





积分 252
发帖 97
注册 2006-9-17
状态 离线
『第 419 楼』:  



  Quote:
Originally posted by lianjiang2004 at 2008-11-25 11:03:

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

lianjiang2004,经常看见你,你是网管,不上班或这是你的工作,呵呵,好奇,随便问问。

2008-11-25 11:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
goli2008
中级用户





积分 252
发帖 97
注册 2006-9-17
状态 离线
『第 420 楼』:  

由于碰到dspt不认识的分区时,会给出ID,所以加个参数(或者已有了?),取出ID是非常容易的。

2008-11-25 11:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] ... [38] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: