切换到宽版
爱科技/爱创意/爱折腾/爱极致;技术知识分享平台,点击进入新版数码之家网站
  • 18676阅读
  • 16回复

优盘启动失败原因分析 [复制链接]

上一主题 下一主题
离线guo4qing
 

发帖
204
M币
626
专家
6
粉丝
23
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2010-12-21
先分清楚两个概念:
1.引导方式 软件层面的东西,有固定规则。如微软的nt5/nt6mbr+ntldr/bootmgr 或grub4dos的mbr+grldr 还有dos 等等都属于引导方式,他们没有兼容性的差别,但是这些引导方式可能和你的主板不兼容,这是主板bios的bug引起的。 不要给我说什么某某启动盘制作工具兼容性好不好之类的话,因为这句话本身就是错误的。
所有的启动盘制作工具 你要是把它用在你的硬盘上,都能启动。
但为什么用在优盘上不能启动呢??? 原因很简单
这涉及到引导方式(每种启动盘制作工具都有一种引导方式)和启动方式的统一性问题。当引导方式和启动方式不一致那么就无法启动。
举个例子吧,微软的xp引导方式nt5的mbr+ntldr
这种引导方式对应的启动方式就是硬盘启动 IDE或ATA或SATA等。。。。
所有的主板给IDE设备的启动标志符都是一致的。
把grub4dos安装到你的系统盘 一般也就是C盘,然后启动grub4dos的命令行,这里我们输入find命令
将列出你的主板bios给启动设备分配的启动标志符
目前grub4dos不支持usb cdrom 所以不会把usb cdrom列出来
可能的启动标志符如下
bios启动标志符    对应启动方式 
(fdx,y)                             fdd/zip                 
(fdx)                                fdd/zip
(hdx,y)                            hdd
(cd)                                 cdrom

上面的x y 代表从0开始的正整数 0,1 ,2 ,3
 插入你的优盘到电脑 然后从硬盘启动grub4dos
输入find
就可以看到上面的列表。
如果你的优盘启动标志符 被识别为(fdx)  但是你做启动盘的方式为usb hdd 那么这样就可能无法启动,因为usb hdd正常引导的前提没了。bios给的启动标志符是fdx 那就说明被识别为软驱/zip磁盘 你做了usb hdd引导 能启动吗?? 当然不能了(也有例外 等下讲到)。
现在大家知道为什么IDE硬盘启动的兼容性那么好了吗?
因为IDE硬盘 bios给的启动标志符 不管是那台电脑 都无一例外是(hdx,y) 这样的  这正是hdd启动需要的前提。
2.启动方式
插入优盘,启动硬盘的grub4dos  命令行 输入find 就能得到你的优盘的启动标志符
如果在你电脑上为(fdx)这种形式  那么你最好做usb fdd/zip方式的启动盘。
如果你的电脑上优盘是(hdx) (hdx,y) 这种形式的话 ,恭喜 你可以做usb hdd启动盘了, 必须用usb hdd引导方式的工具来做 这样就能引导了。 新主板是根据优盘的容量来给启动标志符的  大优盘 一般都做usb hdd启动盘
当然也有变态主板 目前已知主板给优盘启动标志符的机制有三类
1.根据优盘主控来识别 如usb cdrom就属于此列 
xp系统对优盘驱动就是采用根据优盘主控识别机制来的   
2.根据优盘的mbr结构来识别 这种主板我没见到过 非常变态
3.根据容量 我的主板是512M为界 小的话就当fdd认 大于就当hdd处理
比如现在有一个UT165的4G优盘 我们量产单分区 量产为本地盘方式  同时做usb hdd方式引导 给他一个和硬盘一样的引导方式
那么根据上面的三种机制 你认为主板bios会给优盘一个什么样的启动标志符呢?
也就是说大容量的优盘量产本地盘 在做usb hdd引导方式处理
主板都会给你的优盘一个(hdx,y)的启动标志符,这个标志符刚好是和引导方式usb hdd吻合的 ,这样一来那么,启动就不会出错。
兼容性将达到最佳状态。
如果grub4dos find后没找到你的优盘 请确认你的bios设置是否正确,或不支持usb hdd启动 有人发帖说量产本地盘的usb hdd能启动801级别的电脑主板。
usb cdrom启动需要的标志符 为(cd)   这个识别机制为主控识别,如果主控兼容不好,很容易失败。
我就见过吧usb cdrom当usb hdd识别的主板 
况且usb端口本来就是可以扩展性很强的端口,usb接口的设备可能是鼠标 键盘 光驱 打印机 蓝牙 声卡 网卡 等等
可见usb设备的识别标准很复杂,与其让优盘的主控去兼容bios搞的usb设备,真的不会很完美,也不切实际
同时也别指望bios去兼容usb cdrom bios要做的事情主要是和其它硬件层交流。
3.我把优盘量产为本地盘后 用grub4dos看优盘的启动标志位,没发现把优盘识别为(fdx,y) (fdx)这种形式的。
都是无一例外的识别为了(hddX,Y)
说了这么多 大家明白为什么有的启动盘制作工具制作的优盘启动不了你的电脑吧!
原因简述下,
1.bios给的优盘启动标志符和优盘引导方式需要的启动标志符不一致
2.bios设置错误
3.不支持usb启动

4.bios访问优盘扇区方式的不同(CHS/LBA)。或者说你做启动盘的系统如xp 识别优盘扇区方式和bios的访问方式不同,使得启动盘制作工具访问优盘和主板访问优盘方式不同也会失败,但不是启动盘制作工具兼容性不好。 
当bios给的优盘启动标志符和优盘引导方式一致 但是启动还是失败。
那是因为bios识别的优盘   和 你在xp系统下用启动盘制作工具处理的那个优盘磁盘扇区参数不同导致。
举例说明
技嘉8ir2003 主板 xp下优盘识别为1G 拷贝数据也没问题 完全可见
然后 我用硬盘上的dos启动电脑后发现bios识别出来的优盘为a盘 容量是96M
那说明bios识别优盘的扇区和xp系统下识别优盘扇区结构是不同的,
然后我用dos下的format命令格式化了优盘 并dos下为我的优盘做了dos引导 然后拷贝了一个5M的文件到优盘里面。
重启后发现优盘是可以启动的  容量还是96M
但是进入xp系统后发现优盘里面没有任何文件,容量还是1G 但是显示已用空间为96M。
老机器会出现这种问题 哈哈
有的主板似乎chs方式访问扇区 有的主板用lba方式访问优盘扇区。
find命令显示启动标志符和引导方式吻合的人 xp下做启动盘却无法启动的 可以在硬盘上放个dos dos下给优盘做启动引导 这样就没有问题了  不过在其他电脑上就不一定能启动了。
改主板后来我量产了本地盘后 用xp的磁盘管理激活主分区  格式化 放入ntldr 结果启动成功了,容量也正确。
貌似xp用lba访问优盘 那个bios识别的是fd0 用错误的chs访问优盘
好了 也说了这么多了

大家能理解启动盘的基本原理了吧!
下面简单介绍下fbinst这个启动盘制作工具
fbinst的超强兼容性在 xp下识别为可移动磁盘的优盘或 量产本地盘但容量小于512M的优盘上有很明显的体验。
fbinst的引导方式采用了一种奇特的引导代码。
bios默认的启动方式为 软驱 执行第一扇区512字节引导代码启动电脑
                                          硬盘  执行硬盘第一扇区512字节的mbr引导代码,同时启动对应激活分区的512自己的pbr引导代码
但是呢?如下的两种优盘启动时可能被识别为软驱 也可能被识别为硬盘 可能chs参数访问 也可能lba方式访问优盘扇区
导致常规引导方法没法正常读取到512字节的引导代码 从而引导失败
xp下识别为可移动磁盘的优盘或 量产本地盘但容量小于512M的优盘
fbinst的引导代码经过非常精确的计算 使得不管bios把优盘识别为fdd/zip/hdd 还是chs/lba参数访问优盘扇区 ,bios总能被跳转到正确的启动代码位置。 fbinst的引导代码有63个扇区,每个扇区都写入了正确的512字节引导代码,不管bios怎么挑剔变态,bios一定会访问者63个扇区的引导代码,只要访问其中的一个扇区 ,优盘的启动就没有问题了。
这就是fbinst兼容性好的原因。
当然fbinst配合量产为本地盘的优盘 且优盘容量超过512M 最好超过1G 启动兼容性在我看来将是优盘启动方式中最好的一种方案了。
有人反映fbinst做启动盘会让优盘的数据区速度变慢,其实这是个人的处理问题
软件在手 使用合理就可能有不同的结果。
这里简单提下fbinst配合量产本地盘且容量超过1G的优盘 不降速的制作方法。
先用pm给优盘分区  头一个分区给ud的  适当大点就行
分完后把优盘的第一个分区删除,用fb工具格式化,不选强制格式化就好。
希望那些不懂优盘启动原理  老说这个工具垃圾 那个工具没用 还老问问什么不能启动的同学有一个更深入的认识。
至于
做出来的启动盘能不能用来做系统?
那我就要问你了,启动盘做出来搞什么的?
答:启动电脑呀?
启动盘的作用是什么?
答:搞系统维护或重装系统用。
既然如此,
我就告诉你把,
能启动电脑的优盘一定可以装系统。
不管是usb cdrom/usbzip/usb fdd/usb hdd
最后一般都是启动到了pe或dos环境   也有启动到linux环境里面去的。
usb cdrom和usb hdd方式相比 优势早就没有了。
1.usb cdrom需要bios的极大支持  或者优盘主控对bios的极大支持
2.usb cdrom的写保护 做成usb hdd一样可以实现。 smi的分区任意写保护就是一例。 本地盘做成gpt类型分区,支持分区写保护,xp/2003/win7/linux等系统都认可的写保护。这些都是驱动级别的写保护。病毒一般很少搞这些驱动。
搞启动维护 还怕病毒吗?
而且usb hdd 本地盘是完美支持一键ghost到C的  兼容性很好 usb cdrom的驱动让人头痛呀。
而且修改方便,免重新量产。如果量产优盘usb cdrom中途蓝屏 断电   搞的优盘报废 或短接 那就不好玩了。
以后的gpt类型 能做到主板级别的写保护,和优盘cdrom只读 不会差。
我的优盘没有gpt分区类型 但是win7的写保护 我用了半年  也没遇到病毒破坏引导的问题。
呵呵
最大的一点是量产本地盘后 能用于efi主板的维护  可以说是非常完美的一个选择了。



希望大家以后做启动盘启动失败不要老把原因归结为 工具的问题。
我可以明确告诉你,量产大容量优盘为本地盘,这种方式 几乎网上能找到的所有启动盘制作工具处理后都能启动。
如果非量产方式做启动盘 想通杀很多主板 那么用fbinst或许是最好的选择。
当然如果是个人做仅供自己的电脑使用,你还是先用grub4dos判断bios给你的优盘的启动标志符然后选用适合的工具做启动盘。
真想做个铜山所有主板的启动盘 ,几乎就是做梦。
我的经验告诉我,量产本地盘后再搞fbinst 才是目前最完美的启动方式。
呵呵   
 

以上只是一家之言,如果不当,尽管指出来。
希望此帖能把优盘启动的相关理论都引导出来,大家共同学习进步。还有看贴的不要只看正文,也看看回复。好多问题都是在回复里面解决的。再次感谢那些给我拍砖的人,多谢你们让这个帖子充实和完善。


[ 此帖被guo4qing在2010-12-23 11:31重新编辑 ]
本帖最近打赏记录:共2条打赏
离线67203599
发帖
236
M币
903
专家
1
粉丝
12
只看该作者 1楼 发表于: 2010-12-21
请登录后查看
离线jx3118
发帖
70
M币
12
专家
1
粉丝
2
只看该作者 2楼 发表于: 2010-12-21
请登录后查看
离线seikoyuan

发帖
15
M币
2
专家
1
粉丝
0
只看该作者 3楼 发表于: 2010-12-21
请登录后查看
离线f00tman
发帖
479
M币
472
专家
4
粉丝
18
只看该作者 4楼 发表于: 2010-12-21
请登录后查看
本帖最近打赏记录:共1条打赏
离线lzdlaw
发帖
17
M币
67
专家
0
粉丝
1
只看该作者 5楼 发表于: 2010-12-21
请登录后查看
离线653131267

发帖
18895
M币
7922
专家
5
粉丝
1867
只看该作者 6楼 发表于: 2010-12-21
请登录后查看
离线wuwuzz

发帖
1253
M币
2569
专家
45
粉丝
60
只看该作者 7楼 发表于: 2010-12-21
请登录后查看
[ 此帖被wuwuzz在2010-12-21 19:11重新编辑 ]
本帖最近打赏记录:共1条打赏
离线a102135

发帖
39675
M币
14413
专家
183
粉丝
1091
只看该作者 8楼 发表于: 2010-12-21
请登录后查看
离线ytcf
发帖
47
M币
19
专家
1
粉丝
0
只看该作者 9楼 发表于: 2010-12-21
请登录后查看
快速回复
限80 字节
“新手上路”发帖需审核后才能显示(请认真发帖),达到数码9级后取消此限制
 
上一个 下一个