CN103502933B - 将引导动态地重定向到另一个操作*** - Google Patents

将引导动态地重定向到另一个操作*** Download PDF

Info

Publication number
CN103502933B
CN103502933B CN201180070650.8A CN201180070650A CN103502933B CN 103502933 B CN103502933 B CN 103502933B CN 201180070650 A CN201180070650 A CN 201180070650A CN 103502933 B CN103502933 B CN 103502933B
Authority
CN
China
Prior art keywords
memory apparatus
guiding
portable memory
equipment
calculating equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201180070650.8A
Other languages
English (en)
Other versions
CN103502933A (zh
Inventor
T.A.芬克
S.T.埃岑赫菲尔
P.谢
S.帕特尔
I.罗森伯格
A.R.帕多尔
E.D.沃克
J.A.小施瓦茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN103502933A publication Critical patent/CN103502933A/zh
Application granted granted Critical
Publication of CN103502933B publication Critical patent/CN103502933B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

各个实施例提供了这样的能力,在检测到有便携式存储设备存在时利用存储在该便携式存储设备上的操作***自动引导计算设备。计算设备可以被配置成在检测到便携式存储设备时从该便携式存储设备动态引导,并且在没有检测到便携式存储设备时回复到其相关联的引导模块中的已编程引导顺序。在一些实施例中,所述操作***被完全封装在便携式存储设备上,比如所述操作***与初始地引导计算设备的操作***完全分离。

Description

将引导动态地重定向到另一个操作***
背景技术
现今,计算设备典型地使用操作***作为控制与其相关联的硬件的交互以及为应用提供对于资源的简化访问的基本方式。举例来说,操作***可以被用来管理存储器分配,管理硬件输入/输出,分配处理器利用、提供服务、应用以及其他形式的访问。软件应用依赖于由操作***提供和/或管理的特征以便所述应用工作。结果是,针对一个操作***编写的应用可能无法在不经修改的情况下在第二个操作***上运行。此外,应用的销售商可能选择不支持多个操作***,从而在用户选择运行特定应用的情况下把该用户局限到特定的操作***。在一些情况下,用户可以在操作***之间进行切换以便在应用之间进行切换。
为了适应多个操作***,计算设备可以被配置成引导多于一个的操作***。例如当计算设备正在引导时,用户可以人工干预并且改变计算设备“指望”用于引导和/或操作***信息的地方。不同的销售商常常可以提供用于计算设备的引导代码。结果是,用户能够如何进入和改变每一个计算设备的引导代码可以随销售商的不同而不同,从而使得用户修改计算设备的引导方式所需的知识更加繁杂。
发明内容
提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的构思的选择。本发明内容并非意图标识出所要求保护的主题的关键特征或实质特征,也并非意图被用来限制所要求保护的主题的范围。
各个实施例提供了这样的能力,在检测到有便携式存储设备存在时利用存储在该便携式存储设备上的操作***自动引导计算设备。在一些实施例中,所述操作***被完全封装在便携式存储设备上。替换地或附加地,当检测到没有便携式存储设备存在时,计算设备可以回复到其相关联的引导模块中的已编程引导顺序。
附图说明
遍及附图,相同的编号被用于涉及相似的特征。
图1示出了其中可以根据一个或更多个实施例采用这里所描述的各种原理的操作环境。
图2是描述根据一个或更多个实施例的方法中的步骤的流程图。
图3是描述根据一个或更多个实施例的方法中的步骤的流程图。
图4是描述根据一个或更多个实施例的方法中的步骤的流程图。
图5是描述根据一个或更多个实施例的方法中的步骤的流程图。
图6示出了可以被用来实施一个或更多个实施例的示例***。
具体实施方式
总览
各个实施例提供了这样的能力,在检测到有便携式存储设备存在时利用存储在该便携式存储设备上的操作***自动引导计算设备。计算设备可以被配置成在检测到便携式存储设备时从该便携式存储设备动态地引导,并且在没有检测到便携式存储设备时回复到其相关联的引导模块中的已编程引导顺序。在一些实施例中,所述操作***被完全封装在便携式存储设备上,比如所述操作***与初始地引导计算设备的操作***完全分离。
在后面的讨论中提供了标题为“操作环境”的章节,该章节描述了可以在其中采用一个或更多个实施例的一种环境。此后,标题为“传统基本输入/输出***(BIOS)引导”的章节描述了根据一个或更多个实施例在传统引导***中动态地重定向计算设备的引导。此后,标题为“统一可扩展固件接口(UEFI)引导”的章节描述了根据一个或更多个实施例动态地重定向支持UEFI的计算设备的引导。最后,标题为“示例***”的章节描述了可以被利用来实施一个或更多个实施例的示例***。
已经提供了将在后面描述的各个实施例的总览,现在考虑可以在其中实施一个或更多个实施例的示例操作环境。
操作环境
图1总体上在100处示出了根据一个或更多个实施例的操作环境。环境100包括计算设备102,计算设备102具有一个或更多个处理器104、一个或更多个计算机可读存储介质106以及驻留在计算机可读存储介质上并且可由处理器执行的一个或更多个操作***(108)。作为举例而非限制,所述计算机可读存储介质可以包括典型地与计算设备相关联的所有形式的易失性和非易失性存储器和/或存储介质。这样的介质可以包括ROM、RAM、闪存、硬盘、可移除介质等等。后面在图6中示出并描述计算设备的一个具体实例。
此外,计算设备102包括PC引导模块110。PC引导模块110代表被配置成允许引导计算设备102和/或加载相关联的操作***(比如操作***108)的任何形式的软件、硬件、固件和/或其任意组合。在一些实施例中,PC引导模块110可以包括被配置成允许引导计算设备的各种形式的平台固件,比如基本输入/输出***(BIOS)代码、统一可扩展固件接口(UEFI)可访问固件代码等等。替换地或附加地,PC引导模块110可以被配置成允许计算设备102的线性引导顺序,正如后面将进一步描述的那样。
计算设备102还包括引导重定向模块112。引导重定向模块112代表被配置成检测连接到计算设备102的便携式存储设备(比如便携式存储设备114)的存在的软件、硬件、固件和/或其任意组合。便携式存储设备可以通过任何适当方式连接到计算设备102,比如经由线缆、直接***到计算设备中、无线连接等等。引导重定向模块112还可以被配置成允许把计算设备102的引导动态地重定向到驻留在便携式存储设备上的操作***,正如后面将进一步描述的那样。虽然引导重定向模块112被示为单个模块,但是应当认识到并且理解的是,其可以被实施为一个模块、分开的模块或者其任意组合。
在图1的实例中,便携式存储设备114被示为通用串行总线(USB)存储器存储设备。但是应当认识到并且理解的是,在不背离所要求保护的主题的精神的情况下可以使用任何适当的便携式存储设备,后面将提供其实例。便携式存储设备114可以被配置成附着在计算设备102上、从计算设备102分离和/或允许与计算设备102进行数据交换。
便携式存储设备114包括计算机可读存储介质116。作为举例而非限制,计算机可读存储介质116可以包括典型地与计算设备相关联的所有形式的易失性和非易失性存储器和/或存储介质,前面提供了其实例。计算机可读存储介质116包括操作***118,操作***118可以与在计算设备102上包括的操作***108相同或不同。
作为举例而非限制,计算设备102可以被具体实现为任何适当的计算设备,比如桌面型计算机、便携式计算机、例如个人数字助理(PDA)之类的手持式计算机、蜂窝电话等等。
已经描述了实例操作环境,现在根据一个或更多个实施例考虑如何利用传统引导代码动态地重定向计算设备的引导的讨论。
传统基本输入 / 输出***( BIOS )引导
现今,计算机可以被人工配置成从若干类型的存储设备运行应用,比如包含操作***的存储设备。举例来说,如果用户知道如何访问和修改计算机的BIOS配置和/或设置,则该用户可以对计算机所指望的用于操作***引导的存储设备的顺序进行人工地重新编程。在这种特定情形中,计算机保持自己所指望的从其引导的存储设备的线性顺序,比如总是首先搜索CD ROM驱动器,然后其次搜索硬盘。在一些实施例中,所述线性顺序可以表明对应于每一个引导设备的相对优先级。直到BIOS被重新编程和/或修改为止,计算机的线性引导顺序都保持相同。在不知道如何访问相关联的BIOS设置的情况下,如果没有在计算机上安装新的操作***,则用户仍然不能修改计算机的引导顺序,并且在某种程度上,不能修改计算机可能引导的操作***。
各个实施例提供了在检测到有便携式存储设备存在时利用存储在该便携式存储设备上的操作***自动引导计算设备的能力。举例来说,可以把包含可引导操作***的USB存储器设备附着到计算设备上。计算设备可以被配置成确定便携式存储设备存在(比如确定便携式存储设备连接到计算设备),识别出包含在便携式存储设备上的可引导操作***,并且将其引导顺序动态地重定向到便携式存储设备。可以使用任何适当的便携式存储设备,比如便携式CD ROM设备、便携式闪存卡、外部硬盘、USB存储器存储设备等等。在一些实施例中,存储在便携式存储设备上的操作***可以被完全封装在该便携式存储设备上。举例来说,包含在便携式存储设备上的操作***可以与计算设备内部的任何操作***完全分离和/或独立。
从便携式存储设备动态地引导允许计算设备在检测到便携式存储设备时从该便携式存储设备引导,并且在没有检测到便携式存储设备时按照其已编程线性顺序引导。举例来说,当没有检测到便携式存储设备时,计算设备可以按照在其相关联的引导模块中编程的顺序来引导,比如从存储设备“A”开始,随后是存储设备“B”,等等。但是当检测到存在便携式存储设备时,计算设备可以不按照其引导模块中所编程的内容来办,而是从该便携式存储设备引导。这可以在没有来自用户的人工干预的情况下实现,例如无需用户人工修改计算设备的引导代码。便携式存储设备可以不同于在计算设备的线性引导顺序中规定的存储设备。举例来说,便携式存储设备可以是与前面的实例中描述的存储设备“A”和“B”类型不同的存储设备。
在一些实施例中,将引导动态地重定向到便携式存储设备可以被选择性地启用和禁用。举例来说,一些操作***或设备可以包括允许用户启用和/或禁用引导的动态重定向的软件和/或应用。在一些实施例中,动态重定向引导功能可以具有默认值“被启用”,而在其他实施例中,该功能则可以具有默认值“被禁用”。当动态引导重定向被启用时,计算设备可以在检测到存在便携式存储设备时将引导动态地重定向到该便携式存储设备。当动态引导重定向被禁用时,计算设备按照在其相关联的引导模块中所编程的那样引导,而不管是否检测到有便携式存储设备存在。
在某些情况下,启用/禁用的软件和/或应用一般可以是可由所有用户访问的,而在其他情况下,所述软件可以被限定于具有规定特权的用户。
在操作中,可以如下在一个或更多个实施例中实施动态引导功能。最初,可以生成和/或修改文件以包括反映出相应计算设备的动态引导重定向的状态的信息,比如引导的动态重定向是否被启用和/或被禁用。可以按照任何适当方式来配置所述文件,比如安全文件、文本文件、二进制文件、可公开访问的文件或者其任意组合。在一些实施例中,可以通过除文件之外的其他形式来提供动态引导功能,例如通过配置设定、分区表、元数据等形式。替换地或附加地,可以生成和/或配置诸如触发文件之类的附加文件以把计算设备指引到包含启用/禁用信息的文件。在一些实施例中,可以通过用户访问应用来动态地生成和/或更新触发文件,从而启用相应计算设备的动态引导重定向。在其他实施例中,可以在将内部操作***安装在计算设备上的期间安装触发文件。
例如考虑图2,该图示出了描述根据一个或更多个实施例的方法中的步骤的流程图。具体来说,图2示出了利用经过修改的传统引导处理的计算设备的动态重定向引导的一个实例。
在传统引导环境中,计算设备可以在通电时使用例如BIOS之类的固件来初始化并识别与该计算设备相关联的各种设备。典型地,用户可以通过执行销售商定义的键击以访问BIOS设置,来修改如何配置BIOS。响应于BIOS完成自己的计算设备初始化部分,步骤202将控制转移到主引导记录。主引导记录可以被存储在任何类型的存储设备上。更典型地,主引导记录被存储在由BIOS所支持和/或辨识出的存储设备上。主引导记录常常是已分区存储设备的第一个扇区,并且包括由计算设备利用来激活例如操作***之类的一项或更多项应用的更加详细的信息。主引导记录还可以例如通过包含分区表而包括描述盘如何被分区的信息。
步骤204转移到卷引导扇区。卷引导扇区可以包括可以由主引导记录间接调用的附加软件和/或应用。在一些实施例中,卷引导扇区可以包括图1的引导重定向模块112的部分和/或全部。
步骤206确定动态重定向引导是否被启用。这可以通过任何适当的方式来实现,比如基于标志的设定、触发文件的存在、从文件提取出的信息等等。例如在一些实施例中,计算设备可以首先确定是否存在触发文件,如果触发文件存在,则处理第二文件以获得按照前面所讨论的那样表明动态引导重定向功能的状态(例如被启用/被禁用)的信息。如果确定动态重定向引导未被启用,比如确定触发文件不存在和/或第二文件中的信息表明被禁用状态,则计算设备继续到步骤208,并且引导计算设备的内部操作***(OS)和/或由相关联的引导模块所指引的OS。替换地,如果确定动态重定向引导被启用,比如通过确定触发文件存在和/或第二文件中的信息表明被启用状态,则计算设备继续到步骤210。
步骤210确定是否有另一个可引导存储设备存在,比如包含可引导操作***的便携式存储设备。可以按照任何适当方式来施行这一步骤。例如可以把固件配置成查询对应于所附着设备的所支持的总线类型,并且等待设备响应。在一些实施例中,所述固件可以被配置成首先确定预设的引导顺序(比如首先是USB、随后是硬盘等等),列举第一分类(在前例中是USB)中的所有设备,随后扫描分区记录和/或活动分区(例如可引导分区)的存在。如果确定不存在另一个其他可引导存储设备,则计算设备继续到步骤208。替换地,如果确定存在另一个可引导存储设备,则在一个或更多个实施例中,计算设备继续到步骤212。
步骤212确定所述可引导存储设备是否处在被允许列表上。例如在一些实施例中,计算设备可以处理一个文件和/或列表,所述文件和/或列表包括与该计算设备被允许从其引导的可引导存储设备相关联的信息,并且在一些实施例中,所述文件和/或列表包括与该计算设备不被允许从其引导的可引导存储设备相关联的信息。如果确定所述可引导存储设备不是可允许的可引导存储设备,则计算设备继续到步骤208。替换地,如果所述可引导存储设备被确定是可允许的存储设备并且/或者被包括在所述被允许列表上,则计算设备继续到步骤214。可以利用确定可允许存储设备的任何适当方式,比如通过包括标识出一个或更多个可允许设备的信息的列表、包括标识出一个或更多个不被允许设备的信息的列表、或者其任意组合。在一些实施例中,用户可以编辑和/或管理所述可允许和/或不被允许设备的列表。
步骤214把控制转移到与所述可引导存储设备相关联的主引导记录。例如可以把控制从卷引导扇区转移到与存储在可引导存储设备上的OS相关联的主引导记录。响应于控制被转移到与可引导存储设备相关联的主引导记录,步骤216引导存储在可引导存储设备上的便携式OS。
考虑图3,该图是描述根据一个或更多个实施例的方法中的步骤的流程图。所述方法可以由任何适当的硬件、软件、固件或其组合施行。在至少一些实施例中,所述方法的方面由在计算设备上执行的适当配置的软件施行,比如图1的引导重定向模块112。
步骤300确定是否存在被配置成启用计算设备的动态重定向引导的触发文件。响应于确定存在触发文件,步骤302确定是否把计算设备的引导动态地重定向到便携式存储设备。这可以通过任何适当的方式来确定,前面提供了其实例。在一些实施例中,这可以基于便携式存储设备的存在,动态引导重定向是否被启用/被禁用,在便携式存储设备上是否存在可引导操作***,便携式存储设备是否被确定为被允许设备,或者其任意组合。
响应于确定不存在触发文件,步骤304按照在相关联的引导模块中所规定的那样引导计算设备,比如通过如前面所讨论的那样引导在相关联的BIOS中所编程的线性引导序列。
已经考虑了根据一个或更多个实施例的传统引导支持,现在根据一个或更多个实施例考虑在统一可扩展固件接口的情境中的动态引导重定向的讨论。
统一可扩展固件接口( UEFI )引导
当使用BIOS来引导计算设备时,BIOS典型地施行其初始化并且把计算设备的控制让给主引导记录。在把控制转移到主引导记录时,驻留在BIOS中的代码、数据和设定不再是直接可访问的。一种引导计算设备的替换方法利用统一可扩展固件接口(UEFI)。在UEFI***中,引导并且加载计算设备上的操作***的平台固件可以包括即使在引导处理之后也继续可访问的特定元件,比如“运行时间服务”。应用可以通过这些UEFI“运行时间服务”来访问所述固件的引导设备优先级配置,以便修改计算设备的行为和/或配置。在一些实施例中,这可以包括动态地重定向计算设备的引导,而无需用户在引导时间人工访问所述固件以便重新配置计算设备的线性引导顺序。替换地或附加地,这可以包括添加与便携式存储设备相关联的通用和/或特定引导条目,以便启用经过修改的引导顺序。
UEFI***可以在所述平台固件内维持引导条目列表。这些引导条目可以被配置成指示固件引导特定设备顺序,直到找到一个可引导设备为止。举例来说,考虑包含如下规定的顺序的引导条目列表:(1)硬盘1,(2)硬盘2,(3)数字通用盘(DVD)驱动器,(4)USB驱动器,以及(5)网络驱动器。对于该特定列表,计算设备将首先尝试从硬盘1引导。如果在硬盘1上找到可引导驱动器,则计算设备引导停止任何进一步的寻找,并且从硬盘1引导。如果没有找到可引导驱动器,则计算设备继续到硬盘2。所述处理在所述列表内重复,直到找到可引导驱动器或者不再找到条目为止。在一些实施例中,可以使用运行时间服务来修改和/或更改所述引导条目列表。举例来说,通过运行时间服务,可以把引导条目USB驱动器从位置(4)移到位置(1)。在这种特定情况中,当计算设备重新引导时,其将搜索作为第一优先级的从其引导的USB设备。如果检测到存在具有可引导盘的USB设备,则计算设备将相应地引导。如果检测到不存在USB设备,则计算设备将移到引导条目列表中的下一个设备。
在一些实施例中,可以把引导重定向应用放置在所述引导条目列表中,并且在某些情况下可以将其放置在最高优先级位置。例如可以使用运行时间服务来更改引导条目列表,以便作为针对引导设备的补充和/或替代来添加应用。与前面的情况中一样,引导重定向应用在所述列表中的位置可以决定其运行的优先级。如果引导重定向应用被置于列表的顶部,则当计算设备引导时,固件将首先尝试把控制转移到所述应用。可以按照任何适当方式来配置所述应用,后面将提供其实例。例如所述应用可以被配置成在检测到有便携式存储设备存在时把计算设备的引导动态地重定向到该便携式存储设备。
作为一个实例,考虑图4,该图示出了描述根据一个或更多个实施例的方法中的步骤的流程图。具体来说,图4示出了利用被配置成可通过UEFI访问的平台固件的动态引导重定向的一个实例。该方法可以在任何适当的硬件、软件、固件或其任意组合中施行。在一些实施例中,所述方法的部分可以被实施成运行在图1的计算设备102上。
步骤402运行引导重定向应用。由于计算设备通过与UEFI相关联的平台固件引导,引导处理可以包括运行一项或更多项应用,比如驻留在计算设备的内部OS***分区上的引导重定向应用。在一些实施例中,可以把引导重定向应用***在引导条目列表中,并且在某些情况下可以将其***在顶部和/或最高优先级条目,从而使得在引导处理期间,首先把控制传递到引导重定向应用。引导重定向应用包括与如何动态地重定向计算设备的引导相关联的功能,比如识别出便携式存储设备的存在、通过UEFI接口修改平台固件等等。在一些实施例中,引导重定向应用包括启用和禁用动态引导重定向的能力。在执行引导重定向应用时,计算设备继续到步骤404。
步骤404确定是否有另一个可引导存储设备存在,比如如前面所描述的包括可引导OS的便携式存储设备。如果确定没有可引导存储设备存在,则计算设备继续到步骤406,并且按照其引导重定向应用和/或引导模块的指引而引导计算设备上的内部OS。但是如果确定有可引导存储设备存在,则计算设备继续到步骤408。
步骤408确定所述可引导存储设备是否处在被允许列表上。这可以通过任何适当方式来实现,前面提供了其实例。如果确定所述可引导存储设备不是被允许的可引导存储设备,则计算设备继续到步骤406。如果确定所述可引导存储设备是被允许的可引导存储设备,则计算设备继续到步骤410。
步骤410引导存储在可引导存储设备上的便携式OS。这可以通过任何适当方式来实现,比如通过以编程方式经由UEFI向平台固件发出命令。在一些实施例中,可以把与可引导存储设备相关联的引导条目***到有效的平台固件中,以便指引所述平台固件引导所述可引导存储设备。举例来说,如果所述可引导存储设备是便携式USB存储设备类型,则可以把通用USB分类条目添加到平台固件中,以便把计算设备的引导重定向到USB存储设备。按照这种方式,可以在无需用户人工修改相关联的引导模块的情况下把计算设备动态地重定向成从可引导存储设备引导。
现在考虑图5,该图示出了描述根据一个或更多个实施例的方法中的步骤的流程图。所述方法可以由任何适当的硬件、软件、固件或其组合来施行。在至少一些实施例中,所述方法的方面由在计算设备上执行的适当配置的软件施行,比如图1的引导重定向模块112。
步骤500启用引导计算设备的动态重定向。如前所述,可以启用和/或禁用引导计算设备的动态重定向。这一步骤例如可以通过经由计算设备外部的连接接收启用/禁用设定值来施行,比如通过由管理者把所述启用/禁用设定推送到计算设备上。
步骤502确定在计算设备上是否有便携式存储设备存在。这包括确定便携式存储设备是否被附着到计算设备上和/或与计算设备通信,前面提供了其实例。替换地或附加地,这包括确定可引导操作***是否驻留在便携式存储设备上。
步骤504确定所述便携式存储设备是否是从其引导计算设备的可允许存储设备。可以利用确定可允许存储设备的任何适当方式,前面提供了其实例。
响应于确定所述便携式存储设备是从其引导计算设备的可允许存储设备,步骤508在无需用户人工修改计算设备的线性引导顺序的情况下把计算设备的引导动态地重定向到该便携式存储设备。举例来说,可以在无需用户对与计算设备相关联的引导模块中的线性设备顺序进行人工编程的情况下动态地重定向计算设备。在一些实施例中,软件可以基于引导设备的存在而把该引导设备自动添加到计算设备的引导顺序中。
已经讨论了在UEFI环境中支持动态重定向计算设备的引导,现在考虑根据一个或更多个实施例的实例***的讨论。
实例***
图6示出了实例设备600的各个组件,设备600可以被实施为前面参照图1的设备102描述的任何类型的便携式和/或计算机设备。
设备600包括通信设备602,通信设备602允许设备数据604(例如所接收到的数据、正被接收的数据、被调度以进行广播的数据、所述数据的数据分组等等)的有线和/或无线传送。设备数据604或其他设备内容可以包括设备的配置设定、存储在设备上的媒体内容和/或与设备的用户相关联的信息。存储在设备600上的媒体内容可以包括任何类型的音频、视频和/或图像数据。设备600包括一个或更多个数据输入606,经由所述数据输入可以接收任何类型的数据、媒体内容和/或输入,比如用户可选择的输入、消息、音乐、电视媒体内容、所记录的视频内容以及从任何内容和/或数据源接收到的任何其他类型的音频、视频和/或图像数据。用户可选择的输入包括用户可以借之与设备进行交互的一种或更多种输入机制。用户可选择的输入机制可以通过任何适当方式来实施,比如键盘、按钮、尖笔、触摸屏、鼠标、语音输入等等。
设备600还包括通信接口608,通信接口608可以被实施为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器当中的任意一项或更多项,并且可以被实施为任何其他类型的通信接口。通信接口608提供设备600与通信网络之间的连接和/或通信链路,其他电子、计算和通信设备可以借之与设备600传送数据。
设备600包括一个或更多个处理器610(例如微处理器、控制器等等当中的任一种),所述处理器610处理各种计算机可执行或可读指令以便控制设备600的操作,并且如前所述地实施引导计算设备的动态重定向。替换地或附加地,可以利用结合总体上在612处标识出的处理和控制电路实施的硬件、固件或固定逻辑电路当中的任一项或其任意组合来实施设备600。虽然没有示出,但是设备600可以包括耦合该设备内的各个组件的***总线或数据传递***。***总线可以包括比如利用多种总线架构当中的任一种的存储器总线或存储器控制器、***总线、通用串行总线和/或处理器或局部总线之类的不同总线结构当中的任一项或其任意组合。
设备600还包括计算机可读存储介质614,比如一个或更多个存储器组件,其实例包括随机存取存储器(RAM)、非易失性存储器(例如只读存储器(ROM)、闪存、EPROM、EEPROM等等当中的任意一项或更多项)以及盘存储设备。盘存储设备可以被实施为任何类型的磁性或光学存储设备,比如硬盘驱动器、可记录和/或可重写紧致盘(CD)、任何类型的数字通用盘(DVD)等等。
计算机可读介质616提供数据存储机制来存储设备数据604以及各种设备应用618和与设备600的操作方面有关的任何其他类型的信息和/或数据。举例来说,可以利用计算机可读介质616将操作***620保持为计算机应用并且操作***620可以在处理器610上执行。设备应用618可以包括设备管理器(例如控制应用、软件应用、信号处理和控制模块、特定设备本地化的代码、对应于特定设备的硬件抽象层等等)。设备应用618还包括被利用来实施这里所描述的引导计算设备的动态重定向的实施例的任何***组件或模块。
关于设备600,设备应用618包括可以被配置成如前所述动态地重定向设备600的引导的引导重定向模块622。虽然引导重定向模块622被显示为软件模块和/或计算机应用,但是其也可以被实施为硬件、软件、固件或其任意组合。
结论
各个实施例提供了在检测到有便携式存储设备存在时利用存储在该便携式存储设备上的操作***自动引导计算设备的能力。计算设备可以被配置成在检测到便携式存储设备时从该便携式存储设备动态地引导,并且在没有检测到便携式存储设备时回复到其相关联的引导模块中的已编程引导顺序。在一些实施例中,所述操作***被完全封装在便携式存储设备上,比如所述操作***与初始地引导计算设备的操作***完全分离。
虽然已经用特定于结构特征和/或方法动作的语言描述了本主题,但是应当理解的是,在所附权利要求书中限定的主题不一定受限于前面描述的特定特征或动作。相反,前面所描述的特定特征和动作是作为实施权利要求书的实例形式而公开的。

Claims (8)

1.一种计算机实施的方法,其包括:
确定便携式存储设备是否连接到计算设备;
响应于确定便携式存储设备连接到计算设备,确定便携式存储设备是否包括可引导操作***;以及
至少部分地响应于确定便携式存储设备包括可引导操作***,把计算设备的引导动态地重定向到包括在便携式存储设备上的可引导操作***,动态引导重定向在没有人工干预的情况下把按照在相关联的引导模块中编程的线性引导顺序的计算设备的引导进行重定向,其中动态重定向计算设备的引导包括,通过编程方式向与计算设备相关联的有效的平台固件发出命令,以便将与所述便携式存储设备相关联的引导条目添加到平台固件。
2.如权利要求1的计算机实施的方法,包括在便携式存储设备上的操作***被完全封装在该便携式存储设备上。
3.如权利要求1的计算机实施的方法,所述便携式存储设备包括通用串行总线(USB)存储器存储设备。
4.如权利要求1的计算机实施的方法,所述便携式存储设备不同于在计算设备的引导模块内编程的线性引导顺序中所规定的存储设备。
5.一种计算机实施的方法,其包括:
由计算设备启用计算设备的引导的动态重定向;
由计算设备确定在计算设备上是否有便携式存储设备存在;
响应于确定有便携式存储设备存在,由计算设备确定该便携式存储设备是否是用以从其引导计算设备的可允许存储设备;以及
响应于确定所述便携式存储设备是可允许存储设备,由计算设备在无需对包括已编程线性引导顺序的引导模块进行人工修改的情况下把计算设备的引导动态地重定向到存储在该便携式存储设备上的操作***,动态重定向计算设备的引导包括通过编程方式向有效的计算设备的平台固件发出命令,以便添加与所述便携式存储设备相关联的引导条目。
6.如权利要求5的计算机实施的方法,所述计算设备的平台固件被配置成能够通过统一可扩展固件接口(UEFI)使用。
7.如权利要求5的计算机实施的方法,所述便携式存储设备不同于在计算设备的引导模块的已编程线性引导顺序中所规定的存储设备。
8.如权利要求5的计算机实施的方法,所述便携式存储设备是否是可允许存储设备的确定包括对包含标识出一个或更多个可允许设备的信息的列表进行处理。
CN201180070650.8A 2011-05-05 2011-10-10 将引导动态地重定向到另一个操作*** Active CN103502933B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/101897 2011-05-05
US13/101,897 2011-05-05
US13/101,897 US8966236B2 (en) 2011-05-05 2011-05-05 Dynamically redirecting boot to another operating system
PCT/US2011/055640 WO2012150956A1 (en) 2011-05-05 2011-10-10 Dynamically redirecting boot to another operating system

Publications (2)

Publication Number Publication Date
CN103502933A CN103502933A (zh) 2014-01-08
CN103502933B true CN103502933B (zh) 2016-10-26

Family

ID=47091051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180070650.8A Active CN103502933B (zh) 2011-05-05 2011-10-10 将引导动态地重定向到另一个操作***

Country Status (6)

Country Link
US (1) US8966236B2 (zh)
EP (1) EP2705422B1 (zh)
JP (1) JP6293657B2 (zh)
KR (1) KR101748000B1 (zh)
CN (1) CN103502933B (zh)
WO (1) WO2012150956A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875204B2 (en) * 2012-05-18 2018-01-23 Dell Products, Lp System and method for providing a processing node with input/output functionality provided by an I/O complex switch
JP6128388B2 (ja) * 2012-09-14 2017-05-17 パナソニックIpマネジメント株式会社 情報処理装置
US9104891B2 (en) 2012-12-03 2015-08-11 Imation Corp. Recovering from unexpected flash drive removal
US9430250B2 (en) * 2012-12-03 2016-08-30 Kingston Digital, Inc. Bootability with multiple logical unit numbers
US9129114B2 (en) 2012-12-03 2015-09-08 Imation Corp. Preboot environment with system security check
US9384094B2 (en) * 2013-01-08 2016-07-05 Veritas Us Ip Holdings Llc Method and system for instant restore of system volume from a backup image
US10146556B2 (en) * 2013-11-21 2018-12-04 Dell Products L.P. System and method to perform an OS boot using service location protocol and launching OS using a dynamic update of network boot order without a reboot
CA2932886C (en) * 2013-12-09 2020-06-02 Donald Moses Mass storage device selector
US9934047B2 (en) * 2014-03-20 2018-04-03 Intel Corporation Techniques for switching between operating systems
US20150363320A1 (en) * 2014-06-17 2015-12-17 Lsi Corporation Write back caching of boot disk in a uefi environment
CN104484625B (zh) * 2014-12-29 2017-11-03 北京明朝万达科技股份有限公司 一种具有双操作***的计算机及其实现方法
US10055218B2 (en) * 2015-08-11 2018-08-21 Quanta Computer Inc. System and method for adding and storing groups of firmware default settings
CN108733474A (zh) * 2018-05-17 2018-11-02 珠海格力电器股份有限公司 一种切换方法及装置、移动终端设备和可读存储介质
CN112764814B (zh) * 2021-01-13 2023-11-10 西藏子墨网络科技有限公司 移动终端启动存储器设置方法、装置、终端及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192126A (ja) * 2007-01-12 2008-08-21 Konica Minolta Business Technologies Inc 情報処理装置およびプログラム
JP2010049412A (ja) * 2008-08-20 2010-03-04 Toshiba Tec Corp 情報処理装置及びブート制御方法
US20100318731A1 (en) * 2009-06-16 2010-12-16 Murray Mark R Override boot sequence by presence of file on usb memory stick

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415382B1 (en) 1999-04-30 2002-07-02 Adaptec, Inc. Hard disk bootstrap redirection
US20090013165A1 (en) 2000-01-06 2009-01-08 Chow David Q Portable usb device that boots a computer as a server
US6920553B1 (en) * 2000-04-28 2005-07-19 Intel Corporation Method and apparatus for reading initial boot instructions from a bootable device connected to the USB port of a computer system
US7080245B2 (en) * 2002-05-23 2006-07-18 Hewlett-Packard Development Company, L.P. Method and system of switching between two or more images of firmware on a host device
US6993649B2 (en) 2002-12-17 2006-01-31 John Alan Hensley Method of altering a computer operating system to boot and run from protected media
TW586075B (en) * 2003-01-30 2004-05-01 Integrated Circuit Solution In Method of making any card capable of booting from a multi-card reader/writer
SG138439A1 (en) * 2003-04-02 2008-01-28 Trek 2000 Int Ltd Portable operating system and method to load the same
TWI239160B (en) 2003-12-31 2005-09-01 Jade Quantum Technologies Inc Remote booting method and apparatus applied in WAN based on IP technique
US7664836B2 (en) 2004-02-17 2010-02-16 Zhe Khi Pak Device and method for booting an operation system for a computer from a passive directly attached network device
US7516315B2 (en) * 2005-03-18 2009-04-07 Research In Motion Ltd. Electronic device having an alterable configuration and methods of manufacturing and configuring the same
US20070079024A1 (en) * 2005-09-30 2007-04-05 Freescale Semiconductor, Inc. Circuit and method for detecting non-volatile memory during a boot sequence
KR100880379B1 (ko) * 2006-05-25 2009-01-23 삼성전자주식회사 외부로부터 제공받는 부트 코드로 부팅되는 정보기기시스템
US7925875B2 (en) 2006-12-31 2011-04-12 Sandisk Corporation Systems and methods for identifying and booting a computer architecture
US7953967B2 (en) * 2007-01-12 2011-05-31 Konica Minolta Business Technologies, Inc. Information processing apparatus and program
US20080172555A1 (en) * 2007-01-17 2008-07-17 Erink Technologies, Llc Bootable thin client personal initialization device
JP2009037467A (ja) * 2007-08-02 2009-02-19 Konica Minolta Business Technologies Inc 起動制御方法及び起動制御プログラム並びに画像形成装置
JP2009086955A (ja) * 2007-09-28 2009-04-23 Toshiba Corp カメラ装置およびその制御方法
WO2009088687A2 (en) 2007-12-31 2009-07-16 Datalogic Mobile, Inc. Systems and methods for configuring, updating, and booting an alternate operating system on a portable data reader
TW201117008A (en) * 2009-11-06 2011-05-16 Inventec Corp Electronic equipment and boot method, storage medium thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192126A (ja) * 2007-01-12 2008-08-21 Konica Minolta Business Technologies Inc 情報処理装置およびプログラム
JP2010049412A (ja) * 2008-08-20 2010-03-04 Toshiba Tec Corp 情報処理装置及びブート制御方法
US20100318731A1 (en) * 2009-06-16 2010-12-16 Murray Mark R Override boot sequence by presence of file on usb memory stick

Also Published As

Publication number Publication date
US20120284494A1 (en) 2012-11-08
EP2705422A4 (en) 2015-01-21
KR101748000B1 (ko) 2017-06-15
US8966236B2 (en) 2015-02-24
KR20140022863A (ko) 2014-02-25
EP2705422A1 (en) 2014-03-12
WO2012150956A1 (en) 2012-11-08
JP2014513365A (ja) 2014-05-29
JP6293657B2 (ja) 2018-03-14
CN103502933A (zh) 2014-01-08
EP2705422B1 (en) 2019-05-08

Similar Documents

Publication Publication Date Title
CN103502933B (zh) 将引导动态地重定向到另一个操作***
US9773102B2 (en) Selective file access for applications
US7913252B2 (en) Portable platform for executing software applications in a virtual environment
EP2434400B1 (en) Launching an application based on data classification
EP2297632B1 (en) Dynamic file system restriction for portable storage devices
CN103699372A (zh) 从中央存储装置引导计算机***
WO2016127446A1 (zh) 一种多***间的切换方法和终端
CN101421701A (zh) 使用nand闪存的直接引导配置
WO2017107415A1 (zh) 应用加载方法和装置
JP2005519360A (ja) データ交換のためのデバイス、システム及び方法
US20080244619A1 (en) External storage device and method of automatically operating the same
US7975028B2 (en) Migration of data between computers
US7870567B2 (en) Configuring a device using information from a device table
KR101170122B1 (ko) 외부 저장장치에 저장된 응용프로그램의 실행 시스템 및 그 방법
US20220261256A1 (en) Apparatus for driving external operating system and method therefor
US8347387B1 (en) Addressing security in writes to memory
US9563752B2 (en) License information access based on developer profiles
KR100852652B1 (ko) 정보처리 단말기 및 호스트 자원을 이용한 정보처리단말기의 사용자 인터페이스 제공 시스템 및 방법
US20130346961A1 (en) Systems and methods to create a clean install of an application
KR100869726B1 (ko) iSCSI와 UPnP 프로토콜에 기반한 가상 응용 수행지원 장치 및 이 장치의 이용방법
KR20160124734A (ko) 컴퓨팅기기의 소프트웨어 유지보수 방법
KR20160001900A (ko) 저장장치 및 그 저장장치의 자동 실행 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150625

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150625

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant