引導(dǎo)計(jì)算機(jī)啟動(dòng)的方法、裝置及啟動(dòng)引導(dǎo)介質(zhì)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,并且更具體地,涉及引導(dǎo)計(jì)算機(jī)啟動(dòng)的方法、裝置及啟動(dòng)引導(dǎo)介質(zhì)的制作方法。
【背景技術(shù)】
[0002]不同計(jì)算機(jī)的啟動(dòng)引導(dǎo)介質(zhì)可能是不同的,對(duì)于一些老舊的計(jì)算機(jī),它們只能采用光驅(qū)引導(dǎo)來(lái)啟動(dòng)系統(tǒng),而對(duì)于一些較新的計(jì)算機(jī),通??梢圆捎么疟P(pán)引導(dǎo)或者網(wǎng)絡(luò)引導(dǎo)來(lái)啟動(dòng)系統(tǒng)。另外,在一些特殊的環(huán)境下,出于安全或者成本上的考慮,很多重要的計(jì)算機(jī)只允許采用統(tǒng)一的網(wǎng)絡(luò)引導(dǎo)來(lái)啟動(dòng)系統(tǒng),而不允許使用磁盤(pán)引導(dǎo)或者光盤(pán)引導(dǎo)來(lái)啟動(dòng)系統(tǒng)。
[0003]在計(jì)算機(jī)原有系統(tǒng)無(wú)法正常啟動(dòng)或者其他需要重新安裝系統(tǒng)的情況下,現(xiàn)有技術(shù)是針對(duì)不同類型的啟動(dòng)引導(dǎo)介質(zhì)制作不同的啟動(dòng)方案來(lái)啟動(dòng)計(jì)算機(jī)。這種啟動(dòng)方式要針對(duì)不同的啟動(dòng)引導(dǎo)介質(zhì)制作包含不同啟動(dòng)代碼的多種版本的系統(tǒng),增加了系統(tǒng)開(kāi)發(fā)和維護(hù)的工作量,另外,對(duì)于一些系統(tǒng)環(huán)境未知的場(chǎng)合,在啟動(dòng)系統(tǒng)前需要事先查看系統(tǒng)環(huán)境才能決定采用何種啟動(dòng)方案,這樣就增加了時(shí)間成本,降低了效率。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供一種引導(dǎo)計(jì)算機(jī)啟動(dòng)的方法、裝置及啟動(dòng)引導(dǎo)介質(zhì)的制作方法,以啟動(dòng)多種啟動(dòng)引導(dǎo)介質(zhì)下的計(jì)算機(jī)。
[0005]第一方面,提供一種引導(dǎo)計(jì)算機(jī)啟動(dòng)的方法,包括:當(dāng)所述計(jì)算機(jī)開(kāi)啟時(shí),掛載所述計(jì)算機(jī)的Linux系統(tǒng)的臨時(shí)根文件系統(tǒng);調(diào)用所述臨時(shí)根文件系統(tǒng)中的啟動(dòng)腳本,所述啟動(dòng)腳本用于指示所述計(jì)算機(jī)當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)類型,以及所述當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼,其中,所述啟動(dòng)腳本包括多種啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼;執(zhí)行所述當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼,以查找所述Linux系統(tǒng)的根文件系統(tǒng)文件;根據(jù)查找到的所述根文件系統(tǒng)文件,將所述Linux系統(tǒng)從所述臨時(shí)根文件系統(tǒng)切換至根文件系統(tǒng),以完成所述計(jì)算機(jī)的啟動(dòng)。
[0006]結(jié)合第一方面,在第一方面的一種實(shí)現(xiàn)方式中,所述計(jì)算機(jī)當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)為光盤(pán),所述執(zhí)行所述當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼,查找所述Linux系統(tǒng)的根文件系統(tǒng)文件,包括:掛載所述計(jì)算機(jī)上的光驅(qū)設(shè)備;從所述光驅(qū)設(shè)備上運(yùn)行的光盤(pán)中查找所述根文件系統(tǒng)文件。
[0007]結(jié)合第一方面或上述實(shí)現(xiàn)方式中的任意一種,在第一方面的另一種實(shí)現(xiàn)方式中,所述計(jì)算機(jī)當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)為磁盤(pán),所述執(zhí)行所述當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼,查找所述Linux系統(tǒng)的根文件系統(tǒng)文件,包括:掛載所述計(jì)算機(jī)上的磁盤(pán)的第一個(gè)分區(qū);從所述第一分區(qū)中查找所述根文件系統(tǒng)文件。
[0008]結(jié)合第一方面或上述實(shí)現(xiàn)方式中的任意一種,在第一方面的另一種實(shí)現(xiàn)方式中,所述計(jì)算機(jī)當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)為網(wǎng)絡(luò),所述執(zhí)行所述當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼,查找所述Linux系統(tǒng)的根文件系統(tǒng)文件,包括:根據(jù)配置的網(wǎng)絡(luò)服務(wù)器的地址,確定存儲(chǔ)有所述根文件系統(tǒng)文件的網(wǎng)絡(luò)服務(wù)器;利用網(wǎng)絡(luò)文件系統(tǒng)NFS功能,掛載所述網(wǎng)絡(luò)服務(wù)器的存儲(chǔ)有所述根文件系統(tǒng)文件的目錄;在所述目錄下查找所述根文件系統(tǒng)文件。
[0009]結(jié)合第一方面或上述實(shí)現(xiàn)方式中的任意一種,在第一方面的另一種實(shí)現(xiàn)方式中,所述Linux系統(tǒng)為目標(biāo)Linux系統(tǒng),所述目標(biāo)Linux系統(tǒng)是基于任意一個(gè)Linux的發(fā)行版本定制而成的,定制過(guò)程包括:獲取所述發(fā)行版本的Linux系統(tǒng)的臨時(shí)根文件系統(tǒng)和根文件系統(tǒng);在所述發(fā)行版本的Linux系統(tǒng)的臨時(shí)根文件系統(tǒng)中添加所述啟動(dòng)腳本,得到所述目標(biāo)Linux系統(tǒng)的臨時(shí)根文件系統(tǒng);根據(jù)所述發(fā)行版本的Linux系統(tǒng)的根文件系統(tǒng),生成所述目標(biāo)Linux系統(tǒng)的根文件系統(tǒng)文件。
[0010]第二方面,提供一種引導(dǎo)計(jì)算機(jī)啟動(dòng)的裝置,包括:掛載模塊,當(dāng)所述計(jì)算機(jī)開(kāi)啟時(shí),掛載所述計(jì)算機(jī)的Linux系統(tǒng)的臨時(shí)根文件系統(tǒng);確定模塊,用于調(diào)用所述臨時(shí)根文件系統(tǒng)中的啟動(dòng)腳本,所述啟動(dòng)腳本用于指示所述計(jì)算機(jī)當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)類型,以及所述當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼,其中,所述啟動(dòng)腳本包括多種啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼;執(zhí)行模塊,用于執(zhí)行所述當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼,以查找所述Linux系統(tǒng)的根文件系統(tǒng)文件;啟動(dòng)模塊,用于根據(jù)查找到的所述根文件系統(tǒng)文件,將所述Linux系統(tǒng)從所述臨時(shí)根文件系統(tǒng)切換至根文件系統(tǒng),以完成所述計(jì)算機(jī)的啟動(dòng)。
[0011]結(jié)合第二方面,在第二方面的一種實(shí)現(xiàn)方式中,在所述當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)為光盤(pán)的情況下,所述執(zhí)行模塊具體用于:掛載所述計(jì)算機(jī)上的光驅(qū)設(shè)備;從所述光驅(qū)設(shè)備上運(yùn)行的光盤(pán)中查找所述根文件系統(tǒng)文件。
[0012]結(jié)合第二方面或上述實(shí)現(xiàn)方式中的任意一種,在第二方面的另一種實(shí)現(xiàn)方式中,在所述當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)為磁盤(pán)的情況下,所述執(zhí)行模塊具體用于:掛載所述計(jì)算機(jī)上的磁盤(pán)的第一個(gè)分區(qū);從所述第一分區(qū)中查找所述根文件系統(tǒng)文件。
[0013]結(jié)合第二方面或上述實(shí)現(xiàn)方式中的任意一種,在第二方面的另一種實(shí)現(xiàn)方式中,在所述當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)為網(wǎng)絡(luò)的情況下,所述執(zhí)行模塊具體用于:根據(jù)配置的網(wǎng)絡(luò)服務(wù)器的地址,確定存儲(chǔ)有所述根文件系統(tǒng)文件的網(wǎng)絡(luò)服務(wù)器;利用網(wǎng)絡(luò)文件系統(tǒng)NFS功能,掛載所述網(wǎng)絡(luò)服務(wù)器的存儲(chǔ)有所述根文件系統(tǒng)文件的目錄;在所述目錄下查找所述根文件系統(tǒng)文件。
[0014]結(jié)合第二方面或上述實(shí)現(xiàn)方式中的任意一種,在第二方面的另一種實(shí)現(xiàn)方式中,所述Linux系統(tǒng)為目標(biāo)Linux系統(tǒng),所述目標(biāo)Linux系統(tǒng)是基于任意一個(gè)Linux的發(fā)行版本定制而成的,定制過(guò)程包括:獲取所述發(fā)行版本的Linux系統(tǒng)的臨時(shí)根文件系統(tǒng)和根文件系統(tǒng);在所述發(fā)行版本的Linux系統(tǒng)的臨時(shí)根文件系統(tǒng)中添加所述啟動(dòng)腳本,得到所述目標(biāo)Linux系統(tǒng)的臨時(shí)根文件系統(tǒng);根據(jù)所述發(fā)行版本的Linux系統(tǒng)的根文件系統(tǒng),生成所述目標(biāo)Linux系統(tǒng)的根文件系統(tǒng)文件。
[0015]第三方面,提供一種啟動(dòng)引導(dǎo)介質(zhì)的制作方法,包括:獲取任意一個(gè)發(fā)行版本的Linux系統(tǒng)的臨時(shí)根文件系統(tǒng)和根文件系統(tǒng);在所述發(fā)行版本的Linux系統(tǒng)的臨時(shí)根文件系統(tǒng)中添加啟動(dòng)腳本,得到目標(biāo)Linux系統(tǒng)的臨時(shí)根文件系統(tǒng),其中,所述啟動(dòng)腳本用于指示待制作的目標(biāo)啟動(dòng)引導(dǎo)介質(zhì)類型,以及所述目標(biāo)啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼,其中,所述啟動(dòng)引導(dǎo)腳本包括多種啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼,每種啟動(dòng)引導(dǎo)介質(zhì)的引導(dǎo)代碼用于指示所述每種啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的根文件系統(tǒng)文件查找方式;根據(jù)所述發(fā)行版本的Linux系統(tǒng)的根文件系統(tǒng),生成所述目標(biāo)Linux系統(tǒng)的根文件系統(tǒng)文件;將所述目標(biāo)Linux系統(tǒng)的根文件系統(tǒng)文件和所述目標(biāo)Linux系統(tǒng)的臨時(shí)根文件系統(tǒng)存儲(chǔ)至所述目標(biāo)啟動(dòng)引導(dǎo)介質(zhì)中,完成所述目標(biāo)啟動(dòng)引導(dǎo)介質(zhì)的制作。
[0016]本發(fā)明實(shí)施例在Linux系統(tǒng)的臨時(shí)根文件系統(tǒng)中添加了啟動(dòng)腳本,該啟動(dòng)腳本不但能夠指示當(dāng)前使用的引導(dǎo)介質(zhì)的類型及其對(duì)應(yīng)的引導(dǎo)代碼,而且包含多種引導(dǎo)介質(zhì)的引導(dǎo)代碼,這樣,當(dāng)計(jì)算機(jī)需要不同的啟動(dòng)引導(dǎo)介質(zhì)啟動(dòng)時(shí),僅需要更改啟動(dòng)腳本中的當(dāng)前使用的引導(dǎo)介質(zhì)的類型,然后將該Linux系統(tǒng)存儲(chǔ)到對(duì)應(yīng)的介質(zhì)中即可,也就是說(shuō),本發(fā)明實(shí)施例定制的Linux系統(tǒng)支持多種啟動(dòng)引導(dǎo)介質(zhì),而不像現(xiàn)有技術(shù)那樣需要為不同的啟動(dòng)引導(dǎo)介質(zhì)定制不同的Linux系統(tǒng),提高了 Linux系統(tǒng)對(duì)多種啟動(dòng)引導(dǎo)介質(zhì)的兼容性。
【附圖說(shuō)明】
[0017]為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面所描述的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1是本發(fā)明實(shí)施例的引導(dǎo)計(jì)算機(jī)啟動(dòng)的方法的示意性框圖。
[0019]圖2是本發(fā)明實(shí)施例的引導(dǎo)計(jì)算機(jī)啟動(dòng)的方法的流程圖。
[0020]圖3是本發(fā)明實(shí)施例的引導(dǎo)計(jì)算機(jī)啟動(dòng)的裝置的示意性框圖。
[0021]圖4是本發(fā)明實(shí)施例的啟動(dòng)引導(dǎo)介質(zhì)的制作方法的示意性框圖。
[0022]圖5是本發(fā)明實(shí)施例的啟動(dòng)引導(dǎo)介質(zhì)的制作方法的流程圖。
【具體實(shí)施方式】
[0023]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0024]圖1是本發(fā)明實(shí)施例的引導(dǎo)計(jì)算機(jī)啟動(dòng)的方法的示意性流程圖。圖1的方法包括:
[0025]110、當(dāng)該計(jì)算機(jī)開(kāi)啟時(shí),掛載Linux系統(tǒng)的臨時(shí)根文件系統(tǒng);
[0026]120、調(diào)用所述臨時(shí)根文件系統(tǒng)中的啟動(dòng)腳本,所述啟動(dòng)腳本用于指示所述計(jì)算機(jī)當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)類型,以及所述當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼,其中,所述啟動(dòng)腳本包括多種啟動(dòng)引導(dǎo)介質(zhì)對(duì)應(yīng)的引導(dǎo)代碼。
[0027]應(yīng)理解,啟動(dòng)腳本啟動(dòng)后可以先判斷計(jì)算機(jī)當(dāng)前使用的啟動(dòng)引導(dǎo)介質(zhì)類型。具體而言,在進(jìn)入臨時(shí)根文件系統(tǒng)后,可以通過(guò)調(diào)用代碼調(diào)用啟動(dòng)腳本來(lái)判