本申请涉及计算机领域,尤其涉及一种操作系统的安装方法和装置。
背景技术:
在windows系统中,挂载可理解为给磁盘分区分配一个盘符,挂载点相当于windows系统中的磁盘,如disk0、disk1、disk2等。在linux系统中,挂载可理解为将一个设备(如存储设备)挂接到一个已存在的目录上,挂载点相当于linux系统中的磁盘文件系统的入口目录,如sda、sdb、sdc等。
目前在安装操作系统(如linux系统或windows系统)时,一般默认将操作系统安装在容量大于80gb(单位:千兆字节)的各硬盘中挂载顺序排在第一位的硬盘上。例如,linux系统一般默认安装在sda上,windows系统一般默认安装在disk0上。
技术实现要素:
有鉴于此,本申请提供一种操作系统的安装方法和装置,用于将操作系统安装在指定的raid上,这样可以方便用户对系统盘的管理。
本申请是通过如下技术方案实现的:
本申请第一方面,提供了一种操作系统的安装方法,包括:
在临时系统下确定用于安装操作系统的指定物理硬盘;
判断待安装操作系统的系统类型,以及判断临时系统与待安装操作系统是否为同类型系统;
在与判断结果对应的系统阶段下,从预设的查询方式中选择与判断结果对应的查询方式来查询所述指定物理硬盘在待安装操作系统上的逻辑盘符;
在待安装操作系统的小系统下,将待安装操作系统安装到所述逻辑盘符标识的所述指定物理硬盘上。
本申请第二方面,提供了一种操作系统的安装装置,具有实现上述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。
一种实现方式中,所述装置包括:
硬盘确定单元,用于在临时系统下确定用于安装操作系统的指定物理硬盘;
判断单元,用于判断待安装操作系统的系统类型,以及判断临时系统与待安装操作系统是否为同类型系统;
逻辑盘符查询单元,用于在与判断结果对应的系统阶段下,从预设的查询方式中选择与判断结果对应的查询方式来查询所述指定物理硬盘在待安装操作系统上的逻辑盘符;
操作系统安装单元,用于在待安装操作系统的小系统下,将待安装操作系统安装到所述逻辑盘符标识的所述指定物理硬盘上。
另一种实现中,所述装置可以包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现第一方面所述的方法。
利用本申请提供的方案,可以将操作系统安装在用户选中的硬盘上,这样可以方便用户对系统盘的管理,比如知道具体的系统盘位置后,在重装系统时可以避免将操作系统安装到数据盘上。
附图说明
图1是本申请提供的方法流程图;
图2是本申请提供的获取物理硬盘的序列号、物理位置、序列号与逻辑盘符对应关系的示意图;
图3是本申请提供的windows系统上物理硬盘的槽号与逻辑盘符对应关系的示意图;
图4是本申请提供的装置功能模块框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
目前在安装操作系统时,可以按照顺序遍历各挂载点,比如在安装linux系统时可以依次遍历sda、sdb、sdc……,在安装windows系统时可以依次遍历disk0、disk1、disk2……,然后选中第一块容量大于80gb的挂载点,将操作系统安装到该挂载点对应的硬盘上。用户想要知道操作系统安装在哪个硬盘上,可以通过bios(basicinputoutputsystem,基本输入输出系统)查看硬盘的挂载顺序,但这种方式比较麻烦,不方便管理。并且,如果在操作系统安装完毕后挂载点的顺序发生了变化(比如热插拔硬盘时)而用户并不清楚初始哪些硬盘为系统盘(即安装有操作系统的硬盘)哪些硬盘为数据盘(即未安装操作系统的硬盘),这将为硬盘后续的管理带来困难,容易造成系统盘和数据盘中的数据被破坏。
为解决上述问题,本申请提供了一种操作系统的安装方案,可以将操作系统安装到指定的硬盘上,从而可以方便识别系统盘。
从当前的发展来看,目前主流的操作系统主要有linux系统和windows系统,因此本申请主要围绕这两种操作系统来说明本申请提供的方法,但考虑到操作系统的多样性以及未来可能出现更多新的操作系统,本申请并不限制操作系统的具体类型。
下面对本申请提供的方法进行描述。
本方法可以应用于有安装操作系统需求的计算机或服务器上,并且本方法至少可应用于以下三种场景:
一、在裸机(即未安装有任何操作系统的计算机或服务器)上安装操作系统;
二、在已有操作系统的计算机或服务器上安装双操作系统;
三、为已有操作系统的计算机或服务器上重装操作系统。
无论应用于哪种场景,本方法的操作流程均是相似的。参见图1,为本申请提供的方法流程图,本方法可包括步骤101-步骤104,步骤101-步骤104的执行过程中涉及两种系统阶段:临时系统和待安装操作系统的小系统,其中步骤101和步骤102在临时系统中执行,步骤104在待安装操作系统的小系统中执行,步骤103可能在临时系统中执行也可能在待安装操作系统需要根据步骤103的判断结果决定。接下来,对本方法包括的各个步骤进行介绍。
步骤101:在临时系统下确定用于安装操作系统的指定物理硬盘。
在本申请中,待安装操作系统的计算机或服务器可以首先启动一临时系统,该临时系统可认为是用来安装操作系统的工具,该临时系统可以是linux系统、windows系统等。
在该临时系统下,计算机或服务器可以通过自身的外部接口接收外部输入的指示,从而确定操作系统将要安装到哪个物理硬盘上。该外部接口可以是图形界面、命令行界面、人机接口或者其它形式的接口。用户可以通过输入物理硬盘的槽号指示定用于安装操作系统的指定物理硬盘。
步骤102:判断待安装操作系统的系统类型,以及判断临时系统与待安装操作系统是否为同类型系统。
以常见的linux系统和windows系统为例,由于临时系统和待安装操作系统都既可能是linux系统也可能是windows系统,因此共有以下四种判断结果:
判断结果一:通过windows系统来安装windows系统,即待安装操作系统为windows系统,且临时系统与待安装操作系统为同类型系统;
判断结果二:通过linux系统来安装windows系统,即待安装操作系统为windows系统,且临时系统与待安装操作系统为不同类型系统;
判断结果三:通过linux系统来安装linux系统,即待安装操作系统为linux系统,且临时系统与待安装操作系统为同类型系统;
判断结果四:通过windows系统来安装linux系统,即待安装操作系统为linux系统,且临时系统与待安装操作系统为不同类型系统。
步骤103:在与判断结果对应的系统阶段下,从预设的查询方式中选择与判断结果对应的查询方式来查询该指定物理硬盘在待安装操作系统上的逻辑盘符。
在linux系统上,物理硬盘的逻辑盘符可以用sda、sdb等来表示;在windows系统中,物理硬盘的逻辑盘符可以用disk0、disk1等来表示。
步骤103中,预设的用来查询物理硬盘在待安装操作系统上的逻辑盘符的查询方式有很多种实现方式,这里简单举两种实现方式:
第一种查询方式:获取指定物理硬盘的槽号所对应的序列号(serialnumber),查找序列号和逻辑盘符的对应关系,在该对应关系中找到与该指定物理硬盘的序列号对应的逻辑盘符。
作为一个实施例,在第一种查询方式中,待安装操作系统的计算机或服务器通过外部接口收到指定物理硬盘的槽号后,可以通过arcconf工具(或hdparm工具)来获取该指定物理硬盘的槽号对应的序列号,以及可以通过smartctl工具来获取序列号和逻辑盘符的对应关系。
以linux系统为例,参见图2,当在linux系统的命令行界面输入“arcconfgetconfig1pd|grep‘serialnumber’”时,可以获取到当前linux系统的第1个控制卡下所有物理硬盘的序列号,从图2中可以看到,第一个控制卡下包括“wmayp0dk6ryz”、“wmayp8170652”等6个硬盘序列号。当在linux系统的命令行界面输入“acconfgetconfig1pd|grep‘reported|ocation’”时,可以获取到当前linux系统的第1个控制卡下所有物理硬盘的物理位置,从图2中可以看到,第一个控制卡下包括的6块物理硬盘的框号(enclosureid)均为1,槽号(slotid)分别是1、4、7、8、10、11。结合得到的第1个控制卡下所有物理硬盘的序列号和物理位置,即可得到第1个控制卡下所有物理硬盘的槽号与序列号的对应关系,比如图2中槽号1上的物理硬盘对应的序列号为“wmayp0dk6ryz”,槽号4上的物理硬盘对应的物理号为“wmayp8170652”。接下来,便可以使用smart工具依次查找各个逻辑盘符与序列号的对应关系,再从逻辑盘符与序列号的对应关系中找到与指定物理硬盘的序列号匹配的逻辑盘符,该匹配的逻辑盘符即为用户选定的物理硬盘的逻辑盘符。比如,假设用户输入的指定物理硬盘的槽号为1,通过图2中的前两个acconf命令行可知槽号1的物理硬盘的序列号为“wmayp0dk6ryz”,接下来,在linux系统的命令行界面输入“smartctl–a/dev/sda|grep‘serialnumber’”,可以得到逻辑盘符sda对应的序列号正好也为“wmayp0dk6ryz”,由此可确定用户指定的槽号1的物理硬盘在linux系统上的逻辑盘符为sda。
需要注意的是,第一种查询方式只能用于确定用户指定的物理硬盘在当前系统阶段的逻辑盘符,该当前系统阶段可以是linux系统,也可以是windows系统。由于临时系统与待安装操作系统可能是同类型系统,也可能是不同类型系统,因此需要注意第一种查询方式的使用时机。
比如,在临时系统与待安装操作系统是同类型系统的情况下,无论在哪个系统阶段(临时系统或待安装操作系统的小系统)通过第一种查询方式确定出的逻辑盘符都是相同的,因此在这种情况下,理论上而言既可以选择在临时系统下通过第一种查询方式来查询指定物理硬盘在待安装操作系统上的逻辑盘符,也可以选择在待安装操作系统的小系统下通过第一种查询方式来查询指定物理硬盘在待安装操作系统上的逻辑盘符。
又比如,在临时系统与待安装操作系统是不同类型系统的情况下,如果在临时系统下使用第一种查询方式,查询到的仅是指定物理硬盘在临时系统上的逻辑盘符,这个逻辑盘符对于待安装操作系统的小系统来说是无法识别的。为了避免因待安装操作系统的小系统无法识别逻辑盘符导致操作系统安装失败这一事件的发生,在临时系统与待安装操作系统是不同类型系统的情况下,如果要使用第一种查询方式来确定指定物理硬盘在待安装操作系统上的逻辑盘符,则需要在待安装操作系统的小系统阶段执行。
第二种查询方式:获取当前操作系统包括的所有槽号并将获取到的所有槽号按照序号值从小到大的顺序进行排序得到排序队列,获取指定物理硬盘的槽号并确定该指定物理硬盘的槽号在该排序队列中的位置,根据该位置确定该指定物理硬盘的逻辑盘符。
第二种查询方式专门用于查询指定物理硬盘在windows系统上的逻辑盘符。在windows系统中,物理硬盘的逻辑盘符可以表示为disk*的形式,而这里*的取值与该物理硬盘的槽号在上述排序队列中的位置有关,如果该物理硬盘的槽号在上述排序队列中排在第n位,则该物理硬盘的逻辑盘符即为disk(n-1)。
例如,参见图3,可以通过arcconf工具获取所有物理硬盘的槽号并将其按照槽号值从小到大的顺序排序,在图3中槽号的排序队列为:槽号1、槽号3和槽号4;对于槽号1,其在各槽号的排序队列中处在第一个,因此槽号1上的物理硬盘的逻辑盘符就是disk0,相应的,槽号3上的物理硬盘的逻辑盘符就是disk1,槽号4上的物理硬盘的逻辑盘符就是disk2。
需要注意的是,在用户未插拔硬盘的前提下,同一设备包括的物理硬盘的物理位置(包括槽号)在不同系统阶段是固定的。举例来说,某设备在linux系统下其槽号1上的物理硬盘,与该设备在windows系统下其槽号1上的物理硬盘是同一块物理硬盘。由于物理硬盘的物理位置是固定的,而物理硬盘在windows系统上的逻辑盘符与该物理硬盘的物理位置有关,因此只要待安装操作系统是windows系统,则不论临时系统是何种类型系统,均可以使用第二种查询方式来确定指定物理硬盘在windows系统上的逻辑盘符,且本申请并不限制第二种查询方式的使用时机,既可以选择在临时系统下通过第二种查询方式来查询指定物理硬盘在windows系统上的逻辑盘符,也可以选择在待安装操作系统的小系统下通过第二种查询方式来查询指定物理硬盘在windows系统上的逻辑盘符。
基于上面描述,步骤103的具体实现过程如下:
在一种实施方式中,当步骤102得到的判断结果为上述判断结果一,即待安装操作系统均为windows系统,且临时系统与待安装操作系统为同类型系统时,可以选择在临时系统或待安装操作系统的小系统下,从上述第一种查询方式和第二种查询方式中选择任一种查询方式来查询指定物理硬盘在待安装操作系统上的逻辑盘符。
这里,若选择在待安装操作系统的小系统下查询指定物理硬盘的逻辑盘符,则待安装操作系统的计算机或服务器可以先对这个小系统进行修改,将第一种查询方式涉及的arcconf工具和smartctl工具放到该小系统的指定位置中,以及将用户选中的指定物理硬盘的槽号存放到引导文件中,然后退出当前的临时系统,关机重启后,再进入待安装操作系统的小系统,基于引导文件的指示通过arcconf工具和smartctl工具执行相应步骤,获取指定物理硬盘的逻辑盘符。
在一种实施方式中,当步骤102得到的判断结果为上述判断结果二,即待安装操作系统为windows系统,且临时系统与待安装操作系统为不同类型系统时,可以选择在待安装操作系统的小系统下,选择上述第一种查询方式来查询指定物理硬盘在待安装操作系统上的逻辑盘符;或者,也可以选择在临时系统或待安装操作系统的小系统下,选择上述第二种查询方式来查询指定物理硬盘在待安装操作系统上的逻辑盘符。
在一种实施方式中,当步骤102得到的判断结果为上述判断结果三,即待安装操作系统为linux系统,且临时系统与待安装操作系统为同类型系统时,可以选择在临时系统或待安装操作系统的小系统下,选择上述第一种查询方式来查询指定物理硬盘在待安装操作系统上的逻辑盘符。
在一种实施方式中,当步骤102得到的判断结果为上述判断结果四,即待安装操作系统为linux系统,且临时系统与待安装操作系统为不同类型系统时,可以选择在待安装操作系统的小系统下,选择上述第一种查询方式来查询指定物理硬盘在待安装操作系统上的逻辑盘符。
查询到指定物理硬盘在待安装操作系统上的逻辑盘符之后,计算机或服务器便可以将该逻辑盘符配置到自动安装文件中。自动安装文件是用于完成操作系统全自动安装的文件,其内还包括了用户密码等配置数据。基于自动安装文件,计算机或服务器即可执行步骤104,实现操作系统的自动安装。
步骤104:在待安装操作系统的小系统下,将待安装操作系统安装到查询到的逻辑盘符标识的指定物理硬盘上。
至此,完成图1所示的流程。
通过图1所示流程可以看出,在本申请中,可以将操作系统安装在用户选中的硬盘上,这样可以方便用户对系统盘的更换和管理,比如知道具体的系统盘位置后,重装系统时可以避免将操作系统安装到数据盘上。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述。
参见图4,图4为本申请提供的一种操作系统的安装装置的功能模块框图,可以包括以下单元:
硬盘确定单元401,用于在临时系统下确定用于安装操作系统的指定物理硬盘。
判断单元402,用于判断待安装操作系统的系统类型,以及判断临时系统与待安装操作系统是否为同类型系统。
逻辑盘符查询单元403,用于在与判断结果对应的系统阶段下,从预设的查询方式中选择与判断结果对应的查询方式来查询所述指定物理硬盘在待安装操作系统上的逻辑盘符。
操作系统安装单元404,用于在待安装操作系统的小系统下,将待安装操作系统安装到所述逻辑盘符标识的所述指定物理硬盘上。
在其中一种实施方式中,所述预设的查询方式可以包括以下两种:
第一种查询方式:获取所述指定物理硬盘的槽号所对应的序列号,查找序列号和逻辑盘符的对应关系,在所述对应关系中找到与所述指定物理硬盘的序列号对应的逻辑盘符;
第二种查询方式:获取当前操作系统包括的所有槽号并将获取到的所有槽号按照序号值从小到大的顺序进行排序得到排序队列,获取所述指定物理硬盘的槽号并确定所述指定物理硬盘的槽号在该排序队列中的位置,根据该位置确定所述指定物理硬盘的逻辑盘符。
在其中一种实施方式中,当待安装操作系统为windows系统,且临时系统与待安装操作系统为同类型系统时;所述逻辑盘符查询单元403,用于在临时系统或待安装操作系统的小系统下,从所述第一种查询方式和所述第二种查询方式中选择任一种查询方式来查询所述指定物理硬盘在待安装操作系统上的逻辑盘符。
在其中一种实施方式中,当待安装操作系统为windows系统,且临时系统与待安装操作系统为不同类型系统时;所述逻辑盘符查询单元403,用于在待安装操作系统的小系统下,选择所述第一种查询方式来查询所述指定物理硬盘在待安装操作系统上的逻辑盘符;或在临时系统或待安装操作系统的小系统下,选择所述第二种查询方式来查询所述指定物理硬盘在待安装操作系统上的逻辑盘符。
在其中一种实施方式中,当待安装操作系统为linux系统,且临时系统与待安装操作系统为同类型系统时;所述逻辑盘符查询单元403,用于在临时系统或待安装操作系统的小系统下,选择所述第一种查询方式来查询所述指定物理硬盘在待安装操作系统上的逻辑盘符。
在其中一种实施方式中,当待安装操作系统为linux系统,且临时系统与待安装操作系统为不同类型系统时;所述逻辑盘符查询单元403,用于在待安装操作系统的小系统下,选择所述第一种查询方式来查询所述指定物理硬盘在待安装操作系统上的逻辑盘符。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请还提供一种操作系统的安装装置,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现如图1所示的方法。