无忧启动论坛

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

[原创] U启兼容性检查工具ubootchk(for tinycore Linux)新版发布

[复制链接]
跳转到指定楼层
1#
发表于 2012-1-5 18:52:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、前言
ubootchk最初运行于XP下,编写Linux版ubootchk的想法,是受不点思想的影响:
Linux是公开透明的,不会象Windows那样过滤、隐藏什么,在Linux下检查,更可信。

目前,ubootchk的Linux版,只实现了运行在tinycore Linux 4.0上,其他Linux
发行版
暂不支持。这是因为tinycore Linux 4.0是不点优选的版本,ubootchk
必须得先考虑它。


二、Linux版的特点
(一)保留XP版本中对USB-ZIP/HDD/CD/DVD BOOT兼容性检查功能;未保留XP版本
中BIOS逻辑CHS测算功能;
(二)
新增:驱动器设备顺序(Lun顺序)检查。现在能够检查出量产/非量产的
DISK或CD是前置还是后置。有些BIOS对设备顺序很敏感,此顺序将严重影响
U启兼容性;
(三)
新增:预测BIOS将把U盘盘号设成00h还是80h功能。也就是有些同学所说的
BIOS把U盘识别为ZIP(DOS下A:>)还是HDD(DOS下C:>)---当然,这种说法对ZIP的
认识不够严谨。
目前的测算,ubootchk还只能根据公开版本的AMI和Phoenix BIOS资料来进行。
不支持其他版本BIOS的测算。
(四)
增强的1.44MB USD-FDD检查。现在能够检测群联、慧荣等主控U盘量产出
的USB-FDD,查出其不兼容性。

三、安装运行
(一)下载安装tinycore Linux V4.0。
见不点帖http://bbs.znpc.net/viewthread.php?tid=6066&;;extra=&page=6  第77楼

(二)下载安装附件中的ubootchk。
1、解压后,将其(\tce)拷贝到U盘根目录,即完成安装。如遇同名文件,应选择覆盖。
2、启动tinycore Linux,进入aterm终端,执行:
   $ sudo su      按回车进入超级用户
   # ./run        执行run脚本,它将打开cxterm中文终端,并执行ubootchk
3、菜单画面



[ 本帖最后由 wuwuzz 于 2012-1-5 18:55 编辑 ]

评分

参与人数 1无忧币 +5 收起 理由
zhczf + 5 赞一个!

查看全部评分

2#
 楼主| 发表于 2012-1-5 18:52:26 | 只看该作者
四、FAQ

(一)ubootchk考察U启的思路,与g4d(或其他引导软件,下同)有何区别
g4d等软件对MBR/PBR十分重视,会使用BIOS INT13普通读/扩展读,但对BIOS
INT13
普通读/扩展读内部如何实现不关注(因为这是BIOS的事)。

而ubootchk是模仿BIOS的检查动作,对U启过程中BIOS关心的项目进行检查。
理论根据
是流出的BIOS源码资料、USB和BIOS INT13相关规范。

对MBR/PBR的重视程度,ubootchk是跟随BIOS的态度的。如果A型BIOS不关注
MBR/PBR的内容,
则ubootchk采用的A型BIOS算法也不关注MBR/PBR的内容;
如果B型BIOS对MBR/PBR只关注部分
内容,则ubootchk采用的B型BIOS算法也
只关注部分内容。


ubootchk对BIOS INT13普通读/扩展读内部如何实现,十分重视。对决定BIOS INT13
普通读/扩展读结果的“总扇区数”、“物理CHS”等参数,花了很大代价来检测。


(二)关于ubootchk的检测结果
ubootchk只是个提供用户界面的外壳程序,真正干活的是Linux SCSI和USB工具包。
ubootchk负责发出标准指令(跟BIOS学的),询问U盘固件一些(BIOS要用的)关键信息。
传递和接收由
Linux SCSI和USB工具包来完成,SCSI和USB工具包给出什么样的结果,
ubootchk就展现给用户什么样的
结果。

(三)关于1.44MB USB-FDD
1、BIOS和Windows对1.44MB USB-FDD的判别规则是不同的。
BIOS比较严格,检查的项目更多--尤其是有些低层固件参数方面的内容。
所以,即使你量产出的USB-FDD被Windows承认了,在BIOS下也不一定被承认。

2、有些同学有这样一个错误认识:我量产的1.44M U盘启动后,DOS下A:>,所以,
就是FDD了。

真正的1.44M USB-FDD在DOS下一定会是A:>,但反过来说,则不成立。

DOS下A:>,只是表明BIOS把你的U盘识别成“移动盘设备(赋予盘号00h)”而不是
“固定盘设备(赋予盘号80h)”了,仅此而已。一些容量超过1.44M的U盘也可以
被识别成A:>。

量产出的FDD是不是1.44M USB-FDD设备,由BIOS内部算法规则说了算。

3、量产FDD时,不要随便改动VID厂商名称。因为Linux USB工具是按照ID库
索引的。如果你改动了,则ubootchk可能索引不到你量产的FDD。当然,如果
你同时修改了Linux USB ID库内容,就不存在问题了。

(四)我量产的多驱U盘,ubootchk检测出的设备Lun顺序,与某些OS理解的不同
Lun顺序,OS怎么认为不重要,重要的是BIOS怎么认为。你需要注意BIOS POST阶段弹出的
动态信息中识别顺序是什么(注意:不是BIOS setup菜单中或F功能键BOOT菜单中的顺序),
然后与ubootchk检测出的顺序对照。


(五) 退格键异常,无法删字符
这应是cxterm的键盘设置问题,因不影响ubootchk正常执行,就没有修正。
遇到这种情况,回车后重新录入,不使用退格键。

(六)ubootchk屏幕信息滚动太快,看不全
1、用鼠标右键点击cxterm中文终端的滚动条向上翻页,左键点击向下翻页;
2、ubootchk会自动生成TXT报告文件,文件名:rpt设备名.txt,可以拷贝到硬盘或U盘。

在Linux下可以直接使用命令或文本编辑程序查看,在windows下则
因为文本格式不同,需要使用诸如wordpad写字板、word等可以自动
转换换行/回车的程序查看。

(七)其他
tinycore支持U盘热插拔。你用装有tinycore的第1个U盘启动后,可以随时插拔第2、3...个U盘,
用ubootchk来检查第1、2、3...个U盘的boot兼容性。

ubootchk.part1.rar (400 KB, 下载次数: 125)
ubootchk.part2.rar (400 KB, 下载次数: 108)
ubootchk.part3.rar (310.87 KB, 下载次数: 97)


[ 本帖最后由 wuwuzz 于 2012-1-5 19:19 编辑 ]
回复

使用道具 举报

3#
发表于 2012-1-6 12:56:13 | 只看该作者
我习惯用手机内存卡加读卡器制作U盘启动盘,使用同一内存卡两个不同的读卡器出现两种不同情况:

A读卡器芯片检测结果:
逻辑盘符:  H:\
PNP设备ID:  VID = 14CD    PID = 8123
设备序列号:  812822222789
设备制造商:  USB 2.0
设备型号(版本):  SD MMC Reader()
输入电流:  100mA

芯片制造商: 奇岩(SuperTop)
芯片型号   : MA8123

B读卡器芯片检测结果:
逻辑盘符:  H:\
PNP设备ID:  VID = 0BDA    PID = 0119
设备序列号:  20090815198100000
设备制造商:  Generic-
设备型号(版本):  SD/MMC(1.00)
输入电流:  500mA

芯片制造商: 瑞昱(Realtek)
芯片型号   : RTS5121/RTS5138/RTS5159

1、一笔记本,BIOS是phoenix的。插入A,能启动,但有点小问题,需设置为一次读取一个扇区,启动才会正常;插入B,能正常从U盘启动。
2、一台联想台式机,BIOS经检测类型是American Megatreds(搜索后说是AMI的)。插入A,能正常从U盘启动;插入B,启动时检测不到U盘,无法启动。

可惜我不会用tinycore,LINUX只用过PUPPY。

[ 本帖最后由 mygamexxx 于 2012-1-6 13:09 编辑 ]
回复

使用道具 举报

4#
 楼主| 发表于 2012-1-6 14:05:09 | 只看该作者
原帖由 mygamexxx 于 2012-1-6 12:56 发表
可惜我不会用tinycore,LINUX只用过PUPPY。


不需要精通tinycore,它只是作为运行平台存在。

安装也很简单,解开tinycore的ISO,将\tce、\boot拷贝到U盘(或其他USB存储设备)
根目录,然后,在grub的menu.lst增加如下启动菜单项

title tinycore
find --set-root /boot/vmlinuz
kernel /boot/vmlinuz quiet lang=zh_CN.UTF-8 noutc tz=GMT-8 showapps
initrd /boot/tinycore.gz /boot/ntfs-3g.gz
---------------------------------------------------------------

我没实际试过读卡器,不过,我估计更难通过U启兼容性检查。

U盘(固件开发)不遵从U启规范的现象都普遍存在,更何况是读卡器。
回复

使用道具 举报

5#
发表于 2016-1-10 08:48:48 来自手机 | 只看该作者
现在却找不到一款合适的tinycore
回复

使用道具 举报

6#
发表于 2016-1-10 11:06:18 | 只看该作者
本帖最后由 baikunlun 于 2016-1-10 17:27 编辑
  1. --------------------------- 存储设备 ------------------------------
  2. [0:0:0:0]    disk    ATA      HITACHI HTS54322 FBEZ  /dev/sda   /dev/sg0    250GB
  3. [11:0:0:0]   disk    SMI      USB DISK         1100  /dev/sdc   /dev/sg1    536MB
  4. [11:0:0:1]   disk    SMI      USB DISK         1100  /dev/sdd   /dev/sg2   7.55GB
  5. ----------------------------------------------------------------------------------
  6. 检查设备顺序(Lun逻辑单元号)。
  7. /dev/sg1 是第1驱(Lun是Lun0),OK!更易被BIOS识别处理。
  8. ----------------------------------------------------------------------------------
  9. 检查/dev/sg1 固件对CHS/LBA的支持情况。
  10. 检查项目:USB:获取总扇区数命令。

  11. (引导软件使用的)BIOS INT13扩展读/普通读将依赖本命令执行结果。

  12. /dev/sg1 固件执行命令成功。结果是:

  13.    总扇区数=1048576 ,扇区大小=512 字节
  14.    容量大小: 536870912 bytes, 512.0 MiB, 0.54 GB
  15. ----------------------------------------------------------------------------------
  16. 检查/dev/sg1 固件对CHS/LBA的支持情况。
  17. 检查项目:USB:获取物理(固件)CHS命令。

  18. 本命令执行结果将参与总扇区数的二次运算。
  19. (引导软件使用的)BIOS INT13普通读/扩展读也将依赖本命令执行结果。

  20. /dev/sg1 固件执行命令成功。


  21.    物理 C=1024 , H=32 , S=32 ,扇区大小=512 字节
  22. ----------------------------------------------------------------------------------
  23. 检查总扇区数(容量)、物理CHS结果。

  24. 物理H不是最优值255。

  25. 物理S不是最优值63。

  26. 容量不是最优值--逼近8G(1k=1024计)/8.4G(1k=1000计)。
  27. 不好控制BIOS CHS转换结果,不能保证不同BIOS下逻辑HS的唯一性,易引发引导失败。
  28. ----------------------------------------------------------------------------------
复制代码


我给8G慧荣量产了2个区,指定了CHS,但还是把512MB的盘检查出了8G信息,是否固件问题,无法解决。。


拼了个tinycore,真是不容易 。。。我把它共享出来吧,想用的伙伴们来下载吧
http://download.csdn.net/detail/baikunlun/9398242
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-27 10:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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