CN105094837A - 引导计算机启动的方法、装置及启动引导介质的制作方法 - Google Patents
引导计算机启动的方法、装置及启动引导介质的制作方法 Download PDFInfo
- Publication number
- CN105094837A CN105094837A CN201510493780.2A CN201510493780A CN105094837A CN 105094837 A CN105094837 A CN 105094837A CN 201510493780 A CN201510493780 A CN 201510493780A CN 105094837 A CN105094837 A CN 105094837A
- Authority
- CN
- China
- Prior art keywords
- file system
- root file
- linux
- starting factor
- linux system
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种引导计算机启动的方法、装置及启动引导介质的制作方法,该引导计算机启动的方法包括:当该计算机开启时,挂载该计算机的Linux系统的临时根文件系统;调用该临时根文件系统中的启动脚本,该启动脚本用于指示该计算机当前使用的启动引导介质类型,以及该当前使用的启动引导介质对应的引导代码;执行该当前使用的启动引导介质对应的引导代码,以查找该Linux系统的根文件系统文件;根据查找到的该根文件系统文件,将该Linux系统从该临时根文件系统切换至根文件系统,以完成该计算机的启动。本发明提高了Linux系统对多种启动引导介质的兼容性。
Description
技术领域
本发明涉及计算机领域,并且更具体地,涉及引导计算机启动的方法、装置及启动引导介质的制作方法。
背景技术
不同计算机的启动引导介质可能是不同的,对于一些老旧的计算机,它们只能采用光驱引导来启动系统,而对于一些较新的计算机,通常可以采用磁盘引导或者网络引导来启动系统。另外,在一些特殊的环境下,出于安全或者成本上的考虑,很多重要的计算机只允许采用统一的网络引导来启动系统,而不允许使用磁盘引导或者光盘引导来启动系统。
在计算机原有系统无法正常启动或者其他需要重新安装系统的情况下,现有技术是针对不同类型的启动引导介质制作不同的启动方案来启动计算机。这种启动方式要针对不同的启动引导介质制作包含不同启动代码的多种版本的系统,增加了系统开发和维护的工作量,另外,对于一些系统环境未知的场合,在启动系统前需要事先查看系统环境才能决定采用何种启动方案,这样就增加了时间成本,降低了效率。
发明内容
本发明实施例提供一种引导计算机启动的方法、装置及启动引导介质的制作方法,以启动多种启动引导介质下的计算机。
第一方面,提供一种引导计算机启动的方法,包括:当所述计算机开启时,挂载所述计算机的Linux系统的临时根文件系统;调用所述临时根文件系统中的启动脚本,所述启动脚本用于指示所述计算机当前使用的启动引导介质类型,以及所述当前使用的启动引导介质对应的引导代码,其中,所述启动脚本包括多种启动引导介质对应的引导代码;执行所述当前使用的启动引导介质对应的引导代码,以查找所述Linux系统的根文件系统文件;根据查找到的所述根文件系统文件,将所述Linux系统从所述临时根文件系统切换至根文件系统,以完成所述计算机的启动。
结合第一方面,在第一方面的一种实现方式中,所述计算机当前使用的启动引导介质为光盘,所述执行所述当前使用的启动引导介质对应的引导代码,查找所述Linux系统的根文件系统文件,包括:挂载所述计算机上的光驱设备;从所述光驱设备上运行的光盘中查找所述根文件系统文件。
结合第一方面或上述实现方式中的任意一种,在第一方面的另一种实现方式中,所述计算机当前使用的启动引导介质为磁盘,所述执行所述当前使用的启动引导介质对应的引导代码,查找所述Linux系统的根文件系统文件,包括:挂载所述计算机上的磁盘的第一个分区;从所述第一分区中查找所述根文件系统文件。
结合第一方面或上述实现方式中的任意一种,在第一方面的另一种实现方式中,所述计算机当前使用的启动引导介质为网络,所述执行所述当前使用的启动引导介质对应的引导代码,查找所述Linux系统的根文件系统文件,包括:根据配置的网络服务器的地址,确定存储有所述根文件系统文件的网络服务器;利用网络文件系统NFS功能,挂载所述网络服务器的存储有所述根文件系统文件的目录;在所述目录下查找所述根文件系统文件。
结合第一方面或上述实现方式中的任意一种,在第一方面的另一种实现方式中,所述Linux系统为目标Linux系统,所述目标Linux系统是基于任意一个Linux的发行版本定制而成的,定制过程包括:获取所述发行版本的Linux系统的临时根文件系统和根文件系统;在所述发行版本的Linux系统的临时根文件系统中添加所述启动脚本,得到所述目标Linux系统的临时根文件系统;根据所述发行版本的Linux系统的根文件系统,生成所述目标Linux系统的根文件系统文件。
第二方面,提供一种引导计算机启动的装置,包括:挂载模块,当所述计算机开启时,挂载所述计算机的Linux系统的临时根文件系统;确定模块,用于调用所述临时根文件系统中的启动脚本,所述启动脚本用于指示所述计算机当前使用的启动引导介质类型,以及所述当前使用的启动引导介质对应的引导代码,其中,所述启动脚本包括多种启动引导介质对应的引导代码;执行模块,用于执行所述当前使用的启动引导介质对应的引导代码,以查找所述Linux系统的根文件系统文件;启动模块,用于根据查找到的所述根文件系统文件,将所述Linux系统从所述临时根文件系统切换至根文件系统,以完成所述计算机的启动。
结合第二方面,在第二方面的一种实现方式中,在所述当前使用的启动引导介质为光盘的情况下,所述执行模块具体用于:挂载所述计算机上的光驱设备;从所述光驱设备上运行的光盘中查找所述根文件系统文件。
结合第二方面或上述实现方式中的任意一种,在第二方面的另一种实现方式中,在所述当前使用的启动引导介质为磁盘的情况下,所述执行模块具体用于:挂载所述计算机上的磁盘的第一个分区;从所述第一分区中查找所述根文件系统文件。
结合第二方面或上述实现方式中的任意一种,在第二方面的另一种实现方式中,在所述当前使用的启动引导介质为网络的情况下,所述执行模块具体用于:根据配置的网络服务器的地址,确定存储有所述根文件系统文件的网络服务器;利用网络文件系统NFS功能,挂载所述网络服务器的存储有所述根文件系统文件的目录;在所述目录下查找所述根文件系统文件。
结合第二方面或上述实现方式中的任意一种,在第二方面的另一种实现方式中,所述Linux系统为目标Linux系统,所述目标Linux系统是基于任意一个Linux的发行版本定制而成的,定制过程包括:获取所述发行版本的Linux系统的临时根文件系统和根文件系统;在所述发行版本的Linux系统的临时根文件系统中添加所述启动脚本,得到所述目标Linux系统的临时根文件系统;根据所述发行版本的Linux系统的根文件系统,生成所述目标Linux系统的根文件系统文件。
第三方面,提供一种启动引导介质的制作方法,包括:获取任意一个发行版本的Linux系统的临时根文件系统和根文件系统;在所述发行版本的Linux系统的临时根文件系统中添加启动脚本,得到目标Linux系统的临时根文件系统,其中,所述启动脚本用于指示待制作的目标启动引导介质类型,以及所述目标启动引导介质对应的引导代码,其中,所述启动引导脚本包括多种启动引导介质对应的引导代码,每种启动引导介质的引导代码用于指示所述每种启动引导介质对应的根文件系统文件查找方式;根据所述发行版本的Linux系统的根文件系统,生成所述目标Linux系统的根文件系统文件;将所述目标Linux系统的根文件系统文件和所述目标Linux系统的临时根文件系统存储至所述目标启动引导介质中,完成所述目标启动引导介质的制作。
本发明实施例在Linux系统的临时根文件系统中添加了启动脚本,该启动脚本不但能够指示当前使用的引导介质的类型及其对应的引导代码,而且包含多种引导介质的引导代码,这样,当计算机需要不同的启动引导介质启动时,仅需要更改启动脚本中的当前使用的引导介质的类型,然后将该Linux系统存储到对应的介质中即可,也就是说,本发明实施例定制的Linux系统支持多种启动引导介质,而不像现有技术那样需要为不同的启动引导介质定制不同的Linux系统,提高了Linux系统对多种启动引导介质的兼容性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的引导计算机启动的方法的示意性框图。
图2是本发明实施例的引导计算机启动的方法的流程图。
图3是本发明实施例的引导计算机启动的装置的示意性框图。
图4是本发明实施例的启动引导介质的制作方法的示意性框图。
图5是本发明实施例的启动引导介质的制作方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例的引导计算机启动的方法的示意性流程图。图1的方法包括:
110、当该计算机开启时,挂载Linux系统的临时根文件系统;
120、调用所述临时根文件系统中的启动脚本,所述启动脚本用于指示所述计算机当前使用的启动引导介质类型,以及所述当前使用的启动引导介质对应的引导代码,其中,所述启动脚本包括多种启动引导介质对应的引导代码。
应理解,启动脚本启动后可以先判断计算机当前使用的启动引导介质类型。具体而言,在进入临时根文件系统后,可以通过调用代码调用启动脚本来判断计算机的启动引导介质的类型。更具体地,可以采用下列步骤确定计算机当前使用的启动引导介质类型:运行启动脚本后从/proc/cmdline文件中获取启动引导介质的类型,如果为cdrom,则表示该计算机当前使用的启动引导介质为光驱;如果为local则表示该计算机当前使用的启动引导介质为本地磁盘;如果为network则表示该计算机当前使用的的启动引导介质为网络。
130、执行该当前使用的启动引导介质对应的引导代码,以查找该Linux系统的根文件系统文件。
应理解,在确定了计算机当前使用的启动引导介质后,可以执行该启动引导介质对应的引导代码,这里的引导代码是可以是用于在该启动介质下引导系统查找Linux系统的根文件系统文件的一段代码,例如,在确定当前使用的启动引导介质为光盘的情况下,通过启动引导代码可以挂载该计算机上的光驱设备,并从该光驱设备上运行的光盘中查找该根文件系统文件。例如,可以利用mount指令将光驱设备挂载到/mnt目录,挂载成功后检测/mnt目录中是否存在toolsys.img文件。
在当前使用的启动引导介质为磁盘的情况下,可以挂载该计算机上的磁盘的第一个分区,然后从该第一分区中查找该根文件系统文件。例如,这里可以利用mount指令将计算机的磁盘的第一个分区挂载到/mnt目录,挂载成功后检测/mnt目录中是否存在toolsys.img文件。应理解,这里的磁盘可以是计算机的本地磁盘也可以是可移动磁盘如USB磁盘等。
在当前使用的启动引导介质为网络的情况下,可以根据配置的网络服务器的地址,确定存储有该根文件系统文件的网络服务器,再利用网络文件系统NFS功能,挂载该网络服务器的存储有该根文件系统文件的目录,最后在该目录下查找该根文件系统文件。例如,可以从/proc/cmdline文件中读取网络启动服务器的地址,并通过mount指令将网络启动服务器输出的目录挂载到/mnt目录,挂载成功后检测其中是否存在toolsys.img文件。
进一步地,在启动引导介质为光盘、磁盘或者网络的情况下,如果没有找到toolsys.img文件,系统可以提示出错或者返回。
140、根据查找到的该根文件系统文件,将该Linux系统从该临时根文件系统切换至根文件系统,以完成该计算机的启动。
应理解,在查找到根文件系统文件后,可以在系统中寻找一个loop设备,例如loop1,将该loop1设备与该根文件系统文件进行关联,接下来将Linux系统从临时根文件系统切换到/dev/loop1所表示的根文件系统,接下来再启动根文件系统就完成了计算机的启动工作。
本发明实施例在Linux系统的临时根文件系统中添加了启动脚本,该启动脚本不但能够指示当前使用的引导介质的类型及其对应的引导代码,而且包含多种引导介质的引导代码,这样,当计算机需要不同的启动引导介质启动时,仅需要更改启动脚本中的当前使用的引导介质的类型,然后将该Linux系统存储到对应的介质中即可,也就是说,本发明实施例定制的Linux系统支持多种启动引导介质,而不像现有技术那样需要为不同的启动引导介质定制不同的Linux系统,提高了Linux系统对多种启动引导介质的兼容性。
可选地,作为一个实施例,图1中引导计算机启动的方法中的Linux系统为目标Linux系统,该目标Linux系统可以是由任意一个Linux的发行版本定制而成的,定制过程包括:获取所述发行版本的Linux系统的临时根文件系统和根文件系统;在所述发行版本的Linux系统的临时根文件系统中添加所述启动脚本,得到所述目标Linux系统的临时根文件系统;根据所述发行版本的Linux系统的根文件系统,生成所述目标Linux系统的根文件系统文件。
应理解,在这里,添加启动脚本可以是在制作临时根文件系统时,将临时根文件系统先复制到某个临时文件夹后,将该启动脚本也复制到该临时文件夹中,这样在制作完成的临时根文件系统中就包含了启动脚本。另外,还可以在临时文件夹中添加对该启动脚本进行调用的脚本程序,这样在运行临时根文件系统时,通过该脚本程序就可以调用启动脚本。
图2是本发明实施例的引导计算机启动的方法的流程图。如图2所示,该方法的启动流程如下:
201、启动系统,运行临时根文件系统的启动脚本,判断启动引导介质的类型。
具体来说,在进入临时根文件系统后,系统可以通过调用代码来调用启动脚本来判断计算机的启动引导介质的类型。例如,当该启动脚本文件为toolsys-start.sh时判断计算机当前使用的启动引导介质类型的具体操作如下:从proc/cmdline文件中获取启动引导介质的类型,如果为cdrom,则表示该计算机当前使用的启动引导介质为光驱;如果为local则表示该计算机当前使用的启动引导介质为本地磁盘;如果为network则表示该计算机当前使用的启动引导介质为网络。
202、如果启动引导介质为本地磁盘或者USB磁盘,则逐个挂载磁盘的第一个分区,查找toolsys.img文件。例如,这里可以利用mount指令将计算机的磁盘的第一个分区挂载到/mnt目录下,挂载成功后检测该目录中是否存在toolsys.img文件。
203、如果启动引导介质为光盘,则逐个挂载光驱,查找toolsys.img文件。例如,这里可以利用mount指令将光驱设备挂载到/mnt目录,挂载成功后检测/mnt目录中是否存在toolsys.img文件。
204、如果启动引导介质为网络,则获取网络引导服务器IP,通过NFS挂载制定目录,并查找toolsys.img。具体地可以根据配置的网络服务器的地址,确定存储有该根文件系统文件的网络服务器,再利用网络文件系统NFS功能,挂载该网络服务器的存储有该根文件系统文件的目录,最后在该目录下查找toolsys.img文件。例如,可以从/proc/cmdline文件中读取网络启动服务器的地址,并通过mount指令将网络启动服务器输出的目录挂载到/mnt目录,挂载成功后检测/mnt目录中是否存在toolsys.img文件。
205、判断是否查找到了toolsys.img文件;
206、如果查找到了toolsys.img文件,就将设备/dev/loop1与toolsys.img文件绑定,指定该设备为根文件系统设备;
207、启动toolsys.img文件所在的根文件系统。
在查找到toolsys.img文件的情况下,可以在系统中寻找一个loop设备如/dev/loop1,然后利用相应的工具如losetup将toolsys.img文件与虚拟设备/dev/loop1绑定。有时候还要验证根文件系统是否正确,例如,可以利用命令mount-tsquashfs/dev/loop1/sysroot-oloop将设备挂载到/sysroot目录下验证根文件系统的是否正确。接下来,可以指定新的根文件系统的设备为/dev/loop1,接下来再启动根文件系统就完成了计算机的启动。
208、启动过程结束;
209、如果没有找到toolsys.img文件,那么系统会提示出错并返回。
上文结合图1和图2,详细的描述了本发明实施例的引导计算机启动的方法,下文结合图3详细描述本发明实施例的引导计算机启动的装置,应理解,图3中的装置能够实现图1和图2中的方法的各个步骤,为避免重复,此处不再详述。
图3是本发明实施例的引导计算机启动的装置示意性框图。图3的装置300包括:
挂载模块,用于当该计算机开启时,挂载该计算机的Linux系统的临时根文件系统;
确定模块,用于调用该临时根文件系统中的启动脚本,该启动脚本用于指示该计算机当前使用的启动引导介质类型,以及该当前使用的启动引导介质对应的引导代码,其中,该启动脚本包括多种启动引导介质对应的引导代码;
执行模块,用于执行所述当前使用的启动引导介质对应的引导代码,以查找所述Linux系统的根文件系统文件;
启动模块,用于根据查找到的所述根文件系统文件,将所述Linux系统从所述临时根文件系统切换至根文件系统,以完成所述计算机的启动。
本发明实施例在Linux系统的临时根文件系统中添加了启动脚本,该启动脚本不但能够指示当前使用的引导介质的类型及其对应的引导代码,而且包含多种引导介质的引导代码,这样,当计算机需要不同的启动引导介质启动时,仅需要更改启动脚本中的当前使用的引导介质的类型,然后将该Linux系统存储到对应的介质中即可,也就是说,本发明实施例定制的Linux系统支持多种启动引导介质,而不像现有技术那样需要为不同的启动引导介质定制不同的Linux系统,提高了Linux系统对多种启动引导介质的兼容性。
可选地,作为一个实施例,在该当前使用的启动引导介质为磁盘的情况下,该执行模块具体用于:挂载该计算机上的磁盘的第一个分区;从该第一分区中查找该根文件系统文件。
可选地,作为一个实施例,在该当前使用的启动引导介质为磁盘的情况下,该执行模块具体用于:挂载该计算机上的磁盘的第一个分区;从该第一分区中查找该根文件系统文件。
可选地,作为一个实施例,在该当前使用的启动引导介质为网络的情况下,该执行模块具体用于:根据配置的网络服务器的地址,确定存储有该根文件系统文件的网络服务器;利用网络文件系统NFS功能,挂载该网络服务器的存储有该根文件系统文件的目录;在该目录下查找该根文件系统文件。
可选地,作为一个实施例,该Linux系统为目标Linux系统,该Linux系统为目标Linux系统,该目标Linux系统是基于任意一个Linux的发行版本定制而成的,定制过程包括:获取该发行版本的Linux系统的临时根文件系统和根文件系统;在该发行版本的Linux系统的临时根文件系统中添加该启动脚本,得到该目标Linux系统的临时根文件系统;根据该发行版本的Linux系统的根文件系统,生成该目标Linux系统的根文件系统文件。
上文结合图1至图3,详细的描述了本发明实施例的引导计算机启动的方法和装置,下面结合图4和图5讲述启动引导介质的制作方法。
图4是本发明实施例的启动引导介质的制作方法的示意性框图。该方法包括:
410、获取任意一个发行版本的Linux系统的临时根文件系统和根文件系统;
420、在该发行版本的Linux系统的临时根文件系统中添加启动脚本,得到目标Linux系统的临时根文件系统,其中,该启动脚本用于指示待制作的目标启动引导介质类型,以及该目标启动引导介质对应的引导代码,其中,该启动引导脚本包括多种启动引导介质对应的引导代码,每种启动引导介质的引导代码用于指示该每种启动引导介质对应的根文件系统文件查找方式;
430、根据该发行版本的Linux系统的根文件系统,生成该目标Linux系统的根文件系统文件。
在根据该发行版本的Linux系统的根文件系统生成该目标Linux系统的根文件系统文件时,可以直接将该发行版本的Linux系统的根文件系统复制过来制作成目标Linux系统的根文件系统文件,也可以将该发行版本的Linux系统的根文件系统复制到某个临时文件夹中,并将该发行版本的Linux系统启动时产生的一些临时文件以及其他一些生成目标Linux系统不必要的文件删除,生成目标Linux系统。
440、将该目标Linux系统的根文件系统文件和该目标Linux系统的临时根文件系统存储至该目标启动引导介质中,完成该目标启动引导介质的制作。
本发明实施例在Linux系统的临时根文件系统中添加了启动脚本,该启动脚本不但能够指示当前使用的引导介质的类型及其对应的引导代码,而且包含多种引导介质的引导代码,这样,当计算机需要不同的启动引导介质启动时,仅需要更改启动脚本中的当前使用的引导介质的类型,然后将该Linux系统存储到对应的介质中即可,也就是说,本发明实施例定制的Linux系统支持多种启动引导介质,而不像现有技术那样需要为不同的启动引导介质定制不同的Linux系统,提高了Linux系统对多种启动引导介质的兼容性。
图5是本发明实施例的启动引导介质的制作方法的流程图。制作流程如下:
501、安装Linux系统并启动。
应理解,这里的Linux系统可以是计算机上原有的系统,也可以是在该计算机上重新安装的任意一个发行版本的Linux系统,例如,CentOS版本和Gentoo版本。在安装该Linux系统时或者在安装完该Linux系统后还可以再安装一些启动计算机所需要的软件包和工具软件,例如,squashfs压缩工具,光盘制作工具等。
502、解开Linux系统的临时根文件系统,将启动脚本文件复制到该根文件系统中,制作成临时根文件系统。
具体来说,可以将Linux系统的临时根文件系统解开并放到一个临时文件夹中,然后将启动脚本文件也放到该临时文件夹中,接下来将临时文件夹中的内容制作成一个用于系统启动的临时根文件系统,这样就生成了工具系统的临时根文件系统。更具体地,可以先将Linux系统中/mnt目录下的所有内容删除,然后利用gzip-cdinitramfs.img|cpio-imd--quiet命令将Linux系统中的临时根文件系统解压到此处,再将启动脚本文toolsys-start.sh复制到/mnt目录中,并设置对toolsys-start.sh文件进行调用的脚本,最后再通过find.|cpio-o-Hnewc|gzip>initramfs-tool命令生成用于系统启动的临时根文件系统,应理解,这里的工具系统是指本发明实施例用于启动各种启动介质的系统。
503、将该Linux系统中的所有目录和文件复制到临时文件目录中,再利用压缩工具将该临时文件目录压缩生成根文件系统文件。
具体来说,可以将该Linux系统中的所有目录以及文件按照相同的层次结构,复制到Linux系统中某个临时文件目录中,例如,可以利用rsync工具将该Linux系统中的所有目录以及文件复制到Linux系统的/mnt目录中。在复制过程中或者复制完成后可以将一些Linux系统启动时动态生成的文件,所有的临时文件以及一些根文件系统中不需要的文件删除,例如,可以将文档目录,开发工具或者/tmp、/dev、/root、/lost+found等一些不必要的目录和文件以及在系统运行时自动生成的文件删除。接下来可以利用mksquashfs工具将该临时文件目录中的文件压缩成squashfs格式的镜像文件,例如,可以将该临时文件目录中的文件压缩成toolsys.img文件,这样就完成了根文件系统文件的制作。
501-503步骤中示出了本发明实施例的工具系统的生成过程,下面步骤主要是描述在生成工具系统后,如何将工具系统存储到不同介质下,以满足计算机启动的需要。
504、制作光盘引导的工具系统:将启动参数设置为光盘启动,将根文件系统文件及其他必须文件刻录到光盘中。
具体来说,可以利用制作启动光盘的工具将启动类型设置为光盘启动,并将之前制作的toolsys.img文件以及其他制作启动光盘所必须的文件生成iso镜像文件,再将该iso镜像文件刻录到光盘中就制作成了光盘引导的工具系统;更具体地,可以将制作iso启动镜像文件所需要的文件复制到/mnt中,并在用于传递启动参数文件中,将启动类型参数type设置为cdrom,然后利用genisoimage工具制作光盘启动镜像文件toolsys.iso,最后再利用刻录工具将toolsys.iso文件烧制到光盘中,这样就完成了光盘引导的工具系统的制作。
505、制作磁盘引导的工具系统,将启动参数设置为本地启动,将根文件系统文件及其他必要文件复制到磁盘的第一个分区。
具体来说,可以利用genisoimage工具将启动代码安装到需要制作启动盘的本地磁盘或者USB磁盘上,并在grub.conf文件中将启动类型参数type设置为local,最后将toolsys.img文件和临时根文件系统initramfs-tool以及其它必要文件复制到本地磁盘或者USB磁盘的第一个分区,这样就完成了磁盘引导的工具系统的制作。
506、制作网络引导的工具系统:将启动类型设置为网络启动,将根文件系统文件及其他必要文件放置在服务器对应目录下。具体来说,可以利用现有的服务器,搭建一个网络启动环境,并在启动参数中指定服务器的IP地址,将启动类型设置为网络启动,再将toolsys.img文件放置在需要通过NFS目录输出的目录下,这样就完成了网络引导的工具系统启动环境的搭建;更具体地,如果Linux系统中没有tftp及nfs服务,那么可以下载tftp和nfs的安装包并在指定的网络启动服务器上安装,安装完成后对tftp、nfs以及dhcp配置文件进行设置。将/mnt目录设置为nfs的输出目录,然后将toolsys.img文件复制到/mnt目录下,接下来启动dhcp、nfs以及tftp服务,并在default文件中设置type=netework,IP=服务器IP地址,其中服务器IP地址为网络启动服务器的本地IP地址,这样就完成了网络引导的工具系统启动环境的搭建。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种引导计算机启动的方法,其特征在于,包括:
当所述计算机开启时,挂载所述计算机的Linux系统的临时根文件系统;
调用所述临时根文件系统中的启动脚本,所述启动脚本用于指示所述计算机当前使用的启动引导介质类型,以及所述当前使用的启动引导介质对应的引导代码,其中,所述启动脚本包括多种启动引导介质对应的引导代码;
执行所述当前使用的启动引导介质对应的引导代码,以查找所述Linux系统的根文件系统文件;
根据查找到的所述根文件系统文件,将所述Linux系统从所述临时根文件系统切换至根文件系统,以完成所述计算机的启动。
2.如权利要求1所述的方法,其特征在于,所述计算机当前使用的启动引导介质为光盘,
所述执行所述当前使用的启动引导介质对应的引导代码,以查找所述Linux系统的根文件系统文件,包括:
挂载所述计算机上的光驱设备;
从所述光驱设备上运行的光盘中查找所述根文件系统文件。
3.如权利要求1所述的方法,其特征在于,所述计算机当前使用的启动引导介质为磁盘,
所述执行所述当前使用的启动引导介质对应的引导代码,以查找所述Linux系统的根文件系统文件,包括:
挂载所述计算机上的磁盘的第一个分区;
从所述第一分区中查找所述根文件系统文件。
4.如权利要求1所述的方法,其特征在于,所述计算机当前使用的启动引导介质为网络,
所述执行所述当前使用的启动引导介质对应的引导代码,以查找所述Linux系统的根文件系统文件,包括:
根据配置的网络服务器的地址,确定存储有所述根文件系统文件的网络服务器;
利用网络文件系统NFS功能,挂载所述网络服务器的存储有所述根文件系统文件的目录;
在所述目录下查找所述根文件系统文件。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述Linux系统为目标Linux系统,所述目标Linux系统是基于任意一个Linux的发行版本定制而成的,定制过程包括:
获取所述发行版本的Linux系统的临时根文件系统和根文件系统;
在所述发行版本的Linux系统的临时根文件系统中添加所述启动脚本,得到所述目标Linux系统的临时根文件系统;
根据所述发行版本的Linux系统的根文件系统,生成所述目标Linux系统的根文件系统文件。
6.一种引导计算机启动的装置,其特征在于,包括:
挂载模块,用于当所述计算机开启时,挂载所述计算机的Linux系统的临时根文件系统;
确定模块,用于调用所述临时根文件系统中的启动脚本,所述启动脚本用于指示所述计算机当前使用的启动引导介质类型,以及所述当前使用的启动引导介质对应的引导代码,其中,所述启动脚本包括多种启动引导介质对应的引导代码;
执行模块,用于执行所述当前使用的启动引导介质对应的引导代码,以查找所述Linux系统的根文件系统文件;
启动模块,用于根据查找到的所述根文件系统文件,将所述Linux系统从所述临时根文件系统切换至根文件系统,以完成所述计算机的启动。
7.如权利要求6所述的装置,其特征在于,在所述当前使用的启动引导介质为光盘的情况下,所述执行模块具体用于:
挂载所述计算机上的光驱设备;
从所述光驱设备上运行的光盘中查找所述根文件系统文件。
8.如权利要求6所述的装置,其特征在于,在所述当前使用的启动引导介质为磁盘的情况下,所述执行模块具体用于:
挂载所述计算机上的磁盘的第一个分区;
从所述第一分区中查找所述根文件系统文件。
9.如权利要求6所述的装置,其特征在于,在所述当前使用的启动引导介质为网络的情况下,所述执行模块具体用于:
根据配置的网络服务器的地址,确定存储有所述根文件系统文件的网络服务器;
利用网络文件系统NFS功能,挂载所述网络服务器的存储有所述根文件系统文件的目录;
在所述目录下查找所述根文件系统文件。
10.如权利要求6-9中任一项所述的方法,其特征在于,所述Linux系统为目标Linux系统,所述目标Linux系统是基于任意一个Linux的发行版本定制而成的,定制过程包括:
获取所述发行版本的Linux系统的临时根文件系统和根文件系统;
在所述发行版本的Linux系统的临时根文件系统中添加所述启动脚本,得到所述目标Linux系统的临时根文件系统;
根据所述发行版本的Linux系统的根文件系统,生成所述目标Linux系统的根文件系统文件。
11.一种启动引导介质的制作方法,其特征在于,包括:
获取任意一个发行版本的Linux系统的临时根文件系统和根文件系统;
在所述发行版本的Linux系统的临时根文件系统中添加启动脚本,得到目标Linux系统的临时根文件系统,其中,所述启动脚本用于指示待制作的目标启动引导介质类型,以及所述目标启动引导介质对应的引导代码,其中,所述启动引导脚本包括多种启动引导介质对应的引导代码,每种启动引导介质的引导代码用于指示所述每种启动引导介质对应的根文件系统文件查找方式;
根据所述发行版本的Linux系统的根文件系统,生成所述目标Linux系统的根文件系统文件;
将所述目标Linux系统的根文件系统文件和所述目标Linux系统的临时根文件系统存储至所述目标启动引导介质中,完成所述目标启动引导介质的制作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510493780.2A CN105094837A (zh) | 2015-08-12 | 2015-08-12 | 引导计算机启动的方法、装置及启动引导介质的制作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510493780.2A CN105094837A (zh) | 2015-08-12 | 2015-08-12 | 引导计算机启动的方法、装置及启动引导介质的制作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105094837A true CN105094837A (zh) | 2015-11-25 |
Family
ID=54575365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510493780.2A Pending CN105094837A (zh) | 2015-08-12 | 2015-08-12 | 引导计算机启动的方法、装置及启动引导介质的制作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105094837A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416446A (zh) * | 2020-11-19 | 2021-02-26 | 深圳忆联信息系统有限公司 | 基于微软布署系统的Linux网络启动方法及装置 |
CN112579256A (zh) * | 2020-12-14 | 2021-03-30 | 上海英方软件股份有限公司 | 一种linux迁移方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226477A (zh) * | 2007-01-16 | 2008-07-23 | 北京共创开源软件有限公司 | 一种适合移动应用的Linux操作系统的实现方法 |
CN102902563A (zh) * | 2012-09-24 | 2013-01-30 | 中标软件有限公司 | Linux操作系统及其启动过程中挂载文件系统的方法 |
CN103077043A (zh) * | 2012-11-15 | 2013-05-01 | 上海爱数软件有限公司 | 一种快速启动及运行Linux的方法 |
-
2015
- 2015-08-12 CN CN201510493780.2A patent/CN105094837A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226477A (zh) * | 2007-01-16 | 2008-07-23 | 北京共创开源软件有限公司 | 一种适合移动应用的Linux操作系统的实现方法 |
CN102902563A (zh) * | 2012-09-24 | 2013-01-30 | 中标软件有限公司 | Linux操作系统及其启动过程中挂载文件系统的方法 |
CN103077043A (zh) * | 2012-11-15 | 2013-05-01 | 上海爱数软件有限公司 | 一种快速启动及运行Linux的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416446A (zh) * | 2020-11-19 | 2021-02-26 | 深圳忆联信息系统有限公司 | 基于微软布署系统的Linux网络启动方法及装置 |
CN112416446B (zh) * | 2020-11-19 | 2022-03-29 | 深圳忆联信息系统有限公司 | 基于微软布署系统的Linux网络启动方法及装置 |
CN112579256A (zh) * | 2020-12-14 | 2021-03-30 | 上海英方软件股份有限公司 | 一种linux迁移方法及装置 |
CN112579256B (zh) * | 2020-12-14 | 2022-04-19 | 上海英方软件股份有限公司 | 一种linux迁移方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8156485B2 (en) | Method and apparatus for creating a pluggable, prioritized configuration engine to be used for configuring a software during installation, update and new profile creation | |
US7475396B2 (en) | Method and apparatus for defining, building and deploying pluggable and independently configurable install components | |
EP3518099B1 (en) | Installation of operating system | |
US6425078B1 (en) | Method for factory-installation of files and directories with long filenames while maintaining proper reference to their short filename equivalents | |
US7873960B2 (en) | Generic packaging tool for packaging application and component therefor to be installed on computing device | |
CN105760201A (zh) | 一种嵌入式装置的启动方法和装置 | |
WO2015165111A1 (en) | Fast deployment across cloud platforms | |
CN101014034A (zh) | 一种基于u盘服务器的集群解决方法 | |
CN103324474B (zh) | 基于Linux操作系统跨体系构造ISO的方法及模块 | |
US20200057654A1 (en) | Method and system for mirror image package preparation and application operation | |
CN103580908A (zh) | 服务器的配置方法及系统 | |
CN107329792B (zh) | 一种Docker容器启动方法及装置 | |
CN110673923A (zh) | Xwiki系统配置方法、系统及计算机设备 | |
CN105183760A (zh) | 一种网页组件加载方法和装置 | |
CN105117268A (zh) | 一种实现linux系统自动安装的安装方法及系统 | |
US20170371641A1 (en) | Multi-tenant upgrading | |
CN108008962A (zh) | 一种Linux系统下PXE服务器的配置方法和系统 | |
CN114721783B (zh) | 资源文件提取方法、装置、电子设备及存储介质 | |
CN113467790B (zh) | 软件打包方法、装置及可读存储介质 | |
US9733918B2 (en) | Using cloud patterns for installation on unmanaged physical machines and appliances | |
CN105320540A (zh) | 一种安卓应用的批量安装方法及系统 | |
CN105094837A (zh) | 引导计算机启动的方法、装置及启动引导介质的制作方法 | |
CN116685946A (zh) | 在不停止应用的执行的情况下的更新的共享库的重新加载 | |
CN112685040A (zh) | 安卓系统中界面文件的生成方法、装置、设备及存储介质 | |
CN101840337B (zh) | 一种适用于捕包应用的裁减系统定制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8 Applicant after: SHANGHAI EISOO INFORMATION TECHNOLOGY CO., LTD. Address before: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8 Applicant before: Shanghai Eisoo Software Co.,Ltd. |
|
COR | Change of bibliographic data | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |