|
|
以下这个,显然是你的硬盘,因为有如此多的分区:
---------------------------------------------
2.geometry (hd0)
divre 0x80(LBA): C/H/S=185731255163, Sector Count/Size=298375245/512
Partition num: 0, active, Filesystem type is ntfs, Partition type 0x07
Partition num: 4, Filesystem type is ntfs, Partition type 0x07
Partition num: 5, Filesystem type is ntfs, Partition type 0x07
Partition num: 6, Filesystem type is ntfs, Partition type 0x07
Partition num: 7, Filesystem type is ntfs, Partition type 0x07
而这个,显然是 U 盘:
---------------------------------------------
3.geometry (fd0)
drive 0x00(CHS): C/H/S=80/2/9, Sector Count/Size=2880/512
Partition num: 0, active,
Error 25: disk read
Filesystem type is fb, using whole disk
这就到了最关键的时候。老天爷!它竟然与 Roy 先前那个盘一样,每个磁道只有 9 个扇区!
在 grub4dos 中,柱面数 C 值是不能精确获得的,只能通过试验获得。因此,总扇区数也只能通过试验获得。
但 CHS 模式最大的 C 值是 1024。
1024 x 2 x 9 x 512 = 9M
就是说,即便 BIOS 支持最大的 C 值,它也只能够访问 9M。
而假如 BIOS 支持的 C 值较小,比如 C 只有 80 这么大,那么这个 U 盘只能被 BIOS 认出 720K。
因此,当务之急,是确定最大可访问的扇区号。
用 cat 命令吧,这是最快的方法了。- cat --hex (fd0)18000+1
- cat --hex (fd0)16000+1
- cat --hex (fd0)14000+1
- cat --hex (fd0)12000+1
- cat --hex (fd0)10000+1
- cat --hex (fd0)9000+1
- cat --hex (fd0)8000+1
- cat --hex (fd0)7000+1
- cat --hex (fd0)6000+1
- cat --hex (fd0)5000+1
- cat --hex (fd0)4000+1
- cat --hex (fd0)3000+1
- cat --hex (fd0)2000+1
- cat --hex (fd0)1000+1
- cat --hex (fd0)500+1
- cat --hex (fd0)200+1
- cat --hex (fd0)100+1
复制代码 执行以上命令,只要 cat 能够显示数据,这个 cat 命令就是成功的。
cat 显示出的扇区数据,没必要拍照了,因为这些具体的数据不重要,这里不需要它们。只需记录每条 cat 命令究竟是成功了还是失败了。成功时它要显示扇区数据,失败时,它要显示一条出错信息(请贴出出错的信息)。如果死机,那也算是失败的。
以上测试的目的,是找出最大的 N 值,使得能够成功执行,而不是显示一条错误(disk read error 之类的)。
[ 本帖最后由 不点 于 2012-6-11 22:49 编辑 ] |
|