相思爱文 于 2011-04-16 07:33:52发表:
-t auto,支持的文件系统,不加也能自动识别
karl_der_grosse 于 2011-04-15 23:17:19发表:
[i=s] 本帖最后由 karl_der_grosse 于 2011-4-15 23:23 编辑 [/i]我的猜想归纳起来可以说, 如果mount命令无法自动识别.IMG文件挂载点文件系统类型该怎么办 "镜像文件,就是把物理盘保存成文件形式,可以存储和传播。也可以持载后进入读写和修改。"由此我判断.img文件一定有mbr,也就有文件系统标志位。 事实上,通过dd将.IMG文件所包含的全部数据直接写入物理设备可是他可以引导计算机,也就在文件刚开始的位置有mbr,经dd写入了存储设备(0,0,1)的位置 我想通过如下操作 dd if=/dev/null of=/SAVE mount /dev/cdrom /mnt/CDROM dd ibs=450 skip=1 if=/mnt/CDROM/boot/archiso.img| dd bs=1 count=1 of=/SAVE od -x /SAVE 从.img文件的特定位置读取文件标识位 现在说明我这么做的想法:如果mbr起始地址为零,则标准 MBR 分区表规划的起始地址为01BEH(十进制446),第一个分区文件系统标志位位置的偏移量为04H,再把为零的地址看做第1个字节的数据,那么所有的地址加1就得出了该地址所在位置是第几个数据。 那么,第一个分区文件系统标志位位置就是第451个字节的数据。 然后,考虑到拷贝数据时把第451个字节之前的数据跳过(也就一次跳过450字节),再从剩下的位置开始只读一个字节就得到文件系统标志位 参考资料zh.wikipedia.org/wiki/mbr
karl_der_grosse 于 2011-04-15 19:39:09发表:
这只是我的猜想而已,还需验证
zqxwf 于 2011-04-15 15:32:01发表:
学习一下红联
www.saxue.com 于 2011-04-15 12:47:18发表:
不太清楚
karl_der_grosse 于 2011-04-15 12:36:02发表:
这样来对对答案,如何?
karl_der_grosse 于 2011-04-15 12:35:03发表:
[i=s] 本帖最后由 karl_der_grosse 于 2011-4-15 23:04 编辑 [/i]现在说明我这么做的想法:如果mbr起始地址为零,则标准 MBR 分区表规划的起始地址为01BEH(十进制446),第一个分区文件系统标志位位置的偏移量为04H,再把为零的地址看做第1个字节的数据,那么所有的地址加1就得出了该地址所在位置是第几个数据。 那么,第一个分区文件系统标志位位置就是第451个字节的数据。 然后,考虑到拷贝数据时把第451个字节之前的数据跳过(也就一次跳过450字节),再从剩下的位置开始只读一个字节就得到文件系统标志位
karl_der_grosse 于 2011-04-15 12:22:42发表:
[i=s] 本帖最后由 karl_der_grosse 于 2011-4-15 23:22 编辑 [/i]于是我刚才从装有archlinux的硬盘引导启动。 dd if=/dev/null of=/SAVE mount /dev/cdrom /mnt/CDROM dd ibs=450 skip=1 if=/mnt/CDROM/boot/archiso.img| dd bs=1 count=1 of=/SAVE od -x /SAVE 显示 0000000 00e6 0000001 e6对应文件系统类型Storage Dimensions SpeedStor(我不相信这个结果,这种类型不常用) 参考资料http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
karl_der_grosse 于 2011-04-15 12:00:37发表:
"镜像文件,就是把物理盘保存成文件形式,可以存储和传播。 也可以持载后进入读写和修改。"有次我判断.img文件一定有id。
karl_der_grosse 于 2011-04-15 11:51:21发表:
检查0000:7DFEH-0000:7DFFH(MBR的结束标志位)是否等于55AAH,若不等于则转去尝试其他启动设备,如果没有启动设备满足要求则显示"NO ROM BASIC"然后死机。http://zh.wikipedia.org/wiki/MBR
karl_der_grosse 于 2011-04-15 11:50:38发表:
[i=s] 本帖最后由 karl_der_grosse 于 2011-4-15 11:52 编辑 [/i]我有一个疑惑:如果一台硬盘,不能用来引导计算机,只能保存数据,比如一台计算机4个硬盘,一个可引导其他3个不可以,那么这3个硬盘mbr的地址0000h~01B8h的代码不久无效了吗
karl_der_grosse 于 2011-04-15 11:41:45发表:
虚拟设备文件会没有分区类型?
karl_der_grosse 于 2011-04-15 11:29:35发表:
可能有的没有id,比如,有的.IMG文件就无法引导系统就没有MBR有可能就没有id
karl_der_grosse 于 2011-04-15 10:47:28发表:
比如,虚拟设备文件(例如.IMG)能引导计算机会没有ID
karl_der_grosse 于 2011-04-15 10:44:52发表:
通过读iD不就可以分析出来了嘛
karl_der_grosse 于 2011-04-15 10:42:21发表:
我想如果挂载点的特定位置写有ID,为什么有的文件mount时没有指定fstype,就识别不出来了呢
yanyongkg 于 2011-04-15 10:35:37发表:
又见魔方,呵呵
相思爱文 于 2011-04-16 07:33:52发表:
-t auto,支持的文件系统,不加也能自动识别
karl_der_grosse 于 2011-04-15 23:17:19发表:
[i=s] 本帖最后由 karl_der_grosse 于 2011-4-15 23:23 编辑 [/i]
我的猜想归纳起来可以说,
如果mount命令无法自动识别.IMG文件挂载点文件系统类型该怎么办
"镜像文件,就是把物理盘保存成文件形式,可以存储和传播。也可以持载后进入读写和修改。"由此我判断.img文件一定有mbr,也就有文件系统标志位。
事实上,通过dd将.IMG文件所包含的全部数据直接写入物理设备可是他可以引导计算机,也就在文件刚开始的位置有mbr,经dd写入了存储设备(0,0,1)的位置
我想通过如下操作
dd if=/dev/null of=/SAVE
mount /dev/cdrom /mnt/CDROM
dd ibs=450 skip=1 if=/mnt/CDROM/boot/archiso.img| dd bs=1 count=1 of=/SAVE
od -x /SAVE
从.img文件的特定位置读取文件标识位
现在说明我这么做的想法:如果mbr起始地址为零,则标准 MBR 分区表规划的起始地址为01BEH(十进制446),第一个分区文件系统标志位位置的偏移量为04H,再把为零的地址看做第1个字节的数据,那么所有的地址加1就得出了该地址所在位置是第几个数据。
那么,第一个分区文件系统标志位位置就是第451个字节的数据。
然后,考虑到拷贝数据时把第451个字节之前的数据跳过(也就一次跳过450字节),再从剩下的位置开始只读一个字节就得到文件系统标志位
参考资料zh.wikipedia.org/wiki/mbr
karl_der_grosse 于 2011-04-15 19:39:09发表:
这只是我的猜想而已,还需验证
zqxwf 于 2011-04-15 15:32:01发表:
学习一下红联
www.saxue.com 于 2011-04-15 12:47:18发表:
不太清楚
karl_der_grosse 于 2011-04-15 12:36:02发表:
这样来对对答案,如何?
karl_der_grosse 于 2011-04-15 12:35:03发表:
[i=s] 本帖最后由 karl_der_grosse 于 2011-4-15 23:04 编辑 [/i]
现在说明我这么做的想法:如果mbr起始地址为零,则标准 MBR 分区表规划的起始地址为01BEH(十进制446),第一个分区文件系统标志位位置的偏移量为04H,再把为零的地址看做第1个字节的数据,那么所有的地址加1就得出了该地址所在位置是第几个数据。
那么,第一个分区文件系统标志位位置就是第451个字节的数据。
然后,考虑到拷贝数据时把第451个字节之前的数据跳过(也就一次跳过450字节),再从剩下的位置开始只读一个字节就得到文件系统标志位
karl_der_grosse 于 2011-04-15 12:22:42发表:
[i=s] 本帖最后由 karl_der_grosse 于 2011-4-15 23:22 编辑 [/i]
于是我刚才从装有archlinux的硬盘引导启动。
dd if=/dev/null of=/SAVE
mount /dev/cdrom /mnt/CDROM
dd ibs=450 skip=1 if=/mnt/CDROM/boot/archiso.img| dd bs=1 count=1 of=/SAVE
od -x /SAVE
显示
0000000 00e6
0000001
e6对应文件系统类型Storage Dimensions SpeedStor(我不相信这个结果,这种类型不常用)
参考资料http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
karl_der_grosse 于 2011-04-15 12:00:37发表:
"镜像文件,就是把物理盘保存成文件形式,可以存储和传播。
也可以持载后进入读写和修改。"有次我判断.img文件一定有id。
karl_der_grosse 于 2011-04-15 11:51:21发表:
检查0000:7DFEH-0000:7DFFH(MBR的结束标志位)是否等于55AAH,若不等于则转去尝试其他启动设备,如果没有启动设备满足要求则显示"NO ROM BASIC"然后死机。http://zh.wikipedia.org/wiki/MBR
karl_der_grosse 于 2011-04-15 11:50:38发表:
[i=s] 本帖最后由 karl_der_grosse 于 2011-4-15 11:52 编辑 [/i]
我有一个疑惑:如果一台硬盘,不能用来引导计算机,只能保存数据,比如一台计算机4个硬盘,一个可引导其他3个不可以,那么这3个硬盘mbr的地址0000h~01B8h的代码不久无效了吗
karl_der_grosse 于 2011-04-15 11:41:45发表:
虚拟设备文件会没有分区类型?
karl_der_grosse 于 2011-04-15 11:29:35发表:
可能有的没有id,比如,有的.IMG文件就无法引导系统就没有MBR有可能就没有id
karl_der_grosse 于 2011-04-15 10:47:28发表:
比如,虚拟设备文件(例如.IMG)能引导计算机会没有ID
karl_der_grosse 于 2011-04-15 10:44:52发表:
通过读iD不就可以分析出来了嘛
karl_der_grosse 于 2011-04-15 10:42:21发表:
我想如果挂载点的特定位置写有ID,为什么有的文件mount时没有指定fstype,就识别不出来了呢
yanyongkg 于 2011-04-15 10:35:37发表:
又见魔方,呵呵