|
georgema
初级用户
积分 37
发帖 20
注册 2006-3-31
状态 离线
|
|
2008-9-25 12:18 |
|
|
willing
中级用户
积分 256
发帖 133
注册 2008-9-29
状态 离线
|
|
2008-10-2 19:24 |
|
|
leejong
新手上路
积分 2
发帖 1
注册 2008-9-7
状态 离线
|
|
2008-10-3 18:14 |
|
|
x58397313
新手上路
积分 7
发帖 7
注册 2008-9-27
状态 离线
|
|
2008-10-7 00:51 |
|
|
gmy
版主
操作系统爱好者
积分 1113
发帖 392
注册 2002-11-11
状态 离线
|
『第
380 楼』:
建议:关于HDD1作为BIOS首选项引导的问题
当有两块硬盘时,有的BIOS设置为 HDD0 作为第一启动驱动器,有的设置为HDD1 作为 First BOOT 的,前者没有问题,后者就会出问题:
Windows 与 GHOST 显示硬盘号不一致,举个例子:假如硬盘0 和 硬盘1 都有两个分区:
Windows下显示(带 GhostStyle 参数):
1:1 E:
1:2 F:
2:2 C:
2:2 D:
DOS下的GHOST里显示为:
1:1 C:
1:2 D:
2:1 E:
2:2 F:
也就是说,DOS认为,谁引导谁就是老大,不考虑IDE接口顺序。
所以,请楼主增加一层判断,C盘所在的硬盘号如果不是首硬盘则强制显示其为首硬盘。
编辑思路:
这里仅可以考虑最多4块硬盘(因为很少有5块以上的):
当C盘在第1块硬盘时,正常显示。
当C盘在第2块硬盘时,原第1块显示为第2块,原第2块显示为第1块。
当C盘在第3块硬盘时,原第1块显示为第2块,原第2块显示为第3块,原第3块显示为第1块。
当C盘在第4块硬盘时,原第1块显示为第2块,原第2块显示为第3块,原第3块显示为第4块,原第4块显示为第1块。
这样的好处是,1:1 这样的参数 可以在DOS下被直接引用,而不必把2:1转成1:1了。
[ Last edited by gmy on 2008-10-10 at 11:40 ]
|
DOS之家 http://doshome.com 站长 葛明阳 |
|
2008-10-10 11:20 |
|
|
netwinxp
高级用户
积分 741
发帖 366
注册 2007-7-25
状态 离线
|
『第
381 楼』:
启动的硬盘会被BIOS赋予硬盘号80H,所以DOS把它挂接到盘符C:,而WINDOWS则直接按扫描到的顺序分配盘符。从BIOS的角度来看,DOS才是正确的,启动的硬盘安排的硬盘号确实是第一的(尽管它可能是Second Channel Slave)。
另,DELL的隐藏分区好像就DE比较规范,DB就别用了,会和CT DOS冲突。其他隐藏分区有A0:IBM Thinkpad隐藏分区,84:OS/2隐藏C:,93:linux隐藏,1E:VFAT(LBA)隐藏分区,11:FAT12隐藏分区。
[ Last edited by netwinxp on 2008-10-10 at 16:36 ]
|
|
2008-10-10 16:15 |
|
|
19951001
高级用户
流落街头
积分 570
发帖 272
注册 2005-10-17 来自 北京
状态 离线
|
『第
382 楼』:
Quote: | Originally posted by gmy at 2008-10-10 11:20:
当有两块硬盘时,有的BIOS设置为 HDD0 作为第一启动驱动器,有的设置为HDD1 作为 First BOOT 的,前者没有问题,后者就会出问题:
Windows 与 GHOST 显示硬盘号不一致,举个例子:假如硬盘0 和 硬盘1 都有两个分区:
Windows下显示(带 GhostStyle 参数):
1:1 E:
1:2 F:
2:2 C:
2:2 D:
DOS下的GHOST里显示为:
1:1 C:
1:2 D:
2:1 E:
2:2 F:
也就是说,DOS认为,谁引导谁就是老大,不考虑IDE接口顺序。 |
|
这是由于Windows操作系统自身造成,并不是我的程序所造成,我提供一个补丁程序使之能够满足你的要求。
本程序专门用来处理如下命令产生的结果:
dsptw /a /pdr
dsptw /a /pdr /reverse
经处理后结果与Dos下ghost相一致。
用法:
todosghs result.txt
result.txt 来源:
dsptw /a /pdr >result.txt
或者
dsptw /a /pdr /reverse >result.txt
下载地址:
http://upload.cn-dos.net/img/918.rar
|
|
2008-10-11 08:01 |
|
|
lianjiang2004
金牌会员
积分 3946
发帖 1884
注册 2006-1-20
状态 离线
|
|
2008-10-16 15:17 |
|
|
19951001
高级用户
流落街头
积分 570
发帖 272
注册 2005-10-17 来自 北京
状态 离线
|
|
2008-10-17 20:32 |
|
|
lianjiang2004
金牌会员
积分 3946
发帖 1884
注册 2006-1-20
状态 离线
|
|
2008-10-18 07:52 |
|
|
lianjiang2004
金牌会员
积分 3946
发帖 1884
注册 2006-1-20
状态 离线
|
|
2008-10-18 11:22 |
|
|
19951001
高级用户
流落街头
积分 570
发帖 272
注册 2005-10-17 来自 北京
状态 离线
|
『第
387 楼』:
Diskrw for Dos最新测试版本
与原来版本改变
1、增加参数 Offset
此参数用来指定文件内部的偏移位置,默认值为0(文件的开始)
如果给出了Offset的值,但是文件不存在,则给出的Offset值被忽略。
例子:
Diskrw C: 0 10 /S sector.bin 10
将磁盘C:从起始位置开始的10个扇区,写入文件sector.bin。如果文件不存在,则sector.bin的大小为5120个字节,
如果文件存在,如文件大小小于10字节程序会给出错误信息,如果文件大小大于等于10字节,则程序会将扇区内
容写入文件的偏移位置10开始的5120字节中,文件中的原来信息会被覆盖(如文件长度小于5130字节则文件长度
增加)。
DISKRW [Disk] [Start] [Sectors] [/S|/R|/C] [FileName] [Offset]
Disk: 0-First Hard Disk, 1-Second Hard Disk, ...
A:, B:, C:, D: ...
Start: Disk Absolute Sector Number
Sectors: Total Sectors to be Processed
/S: Save Disk Sector Info to File
/R: Restore Disk Sector Info from File
/C: Compare Disk Sector Info with File
FileName: Disk Sector Info File
/Offset: The Offset In FileName
2、增加功能 /M
这个功能在win32版本中早已实现,将磁盘Disk中从位置Start开始的Sectors个扇区内容移动到磁盘DstDisk中Offset
的位置,移动后Disk中相应位置的扇区信息会被清除,如移出扇区和移入扇区位置叠加,程序会智能选择要清除的
扇区部分。
DISKRW [Disk] [Start] [Sectors] [/D|/O|/M] [DstDisk] [Offset]
/D: Duplicate Disk Sector Info from Disk to DstDisk
/O: cOmpare Disk Sector Info with DstDisk
/M: Move Disk Sector Info from Disk to DstDisk
DstDisk: 0-First Hard Disk, 1-Second Hard Disk, ...
A:, B:, C:, D: ...
Offset: Disk Absolute Sector Number
3、增加参数 /Asc
编辑磁盘可以直接使用 ASCII 码,长度不超过16字符。
DISKRW [Disk] [SectorNo] [Offset] [/E] [/Hex|/Asc]:[Value]
SectorNo: Disk Absolute Secotor Number
Offset: Offset in Specified Sector (0..511)
/E: Edit Disk Sector Info
/Hex: Hex Style
/Asc: ASCII Style
Value: Hex_Digital/ASCII String (32/16 Characters Maximum)
4、扇区内部处理命令(只处理单个扇区)
如果Bytes输入0或者输入数据较大(超出扇区边界),则程序处理从Offset开始到扇区结束的字节数
例子:
Diskrw 0 0 446 /b 64 mbr.dat 备份第一硬盘(磁盘0)第一扇区(0扇区)中偏移位置446开始 的64个字节到文件 mbr.dat。(这里备份的就是磁盘MBR中的分区表信息)
DISKRW [Disk] [SectorNo] [Offset] [/B|/V|/U] [Bytes] [FileName]
/B: Backup Disk Sector Info to File
/V: Vertify Disk Sector Info with File
/U: Update Disk Sector Info from File
Bytes: Bytes to Process (0..512)
[ Last edited by 19951001 on 2008-10-29 at 21:02 ]
|
|
2008-10-25 12:36 |
|
|
19951001
高级用户
流落街头
积分 570
发帖 272
注册 2005-10-17 来自 北京
状态 离线
|
『第
388 楼』:
2008.11.11 diskrw程序更新
[ Last edited by 19951001 on 2008-11-11 at 23:31 ]
附件
1: diskrw.rar (2008-11-11 23:31, 25.37 K,下载次数: 317)
|
|
2008-11-1 16:50 |
|
|
19951001
高级用户
流落街头
积分 570
发帖 272
注册 2005-10-17 来自 北京
状态 离线
|
『第
389 楼』:
diskrw for dos 终结版本
这一版本是 Diskrw for Dos的终结版, 如果没有Bug被发现,以后将不在更新。
和上一版本的变化如下
增加命令:
1 扇区内部充填命令
DISKRW [Disk] [SectorNo] [Offset] [/I] [Bytes] [Value] [/Y]
/I: Fill Disk Sector Data with Value
例子:
diskrw 0 10 2 /i 10 5
将磁盘0的第10号扇区的偏移位置2开始的10个字节使用5充填。
如果Value值不输入,默认为0.
如果Bytes输入0, 则Bytes=512-Offset;
2 扇区内部数据复制、移动、比较命令
DISKRW [Disk] [SectNo] [Offset] [/T|/A|/P] [dstDisk] [SectNo] [Offset] [Bytes]
SectNo: Disk Absolute Sector Number
/T: duplicaTe Disk Sector Data from Disk to dstDisk
/A: Move Disk Sector Data from Disk to dstDisk
/P: comPare Disk Sector Data with dstDisk
例子:
diskrw 0 0 446 /T 0 1 446 64
将磁盘0的第0号扇区的偏移位置446 开始的64个字节复制到
磁盘0的第1号扇区的偏移位置446
如果Bytes输入为0, 则 Bytes取源盘和目的盘中Offset到扇区结束的字节数的小值;
如果Bytes的输入值满足 Bytes+Offset >512 即超出一个扇区后,则Bytes=512-Offset,
也就是在任何情况下都不会超出扇区处理。
附件
1: DISKRW.rar (2008-11-13 14:20, 18.42 K,下载次数: 647)
|
|
2008-11-13 14:20 |
|
|
lianjiang2004
金牌会员
积分 3946
发帖 1884
注册 2006-1-20
状态 离线
|
|
2008-11-13 17:56 |
|