專利名稱:操作系統(tǒng)遷移方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種操作系統(tǒng)遷移方法及裝置。
背景技術(shù):
Windows操作系統(tǒng)的遷移是指將源計算機(jī)中硬盤上的Windows操作系統(tǒng)和數(shù)據(jù)遷移到目標(biāo)計算機(jī)上,其中,源計算機(jī)是指已經(jīng)安裝好Windows操作系統(tǒng)和數(shù)據(jù)的計算機(jī),可以是一臺虛擬機(jī)或一臺物理計算機(jī);目標(biāo)計算機(jī)是指不同于源計算機(jī)的另一臺計算機(jī),可以是一臺虛擬機(jī)或一臺物理計算機(jī)。目前,在相同的硬件平臺下實現(xiàn)Windows操作系統(tǒng)的遷移通常采用以下方法:直接將源計算機(jī)的硬盤拆下來,連接到目標(biāo)計算機(jī)上;或者將源計算機(jī)的硬盤通過ghost或其它類似的拷貝工具拷貝到目標(biāo)計算機(jī)上的硬盤。但是,上述遷移方法都只能工作在相同的硬件平臺,對于不同的硬件平臺則無法實現(xiàn)?,F(xiàn)在不同的硬件平臺下Windows操作系統(tǒng)的遷移通常采用以下幾種方法:1、將源計算機(jī)的操作系統(tǒng)用微軟的封裝工具封裝后,拷貝到目標(biāo)計算機(jī)的硬盤上;2、將源計算機(jī)的操作系統(tǒng)拷貝到目標(biāo)計算機(jī)的硬盤上,然后在源計算機(jī)上用目標(biāo)計算機(jī)的硬盤啟動,再用微軟的封裝工具封裝,之后將目標(biāo)計算機(jī)的硬盤連接到目標(biāo)計算機(jī)上;3、用第三方的封裝工具代替1、2方案中的微軟的封裝工具。上述三種在不同硬件平臺下遷移操作系統(tǒng)的方法存在以下不足:遷移過程無法實現(xiàn)自動化,花費(fèi)的時間很長,而且當(dāng)源計算機(jī)中的Windows操作系統(tǒng)不兼容或無法識別目標(biāo)計算機(jī)的硬件抽象層、PCI總線控制器、硬盤控制器或CPU驅(qū)動程序時,遷移后的系統(tǒng)無法正常啟動。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種操作系統(tǒng)遷移方法及裝置,旨在自動化實現(xiàn)不同硬件平臺下的操作系統(tǒng)的遷移。為了達(dá)到上述目的,本發(fā)明提出一種操作系統(tǒng)遷移方法,包括:在目標(biāo)終端上啟動一預(yù)定系統(tǒng),作為遷移操作平臺;基于所述遷移操作平臺,掃描加載所述目標(biāo)終端的硬盤的硬件驅(qū)動程序所需要的硬件信息;通過所述硬件信息收集對應(yīng)的硬件驅(qū)動程序;根據(jù)所述硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù)。
優(yōu)選地,所述對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù)的步驟之后還包括:
獲取所述改造后的操作系統(tǒng)數(shù)據(jù),在所述目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng)。優(yōu)選地,所述根據(jù)硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù)的步驟包括:獲取源終端的硬盤上的操作系統(tǒng)數(shù)據(jù);根據(jù)所述硬件信息及對應(yīng)的硬件驅(qū)動程序,對所述操作系統(tǒng)數(shù)據(jù)進(jìn)行改造;將改造后的操作系統(tǒng)數(shù)據(jù)存儲在所述目標(biāo)終端的硬盤上,或者網(wǎng)絡(luò)存儲設(shè)備上,或者所述源終端的硬盤上。優(yōu)選地,所述獲取源終端的硬盤上的操作系統(tǒng)數(shù)據(jù)的步驟包括:通過虛擬硬盤獲取所述源終端的硬盤中的操作系統(tǒng)數(shù)據(jù)。優(yōu)選地,所述預(yù)定系統(tǒng)至少為從U盤、光盤或網(wǎng)絡(luò)啟動的Linux或WinPE系統(tǒng);所述硬件信息至少包括以下之一:硬件抽象層信息、計算機(jī)總線信息和硬盤控制器信息。本發(fā)明還提出一種操作系統(tǒng)遷移裝置,包括:啟動模塊,用于在目標(biāo)終端上啟動一預(yù)定系統(tǒng),作為遷移操作平臺;掃描模塊,用于基于所述遷移操作平臺,掃描加載所述目標(biāo)終端的硬盤的硬件驅(qū)動程序所需要的硬件信息; 收集模塊,用于通過所述硬件信息收集對應(yīng)的硬件驅(qū)動程序;改造存儲模塊,用于根據(jù)所述硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù)。優(yōu)選地,所述啟動模塊還用于獲取所述改造后的操作系統(tǒng)數(shù)據(jù),在所述目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng)。優(yōu)選地,所述改造存儲模塊包括:獲取單元,用于獲取源終端的硬盤上的操作系統(tǒng)數(shù)據(jù);改造單元,用于根據(jù)所述硬件信息及對應(yīng)的硬件驅(qū)動程序,對所述操作系統(tǒng)數(shù)據(jù)進(jìn)行改造;存儲單元,用于將改造后的操作系統(tǒng)數(shù)據(jù)存儲在所述目標(biāo)終端的硬盤上,或者網(wǎng)絡(luò)存儲設(shè)備上,或者所述源終端的硬盤上。優(yōu)選地,所述獲取單元還用于通過虛擬硬盤獲取所述源終端的硬盤中的操作系統(tǒng)數(shù)據(jù)。優(yōu)選地,所述預(yù)定系統(tǒng)至少為從U盤、光盤或網(wǎng)絡(luò)啟動的Linux或WinPE系統(tǒng);所述硬件信息至少包括以下之一:硬件抽象層信息、計算機(jī)總線信息和硬盤控制器信息。本發(fā)明提出的一種操作系統(tǒng)遷移方法及裝置,通過在目標(biāo)終端上啟動一預(yù)定系統(tǒng),作為遷移操作平臺;基于該遷移操作平臺,掃描加載目標(biāo)終端的硬盤所需要的硬件驅(qū)動程序的硬件信息;通過硬件信息收集對應(yīng)的硬件驅(qū)動程序;然后根據(jù)硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù),從而自動化實現(xiàn)操作系統(tǒng)的遷移,后續(xù)只需獲取改造后的操作系統(tǒng)數(shù)據(jù),在目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng),進(jìn)而解決了當(dāng)源終端中的操作系統(tǒng)不兼容或無法識別目標(biāo)終端的硬件抽象層、PCI總線控制器或硬盤控制器時進(jìn)行系統(tǒng)遷移后無法啟動系統(tǒng)的問題。
圖1是本發(fā)明操作系統(tǒng)遷移方法第一實施例的流程示意圖;圖2是本發(fā)明實施例中根據(jù)硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù)的流程示意圖;圖3是本發(fā)明操作系統(tǒng)遷移方法第二實施例的流程示意圖;圖4是本發(fā)明操作系統(tǒng)遷移裝置較佳實施例的結(jié)構(gòu)示意圖;圖5是本發(fā)明操作系統(tǒng)遷移裝置較佳實施例中改造存儲模塊的結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明實施例的解決方案主要思路是:在目標(biāo)終端上啟動一預(yù)定系統(tǒng),作為遷移操作平臺;基于該遷移操作平臺,掃描加載目標(biāo)終端的硬盤所需要的硬件驅(qū)動程序的硬件信息;通過硬件信息收集對應(yīng)的硬件驅(qū)動程序;然后根據(jù)硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù),自動化實現(xiàn)操作系統(tǒng)的遷移,后續(xù)只需獲取改造后的操作系統(tǒng)數(shù)據(jù),在目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng)。本發(fā)明中操作系統(tǒng)包括但不限于Windows操作系統(tǒng),以下各實施例中以Windows操作系統(tǒng)舉例說明。如圖1所示,本發(fā)明第一實施例提出的一種操作系統(tǒng)遷移方法,包括:步驟S101,在目 標(biāo)終端上啟動一預(yù)定系統(tǒng),作為遷移操作平臺;本實施例可以實現(xiàn)不同硬件平臺之間的操作系統(tǒng)遷移。其中:不同硬件平臺是指具有相同指令集、不同的CPU或內(nèi)存或外設(shè)的兩個計算機(jī)平臺,本實施例定義為源終端和目標(biāo)終端,源終端的硬盤上安裝有源Windows操作系統(tǒng),目標(biāo)終端的硬盤上需要接收遷移的改造后的Windows操作系統(tǒng)。具體地,上述相同指令集是指有兼容的指令集,比如兩個計算機(jī)平臺都為X86指令系統(tǒng)或者都為ARM的指令系統(tǒng);不同的內(nèi)存是指不同廠家的內(nèi)存或不同大小的內(nèi)存;不同的外設(shè)是指不同的IO設(shè)備,比如一臺計算機(jī)是ICH9平臺,另一臺計算機(jī)是sandy-bridge平臺;或者,比如一臺計算機(jī)是X86架構(gòu)的物理計算機(jī),另一臺計算機(jī)是X86架構(gòu)的虛擬機(jī)。首先,在目標(biāo)終端上啟動一預(yù)定系統(tǒng),作為遷移操作平臺,后續(xù)操作過程都在此遷移操作平臺上執(zhí)行。上述預(yù)定系統(tǒng)是指在目標(biāo)終端上從光盤、U盤或網(wǎng)絡(luò)中下載啟動的一個特定的系統(tǒng),具體地,該系統(tǒng)可以是從U盤、光盤或網(wǎng)絡(luò)上下載啟動的Linux或WinPE系統(tǒng)。步驟S102,基于所述遷移操作平臺,掃描加載所述目標(biāo)終端的硬盤的硬件驅(qū)動程序所需要的硬件信息;然后在上述遷移操作平臺上,掃描加載目標(biāo)終端的硬盤的硬件驅(qū)動程序所需要的硬件信息,加載硬盤的硬件驅(qū)動程序所需要的硬件信息包括硬件抽象層信息、計算機(jī)總線信息、硬盤控制器信息等,根據(jù)實際加載的目標(biāo)終端硬盤的硬件驅(qū)動程序,可以選擇掃描獲取上述硬件信息中的一種或多種。上述硬件抽象層信息是指Windows操作系統(tǒng)所定義的計算機(jī)的基本架構(gòu),即包括目前已定義的:“Standard PC,,、“Advanced Configuration and Power Interface (ACPI)PC,,、“ACPI Uniprocessor PC,,、“ACPI Multiprocessor PC,,、“MPS Uniprocessor PC” 以及“MPS Multiprocessor PC”等,其掃描方法可以是從特定的操作系統(tǒng)中直接獲取或直接通過檢查BIOS來獲得。上述計算機(jī)總線信息是指計算機(jī)所用的總線情況,比如目前常用的是PCI總線或PC1-E總線,其掃描方法可以是直接從特定的操作系統(tǒng)中獲取或直接從ACPI配置空間或IO端口讀取。上述硬盤控制器信息是指計算機(jī)與硬盤的接口控制器,比如IDE控制器、SATA控制器或AHCI控制器,其掃描方法可以是直接從特定的操作系統(tǒng)中獲取或掃描計算機(jī)總線獲取。步驟S103,通過所述硬件信息收集對應(yīng)的硬件驅(qū)動程序;通過硬件信息收集驅(qū)動相應(yīng)硬件的硬件驅(qū)動程序,其收集方法是通過匹配每個硬件特殊的硬件ID,從驅(qū)動程序數(shù)據(jù)庫中找取對應(yīng)硬件的驅(qū)動程序。其中,驅(qū)動程序數(shù)據(jù)庫可以自動從網(wǎng)絡(luò)下載或從之前定義的驅(qū)動程序庫中提取。步驟S104,根據(jù)所述硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù)。本實施例中,對源終端的Windows系統(tǒng)改造是指通過收集的硬件信息改造從源終端中獲得的Windows系統(tǒng)中的硬件抽象層,以及將收集到的硬件驅(qū)動程序安裝到從源終端中獲得的Windows系統(tǒng)中。具體過程如圖2所示:首先,獲取源終端的硬盤上的操作系統(tǒng)數(shù)據(jù)。
作為一種獲取方式,可以通過網(wǎng)絡(luò)虛擬硬盤獲取所述源終端的硬盤中的操作系統(tǒng)數(shù)據(jù)。如圖2所示,源終端中的硬盤數(shù)據(jù)提供程序負(fù)責(zé)將源終端中硬盤的數(shù)據(jù)提供給目標(biāo)終端的虛擬硬盤遠(yuǎn)程訪問,然后通過虛擬硬盤提供給目標(biāo)終端使用,對源終端的Windows操作系統(tǒng)的改造存儲模塊負(fù)責(zé)根據(jù)收集到的硬件信息和收集到的硬件驅(qū)動程序?qū)μ摂M硬盤中的Windows操作系統(tǒng)改造,并將改造后的Windows操作系統(tǒng)數(shù)據(jù)進(jìn)行存儲。在存儲時,可以將改造后的Windows操作系統(tǒng)數(shù)據(jù)存儲在目標(biāo)終端的硬盤上,或者網(wǎng)絡(luò)存儲設(shè)備上,也可以存儲在源終端的硬盤上,在后續(xù)啟動改造后的系統(tǒng)時,可以從相應(yīng)的存儲設(shè)備猶取改造后的Windows 呆作系統(tǒng)數(shù)據(jù),并在目標(biāo)終端上實現(xiàn)系統(tǒng)啟動;若改造后的Windows操作系統(tǒng)數(shù)據(jù)存儲在目標(biāo)終端的硬盤上,則可以直接在目標(biāo)終端的硬盤上獲取改造后的Windows操作系統(tǒng)數(shù)據(jù),并在目標(biāo)終端上實現(xiàn)系統(tǒng)啟動。上述對源終端Windows操作系統(tǒng)的改造方法包括:改變源終端Windows操作系統(tǒng)的硬件抽象層以及安裝收集到的硬件驅(qū)動程序。其中,改變源終端Windows操作系統(tǒng)的硬件抽象層的方法是:根據(jù)硬件抽象層信息改變源終端Windows操作系統(tǒng)與之對應(yīng)的系統(tǒng)文件,具體包括更換各自硬件抽象層對應(yīng)的 HAL.DLL 和 Ntoskrnl.dll 文件。上述安裝收集到的硬件驅(qū)動程序的方法是:拷貝各硬件驅(qū)動程序安裝文件中所要求拷貝的文件,以及增加或修改各硬件驅(qū)動程序安裝文件中所要求增加或修改的注冊表項。本實施例通過上述方案,自動化實現(xiàn)了操作系統(tǒng)的遷移,后續(xù)只需獲取改造后的操作系統(tǒng)數(shù)據(jù),在目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng),從而解決了當(dāng)源終端中的操作系統(tǒng)不兼容或無法識別目標(biāo)終端的硬件抽象層、PCI總線控制器或硬盤控制器時進(jìn)行系統(tǒng)遷移后無法啟動系統(tǒng)的問題。需要說明的是,上述步驟S104中,將改造后的Windows系統(tǒng)存儲到目標(biāo)終端的硬盤的過程為增量方式,只需存儲改變的系統(tǒng)數(shù)據(jù)到目標(biāo)終端的硬盤上,只有在目標(biāo)終端啟動后訪問未存儲的硬盤數(shù)據(jù)時,才按需從源終端的硬盤數(shù)據(jù)提供程序獲取。此外,上述步驟S102、步驟S103及步驟S104不僅僅限制在目標(biāo)終端上執(zhí)行,也可以在源終端上執(zhí)打。如圖3所示,本發(fā)明第二實施例提出的一種操作系統(tǒng)遷移方法,在上述第一實施例的基礎(chǔ)上,在上述步驟S104之后還包括:步驟S105,獲取所述改造后的操作系統(tǒng)數(shù)據(jù),在所述目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng)。本實施例與上述實施例的區(qū)別在于,本實施例還包括在目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng)的過程。具體地,以Windows操作系統(tǒng)為例,本實施例在實現(xiàn)Windows操作系統(tǒng)的遷移后,啟動改造后的系統(tǒng),即從相應(yīng)的存儲設(shè)備獲取改造后的Windows操作系統(tǒng)數(shù)據(jù),并在目標(biāo)終端上實現(xiàn)系統(tǒng)啟動;若改造后的Windows 呆作系統(tǒng)數(shù)據(jù)存儲在目標(biāo)終端的硬盤上,則可以直接在目標(biāo)終端的硬盤上猶取改造后的Windows 呆作系統(tǒng)數(shù)據(jù),并在目標(biāo)終端上實現(xiàn)系統(tǒng)啟動。由于本實施例將需要遷移的源終端Windows操作系統(tǒng)進(jìn)行相應(yīng)改造,因此,當(dāng)源終端中的操作系統(tǒng)不兼容或無法識別目標(biāo)終端的硬件抽象層、PCI總線控制器或硬盤控制器時,可以保證系統(tǒng)遷移后能夠正常啟動,從而提高了系統(tǒng)的可遷移性。
`
如圖4所示,本發(fā)明較佳實施例提出一種操作系統(tǒng)遷移裝置,包括:啟動模塊201、掃描模塊202、收集模塊203以及改造存儲模塊204,其中:啟動模塊201,用于在目標(biāo)終端上啟動一預(yù)定系統(tǒng),作為遷移操作平臺;掃描模塊202,用于基于所述遷移操作平臺,掃描加載所述目標(biāo)終端的硬盤所需要的硬件驅(qū)動程序的硬件信息;收集模塊203,用于通過所述硬件信息收集對應(yīng)的硬件驅(qū)動程序;改造存儲模塊204,用于根據(jù)所述硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù)。本實施例可以實現(xiàn)不同硬件平臺之間的操作系統(tǒng)遷移。其中:不同硬件平臺是指具有相同指令集、不同的CPU或內(nèi)存或外設(shè)的兩個計算機(jī)平臺,本實施例定義為源終端和目標(biāo)終端,源終端的硬盤上安裝有源Windows操作系統(tǒng),目標(biāo)終端的硬盤上需要接收遷移的改造后的Windows操作系統(tǒng)。上述相同指令集是指有兼容的指令集,比如兩個計算機(jī)平臺都為X86指令系統(tǒng)或者都為ARM的指令系統(tǒng);不同的內(nèi)存是指不同廠家的內(nèi)存或不同大小的內(nèi)存;不同的外設(shè)是指不同的10設(shè)備,比如一臺計算機(jī)是ICH9平臺,另一臺計算機(jī)是sandy-bridge平臺;或者,比如一臺計算機(jī)是X86架構(gòu)的物理計算機(jī),另一臺計算機(jī)是X86架構(gòu)的虛擬機(jī)。具體地,首先,啟動模塊201在目標(biāo)終端上啟動一預(yù)定系統(tǒng),作為遷移操作平臺,后續(xù)操作過程都在此遷移操作平臺上執(zhí)行。上述預(yù)定系統(tǒng)是指在目標(biāo)終端上從光盤、U盤或網(wǎng)絡(luò)中下載啟動的一個特定的系統(tǒng),具體地,該系統(tǒng)可以是從U盤、光盤或網(wǎng)絡(luò)上下載啟動的Linux或WinPE系統(tǒng)。然后在上述遷移操作平臺上,掃描模塊202掃描加載目標(biāo)終端的硬盤的硬件驅(qū)動程序所需要的硬件信息,加載硬盤的硬件驅(qū)動程序所需要的硬件信息包括硬件抽象層信息、計算機(jī)總線信息、硬盤控制器信息等,根據(jù)實際加載的目標(biāo)終端硬盤的硬件驅(qū)動程序,可以選擇掃描獲取上述硬件信息中的一種或多種。上述硬件抽象層信息是指Windows操作系統(tǒng)所定義的計算機(jī)的基本架構(gòu),即包括目前已定義的:“Standard PC,,、“Advanced Configuration and Power Interface (ACPI)PC,,、“ACPI Uniprocessor PC,,、“ACPI Multiprocessor PC,,、“MPS Uniprocessor PC” 以及“MPS Multiprocessor PC”等,其掃描方法可以是從特定的操作系統(tǒng)中直接獲取或直接通過檢查BIOS來獲得。上述計算機(jī)總線信息是指計算機(jī)所用的總線情況,比如目前常用的是PCI總線或PC1-E總線,其掃描方法可以是直接從特定的操作系統(tǒng)中獲取或直接從ACPI配置空間或10端口讀取。上述硬盤控制器信息是指計算機(jī)與硬盤的接口控制器,比如IDE控制器、SATA控制器或AHCI控制器,其掃描方法可以是直接從特定的操作系統(tǒng)中獲取或掃描計算機(jī)總線獲取。然后,收集模塊203通過硬件信息收集驅(qū)動相應(yīng)硬件的硬件驅(qū)動程序,其收集方法是通過匹配每個硬件特殊的硬件ID,從驅(qū)動程序數(shù)據(jù)庫中找取對應(yīng)硬件的驅(qū)動程序。其中,驅(qū)動 程序數(shù)據(jù)庫可以自動從網(wǎng)絡(luò)下載或從之前定義的驅(qū)動程序庫中提取。最后改造存儲模塊204根據(jù)硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù)。本實施例中,對源終端的Windows系統(tǒng)改造是指通過收集的硬件信息改造從源終端中獲得的Windows系統(tǒng)中的硬件抽象層,以及將收集到的硬件驅(qū)動程序安裝到從源終端中獲得的Windows系統(tǒng)中。具體過程如圖2所示:首先,獲取源終端的硬盤上的操作系統(tǒng)數(shù)據(jù)。作為一種獲取方式,可以通過網(wǎng)絡(luò)虛擬硬盤獲取所述源終端的硬盤中的操作系統(tǒng)數(shù)據(jù)。如圖2所示,源終端中的硬盤數(shù)據(jù)提供程序負(fù)責(zé)將源終端中硬盤的數(shù)據(jù)提供給目標(biāo)終端的虛擬硬盤遠(yuǎn)程訪問,然后通過虛擬硬盤提供給目標(biāo)終端使用,對源終端的Windows操作系統(tǒng)的改造存儲模塊負(fù)責(zé)根據(jù)收集到的硬件信息和收集到的硬件驅(qū)動程序?qū)μ摂M硬盤中的Windows操作系統(tǒng)改造,并將改造后的Windows操作系統(tǒng)數(shù)據(jù)進(jìn)行存儲。在存儲時,可以將改造后的Windows操作系統(tǒng)數(shù)據(jù)存儲在目標(biāo)終端的硬盤上,或者網(wǎng)絡(luò)存儲設(shè)備上,也可以存儲在源終端的硬盤上,在后續(xù)啟動改造后的系統(tǒng)時,可以從相應(yīng)的存儲設(shè)備猶取改造后的Windows 呆作系統(tǒng)數(shù)據(jù),并在目標(biāo)終端上實現(xiàn)系統(tǒng)啟動;若改造后的Windows操作系統(tǒng)數(shù)據(jù)存儲在目標(biāo)終端的硬盤上,則可以直接在目標(biāo)終端的硬盤上獲取改造后的Windows操作系統(tǒng)數(shù)據(jù),并在目標(biāo)終端上實現(xiàn)系統(tǒng)啟動。
上述對源終端Windows操作系統(tǒng)的改造方法包括:改變源終端Windows操作系統(tǒng)的硬件抽象層以及安裝收集到的硬件驅(qū)動程序。其中,改變源終端Windows操作系統(tǒng)的硬件抽象層的方法是:根據(jù)硬件抽象層信息改變源終端Windows操作系統(tǒng)與之對應(yīng)的系統(tǒng)文件,具體包括更換各自硬件抽象層對應(yīng)的 HAL.DLL 和 Ntoskrnl.dll 文件。上述安裝收集到的硬件驅(qū)動程序的方法是:拷貝各硬件驅(qū)動程序安裝文件中所要求拷貝的文件,以及增加或修改各硬件驅(qū)動程序安裝文件中所要求增加或修改的注冊表項。本實施例通過上述方案,自動化實現(xiàn)了操作系統(tǒng)的遷移,后續(xù)只需獲取改造后的操作系統(tǒng)數(shù)據(jù),在目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng),從而解決了當(dāng)源終端中的操作系統(tǒng)不兼容或無法識別目標(biāo)終端的硬件抽象層、PCI總線控制器或硬盤控制器時進(jìn)行系統(tǒng)遷移后無法啟動系統(tǒng)的問題。需要說明的是,上述改造存儲模塊204的操作過程中,將改造后的Windows系統(tǒng)存儲到目標(biāo)終端的硬盤的過程為增量方式,只需存儲改變的系統(tǒng)數(shù)據(jù)到目標(biāo)終端的硬盤上,只有在目標(biāo)終端啟動后訪問未存儲的硬盤數(shù)據(jù)時,才按需從源終端的硬盤數(shù)據(jù)提供程序獲取。此外,上述掃描模塊202、收集模塊203以及改造存儲模塊204的操作過程不僅僅限制在目標(biāo)終端上執(zhí)行,也可以在源終端上執(zhí)行,也就是說,上述裝置可以設(shè)置在目標(biāo)終端上,也可以將其中的掃描模塊202、收集模塊203以及改造存儲模塊204設(shè)置在源終端上。進(jìn)一步地,所述啟動模塊201還用于獲取所述改造后的操作系統(tǒng)數(shù)據(jù),在所述目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng)。具體地,以Windows操作系統(tǒng)為例,本實施例在實現(xiàn)Windows操作系統(tǒng)的遷移后,啟動改造后的系統(tǒng),即從相應(yīng)的·存儲設(shè)備獲取改造后的Windows操作系統(tǒng)數(shù)據(jù),并在目標(biāo)終端上實現(xiàn)系統(tǒng)啟動;若改造后的Windows 呆作系統(tǒng)數(shù)據(jù)存儲在目標(biāo)終端的硬盤上,則可以直接在目標(biāo)終端的硬盤上猶取改造后的Windows 呆作系統(tǒng)數(shù)據(jù),并在目標(biāo)終端上實現(xiàn)系統(tǒng)啟動。更為具體地,如圖5所示,上述改造存儲模塊204可以包括:獲取單元2041、改造單元2042及存儲單元2043,其中:獲取單元2041,用于獲取源終端的硬盤上的操作系統(tǒng)數(shù)據(jù);具體可以通過虛擬硬盤獲取所述源終端的硬盤中的操作系統(tǒng)數(shù)據(jù)。改造單元2042,用于根據(jù)所述硬件信息及對應(yīng)的硬件驅(qū)動程序,對所述操作系統(tǒng)數(shù)據(jù)進(jìn)行改造;存儲單元2043,用于將改造后的操作系統(tǒng)數(shù)據(jù)存儲在所述目標(biāo)終端的硬盤上,或者網(wǎng)絡(luò)存儲設(shè)備上,或者所述源終端的硬盤上。本發(fā)明實施例操作系統(tǒng)遷移方法及裝置,通過在目標(biāo)終端上啟動一預(yù)定系統(tǒng),作為遷移操作平臺;基于該遷移操作平臺,掃描加載目標(biāo)終端的硬盤所需要的硬件驅(qū)動程序的硬件信息;通過硬件信息收集對應(yīng)的硬件驅(qū)動程序;然后根據(jù)硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù),從而自動化實現(xiàn)操作系統(tǒng)的遷移;后續(xù)根據(jù)需要獲取改造后的操作系統(tǒng)數(shù)據(jù),在目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng),由于本實施例將需要遷移的源終端Windows操作系統(tǒng)進(jìn)行相應(yīng)改造,因此,當(dāng)源終端中的操作系統(tǒng)不兼容或無法識別目標(biāo)終端的硬件抽象層、PCI總線控制器或硬盤控制器時,可以保證系統(tǒng)遷移后能夠正常啟動,從而提高了系統(tǒng)的可遷移性。以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或流程變換,或直接或間接運(yùn)用在其它相關(guān)的技術(shù)領(lǐng)域,均同理 包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種操作系統(tǒng)遷移方法,其特征在于,包括: 在目標(biāo)終端上啟動一預(yù)定系統(tǒng),作為遷移操作平臺; 基于所述遷移操作平臺,掃描加載所述目標(biāo)終端的硬盤的硬件驅(qū)動程序所需要的硬件信息; 通過所述硬件信息收集對應(yīng)的硬件驅(qū)動程序; 根據(jù)所述硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù)的步驟之后還包括: 獲取所述改造后的操作系統(tǒng)數(shù)據(jù),在所述目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù)的步驟包括: 獲取源終端的硬盤上的操作系統(tǒng)數(shù)據(jù); 根據(jù)所述硬件信息及對應(yīng)的硬件驅(qū)動程序,對所述操作系統(tǒng)數(shù)據(jù)進(jìn)行改造; 將改造后的操作系統(tǒng)數(shù)據(jù)存儲在所述目標(biāo)終端的硬盤上,或者網(wǎng)絡(luò)存儲設(shè)備上,或者所述源終端的硬盤上。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述獲取源終端的硬盤上的操作系統(tǒng)數(shù)據(jù)的步驟包括: 通過虛擬硬盤獲取所述源終端的硬盤中的操作系統(tǒng)數(shù)據(jù)。
5.根據(jù)權(quán)利要求1-4中任一項所述的方法,其特征在于,所述預(yù)定系統(tǒng)至少為從U盤、光盤或網(wǎng)絡(luò)啟動的Linux或WinPE系統(tǒng);所述硬件信息至少包括以下之一:硬件抽象層信息、計算機(jī)總線信息和硬盤控制器信息。
6.一種操作系統(tǒng)遷移裝置,其特征在于,包括: 啟動模塊,用于在目標(biāo)終端上啟動一預(yù)定系統(tǒng),作為遷移操作平臺; 掃描模塊,用于基于所述遷移操作平臺,掃描加載所述目標(biāo)終端的硬盤的硬件驅(qū)動程序所需要的硬件信息; 收集模塊,用于通過所述硬件信息收集對應(yīng)的硬件驅(qū)動程序; 改造存儲模塊,用于根據(jù)所述硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述啟動模塊還用于獲取所述改造后的操作系統(tǒng)數(shù)據(jù),在所述目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng)。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述改造存儲模塊包括: 獲取單元,用于獲取源終端的硬盤上的操作系統(tǒng)數(shù)據(jù); 改造單元,用于根據(jù)所述硬件信息及對應(yīng)的硬件驅(qū)動程序,對所述操作系統(tǒng)數(shù)據(jù)進(jìn)行改造; 存儲單元,用于將改造后的操作系統(tǒng)數(shù)據(jù)存儲在所述目標(biāo)終端的硬盤上,或者網(wǎng)絡(luò)存儲設(shè)備上,或者所述源終端的硬盤上。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述獲取單元還用于通過虛擬硬盤獲取所述源終端的硬盤中的操作系統(tǒng)數(shù)據(jù)。
10.根據(jù)權(quán)利要求6-9中任一項所述的裝置,其特征在于,所述預(yù)定系統(tǒng)至少為從U盤、光盤或網(wǎng)絡(luò)啟動的Linux或WinPE系統(tǒng);所述硬件信息至少包括以下之一:硬件抽象層信息、計算機(jī)總線信息 和硬盤控制器信息。
全文摘要
本發(fā)明涉及一種操作系統(tǒng)遷移方法及裝置,其方法包括在目標(biāo)終端上啟動一預(yù)定系統(tǒng),作為遷移操作平臺;基于遷移操作平臺,掃描加載目標(biāo)終端的硬盤的硬件驅(qū)動程序所需要的硬件信息;通過硬件信息收集對應(yīng)的硬件驅(qū)動程序;根據(jù)硬件信息及對應(yīng)的硬件驅(qū)動程序,對源終端操作系統(tǒng)進(jìn)行改造并存儲改造后的操作系統(tǒng)數(shù)據(jù),從而自動化實現(xiàn)操作系統(tǒng)的遷移,后續(xù)只需獲取改造后的操作系統(tǒng)數(shù)據(jù),在目標(biāo)終端的硬盤上啟動改造后的操作系統(tǒng),進(jìn)而解決了當(dāng)源終端中的操作系統(tǒng)不兼容或無法識別目標(biāo)終端的硬件抽象層、PCI總線控制器或硬盤控制器時進(jìn)行系統(tǒng)遷移后無法啟動系統(tǒng)的問題。
文檔編號G06F9/445GK103246534SQ20131012794
公開日2013年8月14日 申請日期2013年4月12日 優(yōu)先權(quán)日2013年4月12日
發(fā)明者張勇 申請人:深信服網(wǎng)絡(luò)科技(深圳)有限公司