无忧启动论坛

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

来自微软的很好的两篇有关嵌入式技术/USB启动的文章

[复制链接]
跳转到指定楼层
1#
发表于 2007-12-17 16:43:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
http://blogs.msdn.com/ningling/a ... 20/xpe-usb-2-0.aspx
PE USB 2.0启动技术                         这片文章是我在MEDC 2007中国的演讲稿。PPT附在帖子里面。所有的演示的截图都在PPT里面。
首先我们会介绍USB 2.0 BOOT的原理,然后介绍一下USB BOOT的使用场景。
在讲解USB启动的技术之前,我觉得很有必要和大家回顾一下PC启动技术的历史。微软公司从1975年成立开始至今已经有三十多年的历史了。而微软的成长也是和PC产业的发展有着密切的关系。启动的技术是PC技术一个非常重要的部分。x86的芯片加电启动的时候,会到0XFFFF:0000H的地址去第一条指令执行。通常这个地址上面放置的是一个ROM,这个ROM就是我们熟悉的BIOS系统。因为PC行业在开始的时候基本上都是基于软盘作为存储的,所以那时候BIOS执行完对硬件的初始化之后就会执行一个中断,从软盘的0磁头,0磁道,第一扇区(英文叫做Sector)取得指令集执行。一个扇区的大小是512个字节,所以今后也就约定俗成主引导区(也就是MBR)的大小就是512个字节。之后,随着存储技术的发展,PC的存储就渐渐开始转向硬盘了。而软盘在之后的十几年里面,就退化成仅仅用于安装操作系统或这系统恢复时候启动所需要的设备。而在上个世纪90年代出现的光盘技术,就成了软盘的最后杀手,把软盘的功能也完全替代掉了,所以到了新世纪的时候,基本上大家再也看不到软盘了。近几年来,随着移动存储的技术发展,特别是USB为接口的存储技术渐渐成为了主流。而存储介质NAND Flash(就是我们所说的闪存)的容量越来越大,速度越来越快,NAND Flash的主流厂商目前已经可以坐到百兆级的读取,这个和CD-ROM的兆级,DVD-ROM的十兆级有着明显速度上面的优势。并且,NAND的设备通常是固态的集成电路,不像光存储那么容易磨损。另外,基于闪存的存储体积比较小,非常容易携带。而目前对于许多嵌入式的设备来说,USB的接口基本上是标配,但是因为体积和成本的原因就未必带有DVD-ROMCD-ROM。因此在嵌入式领域,甚至是普通PC就对USB启动产生了大量的需求。在最近两年,许多的PC主板厂商顺应这种需求,在BIOSUSB控制器中加入了USB启动的支持,从而奠定了USB启动的硬件基础。然而,除了硬件的支持以外,作为操作系统的软件业需要加入USB的支持才能够让用户实现USB的启动。因为硬件的支持,只是解决了可以读取NAND里面的主引导区信息。但是主引导区的程序也需要支持USB才能够继续从NAND里面读取出后面更大量的程序,因为这么多年来,主引导扇区的技术还一直保留至今,也就是512个字节而已。并且在MBR里面除了引导程序以外,还包括硬盘的分区表等重要的信息。所以需要微软对启动程序进行改造。在之前的几年,USB启动之能够在一些特殊的USB设备,譬如M-System的存储里面实现,其原理是在控制器内放入了模拟硬盘的芯片,把USB设备模拟成硬盘。这种方法只是过渡的方法,所以在新版微软的操作系统Vista里面,我们已经加入了这个技术。而对于嵌入式的XP,我们则是在2007Feature Pack里面也加入了同样的新版启动程序,从而实现了对大多数USB 2.0存储的支持。今天我们多谈论的USB 2.0启动的技术,就是这样一个背景下面的实现方案。UFD的全称是USB FLASH DISK,我们今天最主要的议题就是用USB FLASH DISK来启动一个嵌入式的XP系统。其实对于FLASH技术,USB不是唯一的接口标准,我们在市面上经常会看到其他形态的接口,譬如SD卡,CF卡,这些都是基于Flash的存储,只是和PC的接口标准不一样。但是USB 2.0接口的速度是400M,远远比CF卡和SD卡的十兆级要快的多。另外,USB的接口在PC上面也要比SDCF等接口普遍的多,在价格上面,同样是Sandisk 1G的存储,U盘要比CF卡便宜。所以在嵌入式系统里面,用U盘作为启动要比CF卡更有优势。

所以USB启动的技术可以用于以下的几个方面,首先可以作为主要的存储,把整个系统都运行在UFD的存储上面。第二,可以用U盘作为安装部署和售后服务,譬如可以把整个安装盘放在U盘里面,或者干脆给用户发一个新的U盘作为系统的更新。我在网络上面看过一些技术爱好者写的一些对比文章,他们发现如果把Vista的安装盘放在U盘里面进行安装要比传统的DVD安装方式要快不少。另外,通过USB启动的技术,还可以对设备进行检测分析和解决问题。我们可以通过嵌入式的XP工具定制出一个小型的系统(大约100M左右),然后再这个系统里面加入对设备的检测工具,这样售后维护的技术人员,只带一个U盘就可以对设备进行维护和更新了,并且还可以用U盘对设备的出错记录文件进行copy带回去分析,这样可以大大提高维护的工作效率。

下面,我们具体讲述一下如何去实现这样的一些技术。首先,我们需要把UFD存储进行分区和初始化,然后把主引导程序写到主引导区内。然后我们通过嵌入式XP的技术定制一个操作系统镜像,copyU盘里面进行系统的启动和初始化。在这个过程中,我们会把一些定制时候的经验和大家分享。然后我们会演示U盘启动的过程,最后我们探讨一下一些常见的问题。

首先是准备U盘的阶段。在这个阶段里面,我们会利用微软提供的工具对UFD存储进行分区和初始化。微软在XP SP2Vista里面提供了一个工具叫做DISKPART。如果大家曾经经历过DOS或者是WIN9X时代的话,应该知道那时候,微软作启动盘的工具是fdsikformat。在XP SP2之后的版本里面,我们用DISKPART替代掉了之前的这些工具。而在嵌入式XP里面,微软针对U盘作了一个更方便的工具:UFDPREP

下面我们先做一下DISKPART的演示。然后我们再做一下UFDPREP的演示。在这个演示当中,我用的是一个1GU盘。这个U盘是我在电脑城里面随便选的一个最普通的U盘。

DISKPART是一个命令行的工具,所以我们先进入命令行,然后输入DISKPART。在XP里面,立即就会进入DISKPART的命令行状态。不过在Vista里面,因为会涉及到安全问题,所以Vista会提醒你要有管理员的权限。进入DISKPART的命令行状态之后,我们可以通过list disk查看一下目前在PC上面所有的磁盘。(如果大家对DISKPART的命令不熟悉,可以通过输入HELP指令来获取帮助)。首先需要先选择对那个盘进行操作,我们看到U盘是DISK 1,所以我们select disk 1。然后我们通过“clean”指令清除这个盘的所有记录。这里大家要注意,clean指令可是把U盘的东西都擦掉了,所以如果U盘里面如果有数据的话,需要先备份出来。然后,我们创建一个分区,注意,分区必须是Primary的分区。我这里指定了分区大小是300M,因为我一会儿定义的操作系统也就1百多M,所以300M是足够了。另外,我发现如果把分区设的越大,copy的时间会比较长,所以不需要把整个U盘都用掉。另外,如果你希望能够全部用完U盘的话,我的建议最好保留32M左右的空间作为EWF的分区(EWF技术我下面会讲到)。分区完了之后,我们就可以通过select partition 1选定这个分区(大家也可以通过select partition的指令查看选定的盘上面的分区列表),然后通过Active指令激活这个分区。

分区激活后,开始格式化。格式化需要一段时间。具体的时间长短,决定于你的分区大小。当然,在格式化的时候也可以通过参数的设定把格式化设定为快速格式化。DISKPART缺省的格式化是普通的格式化,而不是快速格式化。在格式化的时候,大家可以选择FAT32的格式还是NTFS的格式,这里我们选用NTFS。最后通过Assign的指令给一个盘符,以便我们copy操作系统镜像。到了这里,准备工作完成,所以我们可以退出了。

下面,我们看看用嵌入式XP的技术对U盘的启动准备。嵌入式XP提供一个UFDPREP的工具,工具的位置在嵌入式XP安装目录下面的utilitites目录,大家可以通过UFDPREP /?来获取帮助。在这里,我们设定了U盘启动盘的大小为300M,(就是/siez=300的参数)。/y的参数是设定系统不必去提醒我“数据会全部丢失”。这个命令其实就是把MBR的数据写入,然后格式化分区。执行完后,U盘就准备好了。大家要注意一点是,有一些U盘如果不兼容的话(或者是USB 1.1U盘),执行的时候是不会出现Formatting的过程的。为了确认U盘的确准备好,可以通过UFDPREP /verify的命令去确认U盘的状态。

U盘准备好后,我们可以开始定制操作系统了。通过嵌入式XPTarget Designer,我们可以选择我们所需要的组件。嵌入式的XP其实就是把XP专业版分为1万多个组件,其中有9000多个组件是驱动程序,其他的就是操作系统的软件。我们只要选择自己所需要的组件就可以了。嵌入式XP也提供硬件平台的分析工具(TAP),以便与大家比较方便的把硬件的驱动程序加入到平台的支持里面。对于一些不在XP9000多个驱动程序支持列表里面的一些特殊硬件设备或者用户自己的程序,譬如检测的软件,维护的软件等,可以通过Component Designer来进行打包,然后通过Component Database Manager把打包好的组件在Target Designer里面显示出来。对于如何定制嵌入式XP,请大家参加我们另外的课程EXP201 Windows Embedded XP技术探讨,或者去做一下HOL206 构建Windows XP Embedded操作系统映像。在这里,我只想说一下对于USB启动所需要的组件,最主要是USB BOOT 2.0的组件,大家必须把这个组件加入到你所定制的操作系统里面。这个组件最主要的功能是在NTLDR程序里面加入对USB 2.0总线和FLASH驱动的支持。完成操作系统定制之后,我们通过Dependency checkBuild Image创建一个定制的XP,最后镜像会输出到一个开发机的目录。然后我们把那个目录里面所有的文件和目录用XCOPY /S拷贝到U盘,这样就生成了一个我们定制的可启动的系统了。

要注意的一点是,如果使用VISTADISKPART准备的U盘,最好是把NTLDR renamebootmgrNTLDR其实是MBR的启动程序调用的第一个程序。在XP里面,MBR的代码会在系统根目录下面寻找NTLDR这个文件,然后开始执行,所以NTLDR是在引导程序后执行的第一个程序。而在Vista里面,现在的版本的MBR代码会寻找NTLDR或者BOOTMGR这两个文件中的一个,但是在今后的版本里面,BOOTMGR会是标准,所以建议大家如果使用VISTADISKPART,最好用BOOTMGR的名字。

在使用USB BOOT里面,有几点需要注意。因为U盘通常都使用闪存作为存储介质。但是闪存是有一定寿命的。一般擦写的次数是30万到100万次左右。超过了这个次数,闪存就会出现坏块,从而影响到系统的稳定性。所以如果我们所设计的设备是用U盘作为主要存储的时候,一定要尽量减少擦写的次数。在嵌入式的XP里面,微软提供了一个叫做EWF的技术,全称叫做Enhanced Write Filter。它可以把所有的擦写操作重定位到指定的Overlay里面,Overlay可以是一个硬盘,也可以是内存,只有管理员发出Commit的指令才把运行时候的更改信息写入到系统硬盘里面。这个技术最初的设计是为了保护系统盘用的。譬如通过EWF技术可以对系统C盘作保护,把所有的写操作都Redirect到内存里面,而数据则通过网络,蓝牙等方式传输到系统外。这样即使有病毒攻击,病毒也不能够存活,只要重起系统,一切恢复原来的状态。对于U盘启动的嵌入式XP系统,为了减少写的次数,我们可以利用EWF的技术把所有些操作都Redirect到内存里面,从而延长U盘使用的寿命,提高系统稳定性。以前的EWF技术是对整个系统盘进行保护,但是应用了一段时间之后,有许多的客户要求微软开放一些指定的目录以便系统可以写入用户的数据,因此在Feature Pack 2007里面,微软还加入了FBWFFile Based Write Filter)的技术,让用户可以封装系统盘,并且开放制定的目录进行写操作。因此大家可以利用这些技术来设计在U盘里面运行的系统。如果大家需要用到EWF或者FBEWF的技术,则在刚才所做的准备U盘的过程中,需要留有大约32M的空间,以便系统创建EWF的分区。

在创建完操作系统后,我们需要在PC上面设置USB的启动。这是我机器上面USB启动设置,最主要的是要把USB设为最先启动的设备。另外,一般的BIOS都会把USB启动做成是模拟软盘或者模拟硬盘(其实就是中断号的不一样)。微软的USB BOOT 2.0的技术是需要大家把USB模拟成硬盘的,这一点需要注意。


虽然USB启动能带来许多的方便的地方,但是他对系统会有一定的要求。并且,运行在U盘里面的嵌入式XP系统也不是万能的,使用这个技术会有一些限制。下面我们就探讨一下这方面的问题。

首先是系统的要求,USB BOOT 2.0的技术要求BIOS必须支持USB 2.0通过0x13H中断启动,也就是硬盘模拟了。另外,要求启动的接口必须是USB 2.0U盘也必须是USB 2.0,因为USB 1.1的速度太慢,会严重影响系统的稳定性。最后一个要求是U盘里面的FLASH必须满足最低的写入速度是不低于9M/s,这样才能保证系统正常运行。(现在的USB2.0U盘大都满足这个要求)。

在使用USB BOOT 2.0的嵌入式XP系统里面,会有一些限制。首先,在目前的版本里面,不支持Standby和休眠的模式,因此不可以使用HORM的技术。不过我们在下一个版本的Feature Pack里面会加入对Standby的支持。另外,因为系统运行在闪存里面,所以我们不支持DUMP,也不会支持换页操作,所以没有Pagefile。因此,如果是一些大型的消耗内存的程序,必须控制其内存使用,或者增加系统的内存。

在嵌入式的XP里面,微软提供了一个Debug版本的NTDECT程序。NTDETEC.comNTLDR启动的时候调用的一个硬盘检测程序。普通的NTDETECT在检测不到可启动硬盘的时候只会报一个invalid的错误。利用Debug版本的检测程序可以把系统检测出来的所有硬盘设备都列出来,以方便大家查错。Debug版本的检测程序就在系统安装光盘的ValueAdd目录下面,名字叫做USBNTD.CHK。只要把这个程序改名为NTDETECT.COM,然后放在U盘根目录下面替代掉原来的NTDETECT.COM就可以了。现在我们把定制好的U盘插入到目标机器上面启动。

下面是用Debug版本的NTDETECT输出结果。

下面是第一次启动时候运行FBAFBA也是微软嵌入式XP的特性之一,最主要的作用是对定制化的操作系进行初始化。在初始化过程中,系统允许执行一些文件。这个特性最主要的目的是因为对于设备厂商而言,定植好的操作系统需要大量的复制到也许是成千上万台的目标机器上面。但是如果大家都是同样一个IMAGE,那么类似序列号,网卡地址等每台机器不一样的信息就不能够写到机器上面,需要人工更改。所以微软提供了一个FBA(全称叫做First Boot Agent)的程序,里面可以设定一些Script或者程序,从而产生序列号,MAC地址等每台机器特性化的信息。FBA的过程正如其名字一样,只会执行一次,因此在之后的启动就直接执行系统代码了。
       
                        Published Wednesday, June 20, 2007 4:02 PM                by                ningling                

                       
Attachment(s): EXP313Ning Ling.ppt                                                       


第二篇:http://www.microsoft.com/taiwan/whdc/device/storage/usb-boot.mspx
Recommendations for Booting Windows from USB Storage Devices更新日期: 2004 年 8 月 23 日
This paper provides information about booting the Microsoft Windowsfamily of operating systems from Universal Serial Bus (USB) storagedevices. It provides guidelines for BIOS vendors, IHVs, and OEMs towork together to create USB boot enabled products.

本頁內容
Introduction
Scenarios for Booting from USB Storage Devices
Windows Requirements for Boot Devices
Requirements and Recommendations for BIOS Manufacturers
Recommendations for Motherboard Manufacturers and OEMs
Requirements and Recommendations for USB Storage Devices
Windows Logo Program Issues
Call to Action and Resources
IntroductionThe USB Mass Storage Working Group is preparing a specification onbooting USB devices to enable booting from USB within the industry.Boot from USB has become a highly requested feature. Both USB flashdrive (UFD) and USB CD-ROM drives are in a position to pave the way ofnew booting features on USB. Enabling users to boot from UFD and USBCD-ROM requires industry-wide cooperation to ensure good userexperiences with these devices.
The most interesting applications for booting from a USB device focuson operating system deployment, system recovery, and systemmaintenance. Key scenarios, listed below, are explored later in thisdocument:
Operating system installation/deployment scenario
Floppy disk drive replacement
System diagnostics tools
Disk duplication/manipulation (for example, partitioning and formatting utilities)
Current versions of Windows should not be installed to USB hard diskdrives because Windows does not support USB hard disk drives as theprimary boot device. This paper introduces the expected industryparticipation related to the following:
Key scenarios for booting off a USB storage device
Windows requirements on boot devices.
Requirements and recommendations for various industry partners
BIOS manufactures
System builders for home/business PCs.
UFD manufacturers (IHVs)
The information in this paper is intended for x86 BIOS vendors, IHVs,and OEMs to encourage cooperation in creating USB-boot-enabled productsfor the Microsoft Windows family of operating systems
回到頁首
Scenarios for Booting from USB Storage DevicesUSB Flash DrivesTo date, Microsoft has received many requests for boot support for theUSB flash drive (UFD). Many OEMs and IHVs have designated UFDs as thenext replacement for floppy disk drives, but some in the industry arenot ready to declare UFDs a true floppy disk drive replacements untilthe drives can boot an operating system like floppy disk drives today.Given the faster data transfers, higher capacities, and othertechnological gains of UFDs, many in the industry believe that theability to boot to an operating system would truly allow the industryto move from floppy disk drives to UFDs.
The capacities of UFDs are growing rapidly. Within a few years, theywill surpass the storage capabilities of CD-ROMs as the price per MBcontinues to decline. UFDs can be used like fast, light, removable harddrives, and the user scenarios that are the most interesting, beyondfloppy disk drive alternatives, come from the possibility of creatingalternative methods of booting a computer for deployment and recoverypurposes.
Plugging in a UFD to add another bootable disk allows for easyoperating system deployment, recovery, and the ability to run diskmanipulation utilities that cannot or should not be run from the diskor partitions they are manipulating. Some of the compelling scenariosto boot off UFD are explained in detail below.
Operating system installation/deployment scenario- Mobile platforms or low-profile desktop systems may ship withoutembedded floppy disk drives. Having a bootable UFD with an OEMpre-installation environment dramatically simplifies the task of OSinstallation. This is a valuable scenario for the OEM and for corporateIT administrators or the home consumer seeking to deploy or redeploy anoperating system.
System diagnostic tools- IT managers may need to run system utilities on a machine withoutstarting the operating system, or to recover a system with anon-starting operating system. For systems that do not have a bootablefloppy/CDROM and lack Preboot eXecution Environment (PXE) bootability,booting off UFDs is both compelling and simple. IT managers can alsocarry their system diagnostic tools on a 512 MB UFD and perform theirtests easily. This is a valuable scenario for corporate consumers orthe home consumer seeking to recover data from a non-bootable system.
Disk duplication/manipulation/verification- Disk partitioning and formatting utilities need to run beforeoperating system startup or from another operating system. It ispossible to boot off a UFD that also contains partitioning utilities orother diagnostic utilities. It is also possible to include a viruschecker on a read-only UFD for disk verification purposes. This is avaluable scenario for the OEM and for corporate consumers or the homeconsumer seeking to configure or reinstall the operating system fordeployment or recovery.
CD-ROM DrivesUSB is an acceptable storage bus for CD-ROM drives. Currently, many USBCD-ROM drives are targeted as external attachments for laptops that arevaluable because of their small form factors. In the future, CD-ROMdrives may take advantage of USB inside the case to create constantconnections much like AT Attachment (ATA) is used today or as SerialATA (SATA) may be used in the future.
The natural scenario for booting from a USB CD-ROM drive will still befor initiating operating system setup. Operating system recovery wouldalso be an expected use, for instance for the Windows Recovery Consoleused from a USB CD-ROM drive.
回到頁首
Windows Requirements for Boot Devices The best thing about adding another bootable bus to Windows is thatmanufacturers can take advantage of much of the existing Windows bootprocess. As long as a new device looks and behaves like existingdevices while NT Loader loads the system, new devices can be made towork like old devices. The goal for booting Windows from a USB deviceis to use as much of the existing Windows boot process with as littlechange as possible.
This paper focuses solely on booting from hard disk drives and CD-ROMdrives for recovery and deployment purposes. Windows as it exists todayis currently not optimized to run as an installed operating system fromUSB attached mass-storage or CD.
The USB Mass Storage support consists of storage protocols over USBthat enable USB hard disk drives and USB CD-ROM drives. All storagedevices that are to be boot devices for Windows should behave like oneof those two categories to take advantage of the existing boot process.DVD-ROM drives fit into the category of CD-ROM drives for the purposeof this document.
BIOS must support INT 13hDuring the boot process, Windows assumes that support for communicatingwith the boot device, either hard disk drive or CD-ROM drive, ispresent in INT 13h when Windows loads because the NT Loader uses callsto INT 13h to access the disk. INT 13h support must comply with the"BIOS Enhanced Disk Drive Services - 2" specification and the "USB MassStorage Specification for Bootability," The newer specification isconsidered the authority if the two specifications contradict eachother.
Accurate drive numbering by BIOSWindows also requires that the assignment of drive numbers follows"Compaq Phoenix Intel BIOS Boot Specification version 1.01." Hard diskdrives should begin numbering at 80h and CD-ROM drives should beginnumbering at 82h, as in the past.
In this paper, the remainder of the requirements, along withrecommendations for component manufacturers, has been organized by thedifferent components that play a part in booting.
回到頁首
Requirements and Recommendations for BIOS ManufacturersIt should be no surprise that the Windows boot requirements on BIOSesfor current buses extends to USB. BIOS support for USB hard drives andUSB CD-ROM must comply with the "Compaq Phoenix Intel BIOS BootSpecification version 1.01" as hard drives and CD-ROM drives on otherbuses do today.
New requirements come from the USB Mass Storage Working Group which iscurrently working on a specification to standardize booting from USBstorage devices called the "USB Mass Storage Specification forBootability". At the time of this writing, this specification iscurrently at revision 0.8. Additionally, when it is published it willhave an appendix that illustrates INT 13h support and should befollowed.
Additionally the USB Mass Storage Working Group has constricted theControl/Bulk/Interrupt (CBI) Transport to only apply to floppy diskdrives. BIOSes should simplify their designs by supporting only theBulk-Only Transport (BOT) as CBI can not be used for hard drives andCDs.
An interesting task around BIOS support for booting from USB is therealm of user experience. The goal for adding BIOS support for bootingfrom USB should be to maintain an end user experience that is the sameas today?s experience. It is tempting to make USB boot devices separatefrom devices supported today, but keep in mind users boot from devicesand not from busses.
The recommendations about displaying boot device options made insection 1.4 of the "El Torito Bootable CD-ROM Format Specification"Version 1.0, which USB BIOS support for bootable CDs must comply with,still holds true. The option to boot from a USB CD-ROM should not beseparate from booting from a CD-ROM on another bus. Likewise harddrives should be grouped together so that the option to boot from a USBhard drive is not separate from booting from a hard drive on anotherbus.
Although other busses can be used for booting, the consideration ofadding boot support on USB is unique because USB is commonlyimplemented in chipsets making it the second bootable bus on a chipset.BIOS manufacturers have a great opportunity to leverage their work inthe BIOS to extend the methods used to boot from ATA controllers to USBcontrollers. Like ATA, the BIOS should support booting from all USBports on the chipset.
ATA connectors are designed to only be within the case, and USBconnectors are often considered to be external, but they are notlimited to external only. Although USB CD-ROM drives are generallyexternal devices today, USB CD-ROM drive may be used as the primaryCD-ROM drive in a system that does not have an ATA connection for aCD-ROM drive.
回到頁首
Recommendations for Motherboard Manufacturers and OEMs Recommendations for motherboard implementations focus on placing USB connectors on a motherboard.
USB has the potential to be useful for some types of common storagedevices like CD-ROM drives. Motherboard manufacturers, like BIOSmanufacturers, should plan to design motherboards that have internalUSB connectors for storage.
BIOS support for booting from USB storage devices is only required toenumerate devices that are at least 2 hubs deep. This should be aconsideration when using USB hubs on the motherboard to create moreports. Users will not be aware of the hub on motherboard and USBdevices that do not boot because of unseen hubs may cause usersconfusion.
Finally, external USB connectors that can be used to boot should beplaced in an easy to reach location such as on the front fascia of adesktop or server computer system, or on the left or right side of alaptop. It should as easy for a user to access as CD-ROM drives andfloppy disk drives are today.
回到頁首
Requirements and Recommendations for USB Storage DevicesThe USB Mass Storage Working Group is also looking into in the nearfuture at a specialized USB logo for storage. Manufacturers arestrongly encouraged to ensure that all storage devices comply withthese tests when they are ready. However, it should be noted thatpassing all USB Storage logo requirements will not guarantee that adevice will qualify to receive a "Designed for Windows" logo.
Additionally the USB Mass Storage Working Group has limited theapplication of Control/Bulk/Interrupt (CBI) Transport to floppy diskdrives only. It is recommended that no new USB devices using the CBITransport be implemented. BOT should be used instead.
Hard disk drives shouldn't report themselves as removable media drivesbecause Windows will not put a page file on a removable media device.The only storage devices that should report themselves as removablemedia devices are those devices that are capable of ejecting mediawhile the drive stays connected to the system. USB hard disk drives andUFD drives should report themselves as fixed disk drives or removabledisk drives.
Finally, for speed benefits, it is recommended that USB devices support USB 2.0.
回到頁首
Windows Logo Program IssuesNew USB storage devices that only support Control/Bulk/Interrupt Transport will not be given logos.
BIOSes that support booting from USB storage devices shall enumerate devices at least 2 hubs deep.
回到頁首
Call to Action and ResourcesFor BIOS manufacturers:
Make booting USB devices transparent to the user
No additional key sequences
Same user experience as booting from any other bus
Support booting as defined in the following specs
"BIOS Enhanced Disk Drive Services - 2"
"USB Mass Storage Specification for Bootability"
"El Torito Bootable CD-ROM Format Specification"
"Compaq Phoenix Intel BIOS Boot Specification"
Support BOT
All USB ports should be bootable
For motherboard manufacturers:
Prepare for when USB may be used as a static bootable storage connector within the case.
Place at least one USB port on the front of Desktop PCs.
Place at least one USB port on the left or right side of mobile PCs.
For USB storage device manufacturers:
Secure USB Mass Storage logos when they become available
Don't use Control/Bulk/Interrupt Transport
CD-ROM drives should identify themselves as removable media devices;hard disk drives should identify themselves as fixed drives orremovable drives.
USB storage devices should be Hi-Speed USB 2.0.
For more information about booting from USB storage devices...
Questions about booting from USB storage devices can be sent to usbstor@microsoft.com
Questions specific to UFDs (that is, operating system support) can be sent to ufdboot@microsoft.com
Resources:
BIOS Enhanced Disk Drive Services - 2 http://www.incits.org
USB Mass Storage Specification for Bootability http://www.usb.org/home
El Torito Bootable CD-ROM Format Specification
http://www.phoenix.com/en/Customer+Services/White+Papers-Specs/pc+industry+specifications.htm
Compaq Phoenix Intel BIOS Boot Specification
http://www.phoenix.com/en/Customer+Services/White+Papers-Specs/pc+industry+specifications.htm
2#
发表于 2007-12-17 17:41:08 | 只看该作者
太深奥了,看不太懂。以后可能有用。感谢分享
回复

使用道具 举报

3#
发表于 2007-12-17 18:08:50 | 只看该作者
似乎在embedded区有过类似内容,就是关于usb启动xpe的。
回复

使用道具 举报

4#
发表于 2007-12-17 18:55:32 | 只看该作者
看看学习学习,不错支持
回复

使用道具 举报

5#
发表于 2007-12-17 19:30:28 | 只看该作者
深奥啊,头晕,眼花!
回复

使用道具 举报

6#
发表于 2007-12-17 20:02:59 | 只看该作者
辛苦推荐,谢谢发贴!
回复

使用道具 举报

7#
发表于 2007-12-17 20:58:57 | 只看该作者
好文章!仔细看看。。。。
回复

使用道具 举报

8#
发表于 2007-12-17 22:13:27 | 只看该作者
。。。。讲的太麻烦了,没个分段 格式什么的
回复

使用道具 举报

9#
发表于 2007-12-17 22:23:28 | 只看该作者
其实就是一个CMD的DISKPART命令。
回复

使用道具 举报

10#
发表于 2007-12-18 00:04:29 | 只看该作者
先顶再看,好文章...
回复

使用道具 举报

11#
发表于 2007-12-18 01:39:38 | 只看该作者
留意下面一段 ,  哪個有方法可以找個被 USB BOOT 2.0 組件加了 USB 2.0 總線支持 的 ntldr .  或許可以試試能否為一些中古底版 USB 啟動 PE 時加快速度 ?

U盘准备好后,我们可以开始定制操作系统了。通过嵌入式XP的Target Designer,我们可以选择我们所需要的组件。嵌入式的XP其实就是把XP专业版分为1万多个组件,其中有9000多个组件是驱动程序,其他的就是操作系统的软件。我们只要选择自己所需要的组件就可以了。嵌入式XP也提供硬件平台的分析工具(TAP),以便与大家比较方便的把硬件的驱动程序加入到平台的支持里面。对于一些不在XP那9000多个驱动程序支持列表里面的一些特殊硬件设备或者用户自己的程序,譬如检测的软件,维护的软件等,可以通过Component Designer来进行打包,然后通过Component Database Manager把打包好的组件在Target Designer里面显示出来。对于如何定制嵌入式XP,请大家参加我们另外的课程EXP201 Windows Embedded XP技术探讨,或者去做一下HOL206 构建Windows XP Embedded操作系统映像。在这里,我只想说一下对于USB启动所需要的组件,最主要是USB BOOT 2.0的组件,大家必须把这个组件加入到你所定制的操作系统里面。这个组件最主要的功能是在NTLDR程序里面加入对USB 2.0总线和FLASH驱动的支持。完成操作系统定制之后,我们通过Dependency check和Build Image创建一个定制的XP,最后镜像会输出到一个开发机的目录。然后我们把那个目录里面所有的文件和目录用XCOPY /S拷贝到U盘,这样就生成了一个我们定制的可启动的系统了。
回复

使用道具 举报

12#
发表于 2007-12-18 08:20:07 | 只看该作者
好好学习,谢谢分享!
回复

使用道具 举报

13#
发表于 2007-12-18 09:46:53 | 只看该作者
原帖由 adatsui 于 2007-12-18 01:39 AM 发表
留意下面一段 ,  哪個有方法可以找個被 USB BOOT 2.0 組件加了 USB 2.0 總線支持 的 ntldr .  或許可以試試能否為一些中古底版 USB 啟動 PE 時加快速度 ?

U盘准备好后,我们可以开始定制操作系统了。通过嵌入 ...

记得xp embedded里面有好几个ntldr,应该有一个就是你想要的。
回复

使用道具 举报

14#
发表于 2007-12-18 15:59:23 | 只看该作者
看看学习学习,支持一下。
回复

使用道具 举报

15#
发表于 2007-12-18 21:25:36 | 只看该作者
原帖由 fujianabc 于 2007-12-18 09:46 AM 发表

记得xp embedded里面有好几个ntldr,应该有一个就是你想要的。


不懂 embedded , 也沒有,  哪位放個 具 usb2.0 總線支持的 ntldr  ..
回复

使用道具 举报

16#
发表于 2007-12-19 01:29:20 | 只看该作者
做个记号 谢谢分享....
回复

使用道具 举报

17#
发表于 2007-12-21 12:43:48 | 只看该作者
原帖由 adatsui 于 2007-12-18 09:25 PM 发表


不懂 embedded , 也沒有,  哪位放個 具 usb2.0 總線支持的 ntldr  ..


不知哪个大大能上传一个这样的ntldr来分享?
回复

使用道具 举报

18#
发表于 2007-12-21 16:45:17 | 只看该作者
看看学习学习,不错支持,就是深奥
回复

使用道具 举报

19#
发表于 2008-5-21 10:10:03 | 只看该作者
很有用的技术文章,打个印先。现在对XPE的兴趣越来越浓了。
回复

使用道具 举报

20#
发表于 2008-5-22 13:51:35 | 只看该作者
慢慢学习!!!!!!!!!!!!!
回复

使用道具 举报

21#
发表于 2008-5-22 18:17:44 | 只看该作者
很好,就是不知道量产后的剩余空间能不能分成两个区。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-5 05:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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