无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3402|回复: 9
打印 上一主题 下一主题

G4d 怎么知道 文件 的起始位置

[复制链接]
跳转到指定楼层
1#
发表于 2014-2-15 19:12:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
G4d 怎么知道 文件 的起始位置。
比如 (hd0,0)ABC.IMG 文件的起始位置.

cat  --length=0  只能获得长度。
2#
发表于 2014-2-15 22:15:32 | 只看该作者
blocklist (hd0,0)/abc.img

点评

谢谢 ! 菜单 或 脚本 中 如何 获得 该值。 比如 写到 变量 POS中。需要用来运算。 现只知道 长度: cat --length=0 (hd0,0)/abc.img calc /a len=*0x8290 / 512  详情 回复 发表于 2014-2-17 15:24
回复

使用道具 举报

3#
 楼主| 发表于 2014-2-17 15:24:52 | 只看该作者
本帖最后由 mdyblog 于 2014-2-17 15:45 编辑
chenall 发表于 2014-2-15 22:15
blocklist (hd0,0)/abc.img


谢谢 !
菜单 或 脚本 中 如何 获得 该值。
比如 写到 变量 pos中。需要用来运算。
现只知道 长度:
cat --length=0   (hd0,0)/abc.img
set  /a  len=*0x8290 / 512

有没有类似的方法 获得 位置 到变量 pos
blocklist 的结果 只能 人眼看, 程序不能获得。%?% 对 blocklist  不起作用。

%?% 能不能对绝大部分命令有效。再分析 字串  %?%


能不能这样获得起始扇区位置。
cat --length=-1   (hd0,0)/abc.img

set  /a  len=*0x8290 / 512
此时 *0x8290 返回  起始扇区位置
回复

使用道具 举报

4#
发表于 2014-2-17 16:05:45 | 只看该作者
blocklist (hd0,0)/abc.img | set blk=
再想办法从blk变量中提取.

有时候文件是分散存放的,这里一块哪里一块的.上面的结果就会有很多个块列表.
不过就算你获取到了这个值,又想干什么呢?

我建议你还是直接把你想要实现的功能说出来,论坛里能人众多,免得自己走弯路.

我猜测这个属于典型的X-Y问题.

你想解决X问题,认为Y是解决方法,但是你不知道Y如何实现,所以就去问别人 Y 如何做.

你应该问的是X问题,而不Y问题.

点评

我有一个 磁盘IMG,内有一个分区, 偏移是63扇区。 我需要这个分区在磁盘上的绝对位置, 很多时候需要这个。  详情 回复 发表于 2014-2-17 22:07
回复

使用道具 举报

5#
 楼主| 发表于 2014-2-17 22:07:30 | 只看该作者
本帖最后由 mdyblog 于 2014-2-17 22:25 编辑
chenall 发表于 2014-2-17 16:05
blocklist (hd0,0)/abc.img | set blk=
再想办法从blk变量中提取.


我有一个 磁盘IMG,内有一个分区, 偏移是63扇区。
我需要这个分区在磁盘上的绝对位置,  很多时候需要这个。
好了。
谢谢了!!!
回复

使用道具 举报

6#
发表于 2014-2-18 11:33:55 | 只看该作者
好吧,还是没有说到X问题...

我不知道你到底要这个做什么,只能给你一个提醒,

就如我#4所说的,不是每个文件都是整块存放的,有可能是多块存放,如果你想直接操作这些块需要自己注意,否则可能导致数据丢失.

比如某个文件分为两个数据块存放的,这是如果通过这个起始位置来读写是行不通的.读还好,顶多就是读出来的数据有问题,写入的法就不好说了,很可能写入到其它文件中去了.

点评

谢谢! 技术储备吧。X不确定的。 有时 想到一个点子, 需要 知道 文件的位置 就 能解决 问题。 如 配合 PECMD PART 命令 来在线 处理IMG内的分区。 一般是 blocklist 看看, 再手动 处理。 磁盘变一下。 有来一  详情 回复 发表于 2014-2-18 13:29
回复

使用道具 举报

7#
 楼主| 发表于 2014-2-18 13:29:20 | 只看该作者
chenall 发表于 2014-2-18 11:33
好吧,还是没有说到X问题...

我不知道你到底要这个做什么,只能给你一个提醒,

谢谢!
技术储备吧。X不确定的。
有时 想到一个点子, 需要 知道 文件的位置 就 能解决 问题。 如 配合 PECMD PART 命令 来在线 处理IMG内的分区。
一般是 blocklist 看看, 再手动 处理。
磁盘变一下。 有来一次。 只好宏观上绕过去
总之是个心结。 就想知道怎么 得到 这个 信息。 经常 构思中 想到这点, 卡在这里。

连续存放,这个会提前保证的。

谢谢了!!!! 搞定!
回复

使用道具 举报

8#
发表于 2014-2-18 14:08:31 | 只看该作者
直接map一个iso时,iso内目录结构、文件分配表等元信息并没有保留到内存,需要这些时还是直接从iso而非从内存读取?

点评

grub4dos 太小了, 不会内存缓存这些复杂结构信息。、(WINDOWS LINUX 等OS 会缓存部分) 需要时 直接从ISO提取。 比如 ls 命令。 如果 map /a.ISO (hd32) 再 dd 插除 a.iso ls (hd32)/ 失败。 --mem  详情 回复 发表于 2014-2-18 14:54
回复

使用道具 举报

9#
 楼主| 发表于 2014-2-18 14:54:31 | 只看该作者
pseudo 发表于 2014-2-18 14:08
直接map一个iso时,iso内目录结构、文件分配表等元信息并没有保留到内存,需要这些时还是直接从iso而非从内 ...

grub4dos 太小了, 不会内存缓存这些复杂结构信息。、(WINDOWS LINUX 等OS 会缓存部分)
需要时 直接从ISO提取。
比如 ls 命令。
如果 map   /a.ISO  (hd32)
再 dd   插除 a.iso
ls (hd32)/
失败。
--mem 方式一一样。 存储体是 内存盘。
dd   插除  内存盘, ls (hd32) 也失败。


  
回复

使用道具 举报

10#
发表于 2014-2-18 16:28:47 | 只看该作者
--mem 方式的话,那些元数据就可以设法从内存获取了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-9-22 11:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表