找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5572|回复: 19

cat 命令的奇怪现象!

[复制链接]
发表于 2012-10-22 15:54:00 | 显示全部楼层 |阅读模式
最近用 cat --hex(hd0) +1 此命令行想显示硬盘的第一扇区的内容,发现此扇区显示的内容居然没有活动标识80H。我的计算机mbr是 grub 0.97。grub4dos-0.4.4 装在win7 的启动管理器bcdedit中。grub 0.97 下不支持 cat --hex(hd0) +1  命令。只好在grub4dos-0.4.4中使用 cat --hex(hd0) +1此命令,发现调出的该扇区居然没有活动主分区80h标识,55AA标识是有的。我在想,此命令我用错了?还是调出的内容是主分区第一扇区的内容(pbr)呢? 我的机器win7是主分区(C盘),其余都是扩展分区!
     我恳请高手解释一下!万分感谢!
发表于 2012-10-22 15:57:26 | 显示全部楼层
看到分区表了吗? 有时候活动标志不是必须的.
回复

使用道具 举报

 楼主| 发表于 2012-10-22 16:14:20 | 显示全部楼层
我用winhex已经调出了主分区表,上面有第一主分区的80H标识啊?照你说的mbr不一定有80H标识,那没有活动分区,怎么引导?麻烦你再给解释一下!
回复

使用道具 举报

 楼主| 发表于 2012-10-22 16:25:54 | 显示全部楼层
我用winhex已调出了主分区表,有活动分区80h,照你说的,没有活动分区,怎么引导系统?
回复

使用道具 举报

发表于 2012-10-22 17:30:34 | 显示全部楼层
可能你搞错盘号了,这是经常容易犯错的地方。

cat --hex (hd0)+1
cat --hex (hd1)+1

hd0 有时候是 U 盘,有时候是硬盘。

当 hd0 是 U 盘时,hd1 是硬盘。
回复

使用道具 举报

 楼主| 发表于 2012-10-22 17:39:23 | 显示全部楼层
请教不点先生,grub4dos中MBR分区表中没有80H标识,可以引导系统吗?
回复

使用道具 举报

发表于 2012-10-22 17:45:01 | 显示全部楼层

回复 #6 2012guoguozhi 的帖子

那要看 MBR 的代码是谁的。如果 MBR 中的代码是 grub 的,那么即使没有激活标志也能引导系统。

如果 MBR 是微软的代码,那么似乎必须有激活标志,否则拒绝启动系统。
回复

使用道具 举报

 楼主| 发表于 2012-10-22 17:49:33 | 显示全部楼层
请教不点先生,grub4dos mbr 分区表中没有80h标识,可以启动系统吗?
回复

使用道具 举报

 楼主| 发表于 2012-10-22 17:54:55 | 显示全部楼层

回复 #7 不点 的帖子

这样说来!g4d与微软引导系统的方式不相同!请教g4d中stage1是不是g4d的mbr,而stage2呢?他们共占多少扇区?多谢!
回复

使用道具 举报

发表于 2012-10-22 18:25:24 | 显示全部楼层
grub4dos 不使用 stage1 和 stage2。

取而代之,grub4dos 使用的是 grldr.mbr 的启动方式。

grldr.mbr 有 18 个扇区,即 9K 的大小。

它从 BIOS 那里获得控制权,然后在所有的硬盘分区的根目录下寻找 grldr 并启动 grldr。
回复

使用道具 举报

发表于 2012-10-22 22:15:45 | 显示全部楼层
为什么我在虚拟机里面读取不到硬盘的55AA,在PE下就可以呢?~难道是我的命令有问题,还是虚拟机不可以读取?
问.jpg
回复

使用道具 举报

发表于 2012-10-22 22:17:00 | 显示全部楼层
忘记说明一下了:G4D的版本是今天的,也就是2012-10-22,我用的命令是cat --hex(hd0) +1 ,512

有什么问题吗?楼主是怎么读取到了呢?
回复

使用道具 举报

 楼主| 发表于 2012-10-23 00:34:18 | 显示全部楼层

回复 #10 不点 的帖子

cat --hex(hd0) +1
cat --hex(hd0) +1
这两条命令我都试过了,都调不出硬盘的第一扇区。我是用winhex和RHEL5.5下的dd命令进行验证的,这两种方法的结果完全一致(查看16进制的代码),都可以调出第一扇区。那只能说明cat 的命令有问题!还是我的grub4dos的版本问题?我是在grub4dos-0.4.4-2009-01-11这个版本下用cat命令的,不知我的推断是否真确?
再次说明一下:
我的计算机mbr是 grub 0.97。grub4dos-0.4.4-2009-01-11 是装在win7 的启动管理器bcdedit中。我的机器win7是主分区(C盘),其余都是扩展分区!
回复

使用道具 举报

发表于 2012-10-23 06:16:17 | 显示全部楼层
楼上诸位,恕我直言,grub4dos 是严肃的技术,不是儿戏。
回复

使用道具 举报

发表于 2012-10-23 07:57:44 | 显示全部楼层
请严肃贴图
Snap1.jpg
回复

使用道具 举报

发表于 2012-10-23 14:26:40 | 显示全部楼层
找到原因了 不是什么虚拟机的问题,只是一个空格的问题  
cat --skip=0x100 --hex (hd0)+1
在(hd0)+1之间不能有空格,有空格的话,就会出现我上楼贴图的现象!

[ 本帖最后由 讯极天度 于 2012-10-23 14:38 编辑 ]
解决.jpg
回复

使用道具 举报

 楼主| 发表于 2012-10-23 14:28:44 | 显示全部楼层

回复 #15 zhaohj 的帖子

万分感谢!我会认真总结失败的原因,多谢!
回复

使用道具 举报

发表于 2012-10-23 14:43:27 | 显示全部楼层

回复 #13 2012guoguozhi 的帖子

是你命令错误 你这样写就可以了
cat --hex (hd0)+1
和你的区别在哪里呢?我简单说一下
cat --hex (hd0)+1 【正确】hex (hd0)之间有空格,(hd0)+1不能有空格
cat --hex(hd0) +1 【错误】
回复

使用道具 举报

 楼主| 发表于 2012-10-23 23:41:42 | 显示全部楼层
万分感激!我找到错误原因了。多谢!
回复

使用道具 举报

发表于 2012-10-24 08:24:24 | 显示全部楼层
粗心啊.  楼主,我早就在QQ上跟你说过不能有空格,我单独指出来,你都不上心.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-21 01:02

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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