欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法及機(jī)構(gòu)、和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的制作方法

文檔序號(hào):6620579閱讀:154來(lái)源:國(guó)知局
專利名稱:存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法及機(jī)構(gòu)、和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法及機(jī)構(gòu)、和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),更具體地說(shuō),涉及一種存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法和存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)機(jī)構(gòu),用于在通過(guò)獨(dú)立轉(zhuǎn)儲(chǔ)程序進(jìn)行存儲(chǔ)器轉(zhuǎn)儲(chǔ)的計(jì)算機(jī)系統(tǒng)內(nèi)執(zhí)行與獨(dú)立轉(zhuǎn)儲(chǔ)程序相關(guān)的引導(dǎo)處理,并涉及一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)用于使計(jì)算機(jī)執(zhí)行這種與獨(dú)立轉(zhuǎn)儲(chǔ)程序相關(guān)的引導(dǎo)處理的程序。
通常,計(jì)算機(jī)系統(tǒng)支持多個(gè)引導(dǎo)設(shè)備。通過(guò)設(shè)置引導(dǎo)設(shè)備的設(shè)備路徑信息,在多個(gè)可引導(dǎo)的設(shè)備中選擇并引導(dǎo)一個(gè)將實(shí)際引導(dǎo)的設(shè)備。安裝在多個(gè)引導(dǎo)設(shè)備內(nèi)的操作系統(tǒng)(OS)的種類可能相同,也可能不同。此外,即使OS的種類相同,OS的版本也可能不同。當(dāng)在這種計(jì)算機(jī)系統(tǒng)內(nèi)的某個(gè)OS的操作過(guò)程中產(chǎn)生故障時(shí),通過(guò)引導(dǎo)獨(dú)立轉(zhuǎn)儲(chǔ)程序執(zhí)行存儲(chǔ)器轉(zhuǎn)儲(chǔ)。但是根據(jù)待操作的OS的種類,待引導(dǎo)的獨(dú)立轉(zhuǎn)儲(chǔ)程序應(yīng)當(dāng)是可選擇的。此外,希望通過(guò)僅當(dāng)產(chǎn)生故障時(shí)在OS內(nèi)生成的故障來(lái)觸發(fā)獨(dú)立轉(zhuǎn)儲(chǔ)程序的引導(dǎo)。
本發(fā)明涉及一種引導(dǎo)處理,當(dāng)在這樣一種計(jì)算機(jī)系統(tǒng)內(nèi)產(chǎn)生故障時(shí),該引導(dǎo)處理能夠登記多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序,選擇并引導(dǎo)多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中最合適的一個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序。
背景技術(shù)
如果在計(jì)算機(jī)系統(tǒng)的操作過(guò)程中產(chǎn)生某種系統(tǒng)異常,則它變得難以繼續(xù)工作,必需立即重啟計(jì)算機(jī)系統(tǒng),從而能夠繼續(xù)工作。在這種情況下,為了隨后能夠檢查所產(chǎn)生故障的原因,通常將產(chǎn)生系統(tǒng)異常時(shí)計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器內(nèi)的數(shù)據(jù)保存為轉(zhuǎn)儲(chǔ)數(shù)據(jù)。可以根據(jù)第一種方法或第二種方法執(zhí)行生成轉(zhuǎn)儲(chǔ)數(shù)據(jù)的處理。第一種方法在操作OS中嵌入有存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序,如果在OS的操作過(guò)程中產(chǎn)生故障則通過(guò)將控制轉(zhuǎn)移給存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序來(lái)執(zhí)行存儲(chǔ)器轉(zhuǎn)儲(chǔ)。另一方面,第二種方法是如果在OS的操作過(guò)程中產(chǎn)生故障,則在將存儲(chǔ)器數(shù)據(jù)保存在計(jì)算機(jī)系統(tǒng)內(nèi)的狀態(tài)下重置計(jì)算機(jī)系統(tǒng),并且引導(dǎo)不同于操作OS的獨(dú)立轉(zhuǎn)儲(chǔ)程序,從而轉(zhuǎn)儲(chǔ)所保存的存儲(chǔ)器數(shù)據(jù)。一些計(jì)算機(jī)系統(tǒng)支持僅使用第一種和第二種方法之一的處理,而其它計(jì)算機(jī)系統(tǒng)支持同時(shí)使用第一種和第二種方法的處理。
例如,日本特開(kāi)平8-95834號(hào)公報(bào)提出了一種當(dāng)出現(xiàn)計(jì)算機(jī)系統(tǒng)的異常結(jié)束時(shí)使用的存儲(chǔ)器轉(zhuǎn)儲(chǔ)方法。
當(dāng)由獨(dú)立轉(zhuǎn)儲(chǔ)程序執(zhí)行存儲(chǔ)器轉(zhuǎn)儲(chǔ)時(shí),在計(jì)算機(jī)系統(tǒng)支持多個(gè)OS的情況下會(huì)產(chǎn)生下述問(wèn)題。
換句話說(shuō),在諸如大規(guī)模服務(wù)器系統(tǒng)的計(jì)算機(jī)系統(tǒng)的情況下,所安裝的主存儲(chǔ)器的大小經(jīng)常超過(guò)例如256GB。在這種計(jì)算機(jī)系統(tǒng)中,為了進(jìn)行故障分析,對(duì)所有的主存儲(chǔ)器進(jìn)行轉(zhuǎn)儲(chǔ)是不現(xiàn)實(shí)的。因此,當(dāng)進(jìn)行存儲(chǔ)器轉(zhuǎn)儲(chǔ)時(shí),通常將轉(zhuǎn)儲(chǔ)目標(biāo)區(qū)域限制為對(duì)核心數(shù)據(jù)進(jìn)行故障分析等所需的特定區(qū)域。當(dāng)然,對(duì)核心數(shù)據(jù)進(jìn)行故障分析等所需的特定區(qū)域?qū)τ诓煌N類的OS來(lái)說(shuō)是不同的區(qū)域。但是,即使在同一種類的OS的情況下,對(duì)于同一種類的OS的不同版本來(lái)說(shuō),該特定區(qū)域也可能變成不同的區(qū)域。因此,取決于OS的種類,通常需要不同的獨(dú)立轉(zhuǎn)儲(chǔ)程序,此外,即使在同一種類的OS的情況下,如果該同一種類的OS的版本不同,根據(jù)OS的種類,也可能需要不同的獨(dú)立轉(zhuǎn)儲(chǔ)程序。此外,在一些情況下,OS可能不支持通過(guò)獨(dú)立轉(zhuǎn)儲(chǔ)程序的存儲(chǔ)器轉(zhuǎn)儲(chǔ)。因此,在與獨(dú)立轉(zhuǎn)儲(chǔ)程序相關(guān)的引導(dǎo)處理中,需要以下功能在多個(gè)現(xiàn)有的獨(dú)立轉(zhuǎn)儲(chǔ)程序中選擇并引導(dǎo)與在產(chǎn)生故障之前正在操作的OS相對(duì)應(yīng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序。
如果計(jì)算機(jī)系統(tǒng)僅允許引導(dǎo)一個(gè)OS,則只需要引導(dǎo)一個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序。但是如果計(jì)算機(jī)系統(tǒng)允許能夠引導(dǎo)多個(gè)OS,并且通過(guò)在引導(dǎo)時(shí)選擇OS能夠操作不同的OS,則會(huì)存在以下問(wèn)題除非引導(dǎo)了與產(chǎn)生故障時(shí)正在操作的OS相對(duì)應(yīng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序,否則將無(wú)法進(jìn)行合適的存儲(chǔ)器轉(zhuǎn)儲(chǔ)。

發(fā)明內(nèi)容
因此,本發(fā)明的總體目的是提供一種新穎有用的存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法及機(jī)構(gòu),和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中消除了上述問(wèn)題。
本發(fā)明的另一個(gè)且更具體的目的是提供一種存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法、存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)機(jī)構(gòu)和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可將它們應(yīng)用于這樣一種計(jì)算機(jī)系統(tǒng)在該計(jì)算機(jī)系統(tǒng)中能夠引導(dǎo)多種OS,并且在引導(dǎo)OS時(shí),可以通過(guò)從多個(gè)引導(dǎo)目標(biāo)設(shè)備中自動(dòng)地或手工地選擇引導(dǎo)目標(biāo)設(shè)備,來(lái)切換和操作這些OS,能夠設(shè)置當(dāng)在OS操作過(guò)程中產(chǎn)生故障時(shí)重置和啟動(dòng)計(jì)算機(jī)系統(tǒng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序,從而支持用于在產(chǎn)生故障之前正在操作的OS的最佳存儲(chǔ)器轉(zhuǎn)儲(chǔ)。
本發(fā)明的又一個(gè)目的是提供一種存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法,包括(a)在由計(jì)算機(jī)系統(tǒng)的引導(dǎo)固件管理的非易失性變量中定義在計(jì)算機(jī)系統(tǒng)內(nèi)安裝的多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序的引導(dǎo)信息和表示多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序與多個(gè)操作系統(tǒng)的對(duì)應(yīng)關(guān)系的表變量;(b)當(dāng)引導(dǎo)固件引導(dǎo)多個(gè)操作系統(tǒng)中的任一個(gè)操作系統(tǒng)時(shí),根據(jù)表變量指定多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的對(duì)應(yīng)一個(gè)的引導(dǎo)信息,并且將表示所指定引導(dǎo)信息的信息寫入當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的非易失性變量;以及(c)當(dāng)指示引導(dǎo)獨(dú)立轉(zhuǎn)儲(chǔ)時(shí),通過(guò)檢查當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的變量的存在和如果變量存在則通過(guò)參考變量的信息,來(lái)引導(dǎo)多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的一個(gè)對(duì)應(yīng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序。根據(jù)本發(fā)明,能夠?qū)崿F(xiàn)一種存儲(chǔ)器轉(zhuǎn)儲(chǔ)引導(dǎo)方法,它可以應(yīng)用于這樣一種計(jì)算機(jī)系統(tǒng),其中能夠引導(dǎo)多種OS,并且當(dāng)引導(dǎo)OS時(shí),通過(guò)從多個(gè)引導(dǎo)目標(biāo)設(shè)備中自動(dòng)地或手工地選擇引導(dǎo)目標(biāo)設(shè)備,能夠切換和操作這些OS,可以設(shè)置當(dāng)在OS操作過(guò)程中產(chǎn)生故障時(shí)重置和啟動(dòng)計(jì)算機(jī)系統(tǒng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序,從而支持用于在產(chǎn)生故障之前正在操作的OS的最佳存儲(chǔ)器轉(zhuǎn)儲(chǔ)。
本發(fā)明的又一個(gè)目的是提供一種存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)設(shè)備,包括非易失性存儲(chǔ)器,其被配置為在由計(jì)算機(jī)系統(tǒng)的引導(dǎo)固件管理的非易失性變量?jī)?nèi)存儲(chǔ)在計(jì)算機(jī)系統(tǒng)內(nèi)安裝的多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序的引導(dǎo)信息和表示多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序與多個(gè)操作系統(tǒng)的對(duì)應(yīng)關(guān)系的表變量;寫入裝置,用于當(dāng)引導(dǎo)固件引導(dǎo)多個(gè)操作系統(tǒng)中的任一個(gè)操作系統(tǒng)時(shí),根據(jù)表變量指定多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的對(duì)應(yīng)一個(gè)的引導(dǎo)信息,并將表示所指定引導(dǎo)信息的信息寫入當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的非易失性變量中;以及,引導(dǎo)裝置,用于當(dāng)指示引導(dǎo)獨(dú)立轉(zhuǎn)儲(chǔ)時(shí),通過(guò)檢查當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的變量的存在,并且如果變量存在則通過(guò)參考變量的信息,來(lái)引導(dǎo)多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的一個(gè)對(duì)應(yīng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序。根據(jù)本發(fā)明,可以實(shí)現(xiàn)一種存儲(chǔ)器轉(zhuǎn)儲(chǔ)引導(dǎo)設(shè)備,它可以應(yīng)用于這樣一種計(jì)算機(jī)系統(tǒng),其中能夠引導(dǎo)多種OS,并且當(dāng)引導(dǎo)OS時(shí),通過(guò)從多個(gè)引導(dǎo)目標(biāo)設(shè)備中自動(dòng)地或手工地選擇引導(dǎo)目標(biāo)設(shè)備,能夠切換和操作這些OS,可以設(shè)置當(dāng)在OS操作過(guò)程中產(chǎn)生故障時(shí)重置和啟動(dòng)計(jì)算機(jī)系統(tǒng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序,從而支持用于在產(chǎn)生故障之前正在操作的OS的最佳存儲(chǔ)器轉(zhuǎn)儲(chǔ)。
本發(fā)明的另一個(gè)目的是提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),它存儲(chǔ)用于使計(jì)算機(jī)系統(tǒng)的計(jì)算機(jī)引導(dǎo)存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序的程序,該程序包括以下過(guò)程使計(jì)算機(jī)在由計(jì)算機(jī)系統(tǒng)的引導(dǎo)固件管理的非易失性變量中定義在計(jì)算機(jī)系統(tǒng)內(nèi)安裝的多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序的引導(dǎo)信息和表示多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序與多個(gè)操作系統(tǒng)的對(duì)應(yīng)關(guān)系的表變量;使計(jì)算機(jī)在引導(dǎo)固件引導(dǎo)多個(gè)操作系統(tǒng)中的任一個(gè)操作系統(tǒng)時(shí),根據(jù)表變量指定多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的對(duì)應(yīng)一個(gè)的引導(dǎo)信息,將表示所指定引導(dǎo)信息的信息寫入當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的非易失性變量;以及,使計(jì)算機(jī)在指示引導(dǎo)獨(dú)立轉(zhuǎn)儲(chǔ)時(shí),通過(guò)檢查當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的變量的存在,并且如果變量存在則通過(guò)參考變量的信息,引導(dǎo)多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的一個(gè)對(duì)應(yīng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序。根據(jù)本發(fā)明,可以實(shí)現(xiàn)一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),它可以應(yīng)用于這樣一種計(jì)算機(jī)系統(tǒng),其中能夠引導(dǎo)多種OS,并且當(dāng)引導(dǎo)OS時(shí),通過(guò)從多個(gè)引導(dǎo)目標(biāo)設(shè)備中自動(dòng)地或手工地選擇引導(dǎo)目標(biāo)設(shè)備,能夠切換和操作這些OS,并且可以設(shè)置當(dāng)在OS操作過(guò)程中產(chǎn)生故障時(shí)重置和啟動(dòng)計(jì)算機(jī)系統(tǒng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序,從而支持用于在產(chǎn)生故障之前正在操作的OS的最佳存儲(chǔ)器轉(zhuǎn)儲(chǔ)。
當(dāng)結(jié)合附圖閱讀下述詳細(xì)描述之后,本發(fā)明的其它目的和進(jìn)一步的特征將是顯而易見(jiàn)的。


圖1圖示應(yīng)用了本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng);圖2是用于解釋計(jì)算機(jī)系統(tǒng)的ROM固件和引導(dǎo)固件的處理的流程圖;圖3是用于解釋SADUMP裝載器的引導(dǎo)處理的流程圖;圖4是用于解釋通過(guò)使用FjSdBtTbl表變量來(lái)確定與BootXXXX變量相對(duì)應(yīng)的FjSdBootYYYY變量的處理的圖;圖5是用于解釋由SADUMP安裝器執(zhí)行的與NVRAM變量相關(guān)的處理的流程圖;和圖6是用于解釋由SADUMP卸載器執(zhí)行的與NVRAM變量相關(guān)的處理的流程圖。
具體實(shí)施例方式
參考附圖,將描述根據(jù)本發(fā)明的存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法、存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)機(jī)構(gòu)和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的實(shí)施例。本發(fā)明的計(jì)算機(jī)可讀記錄介質(zhì)可以通過(guò)存儲(chǔ)程序的任一合適的記錄介質(zhì)構(gòu)成,并且可以從外部設(shè)備將該程序下載到該記錄介質(zhì)??梢允褂么庞涗浗橘|(zhì)、光記錄介質(zhì)、磁光記錄介質(zhì)和半導(dǎo)體存儲(chǔ)設(shè)備等作為記錄介質(zhì)。
圖1圖示應(yīng)用本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)。圖1所示的計(jì)算機(jī)系統(tǒng)1由主體11和系統(tǒng)監(jiān)視機(jī)構(gòu)12構(gòu)成。將多個(gè)硬盤驅(qū)動(dòng)(HDD)2-1、2-2、2-3、……和CDROM或DVDROM(CDROM/DVDROM)驅(qū)動(dòng)3連接到計(jì)算機(jī)系統(tǒng)1。主體11包括ROM固件21、只讀存儲(chǔ)器(ROM)或閃存(FMEM)22、諸如非易失性RAM(NVRAM)的非易失性存儲(chǔ)器23和主存儲(chǔ)器24。此外,主存儲(chǔ)器24包括引導(dǎo)固件241、操作系統(tǒng)(OS)裝載器程序242、OS 243、獨(dú)立轉(zhuǎn)儲(chǔ)程序安裝器(在下文中簡(jiǎn)稱為SADUMP安裝器)244和獨(dú)立轉(zhuǎn)儲(chǔ)程序卸載器(在下文中簡(jiǎn)稱為SADUMP卸載器)245。可以將SADUMP卸載器245包括在SADUMP安裝器244內(nèi)。
在這個(gè)實(shí)施例中,將ROM固件21寫入在ROM或FMEM中,并且當(dāng)打開(kāi)計(jì)算機(jī)系統(tǒng)1的電源時(shí)對(duì)其進(jìn)行引導(dǎo),從而執(zhí)行與計(jì)算機(jī)系統(tǒng)1內(nèi)的硬件相關(guān)的診斷和初始化處理。此后,將在計(jì)算機(jī)系統(tǒng)1內(nèi)的ROM或FMEM22內(nèi)壓縮并存儲(chǔ)的引導(dǎo)固件展開(kāi)(develop)到主存儲(chǔ)器24內(nèi),并將控制轉(zhuǎn)移給引導(dǎo)固件241。引導(dǎo)固件241包括用于控制由計(jì)算機(jī)系統(tǒng)1支持的引導(dǎo)目標(biāo)設(shè)備的驅(qū)動(dòng)器程序(在下文中簡(jiǎn)稱為驅(qū)動(dòng)器),并通過(guò)根據(jù)預(yù)先設(shè)置的引導(dǎo)信息從連接到計(jì)算機(jī)系統(tǒng)的引導(dǎo)目標(biāo)設(shè)備中選擇待實(shí)際引導(dǎo)的引導(dǎo)目標(biāo)設(shè)備來(lái)執(zhí)行引導(dǎo)處理。通常,引導(dǎo)固件241引導(dǎo)用于引導(dǎo)目標(biāo)OS 243的OS裝載器242。引導(dǎo)固件241并不需要能夠解譯OS 243的文件系統(tǒng)。因?yàn)榕cOS 243對(duì)應(yīng)的OS裝載器242能夠解譯OS 243的文件系統(tǒng),所以引導(dǎo)固件241能夠獲知OS裝載器242在引導(dǎo)目標(biāo)設(shè)備內(nèi)的位置,并且當(dāng)能夠引導(dǎo)OS裝載器242時(shí),可以由OS裝載器242執(zhí)行將在此后執(zhí)行的OS 243的引導(dǎo)。
在圖1所示的計(jì)算機(jī)系統(tǒng)1內(nèi),將引導(dǎo)信息存儲(chǔ)在NVRAM 23內(nèi)。根據(jù)存儲(chǔ)在NVRAM 23內(nèi)的引導(dǎo)信息,從連接到計(jì)算機(jī)系統(tǒng)1的多個(gè)引導(dǎo)目標(biāo)設(shè)備中確定當(dāng)啟動(dòng)計(jì)算機(jī)系統(tǒng)1時(shí)將自動(dòng)引導(dǎo)的引導(dǎo)目標(biāo)設(shè)備。存儲(chǔ)在NVRAM 23內(nèi)的引導(dǎo)信息(或NVRAM變量)包括BootXXXX變量(其中XXXX是從0000到FFFF的十六進(jìn)制值)和BootOrder變量。BootXXXX變量包括表示在計(jì)算機(jī)系統(tǒng)1內(nèi)連接引導(dǎo)目標(biāo)設(shè)備的位置的設(shè)備路徑信息,和與OS裝載器242的文件位置和文件名相關(guān)的信息。BootOrder變量表示由BootXXXX變量表示的多個(gè)現(xiàn)有引導(dǎo)目標(biāo)設(shè)備待引導(dǎo)的順序。當(dāng)將控制轉(zhuǎn)移給引導(dǎo)固件241時(shí),引導(dǎo)固件241初始化用于引導(dǎo)的各個(gè)驅(qū)動(dòng)器,并執(zhí)行與連接到計(jì)算機(jī)系統(tǒng)1的HDD 2-1、2-2、2-3、……相關(guān)的探測(cè)處理。此后,根據(jù)NVRAM變量的BootOrder變量來(lái)指定BootXXXX變量的XXXX部分的值,從而引導(dǎo)由BootXXXX變量指定的引導(dǎo)目標(biāo)設(shè)備和OS裝載器242。
接著,將描述這個(gè)實(shí)施例的重要特征。在這個(gè)實(shí)施例中,除了上述的BootXXXX變量和BootOrder變量之外,在計(jì)算機(jī)系統(tǒng)1內(nèi)的NVRAM 23中存儲(chǔ)的引導(dǎo)信息(或NVRAM變量)包括用于引導(dǎo)SADUMP裝載器的下述變量V1)至V4),所述SADUMP裝載器是用于SADUMP程序(在下文中簡(jiǎn)稱為SADUMP)的裝載器程序。
V1)FjSdBootYYYY(YYYY是從0000到FFFF的十六進(jìn)制值)該變量包括存儲(chǔ)SADUMP裝載器的引導(dǎo)目標(biāo)設(shè)備的設(shè)備路徑信息、SADUMP裝載器的文件位置和文件名。
V2)FjSdBtTbl此表變量存儲(chǔ)表示OS 243和SADUMP的對(duì)應(yīng)關(guān)系的信息。
V3)FjSdBootNext該變量保存FjSdBootYYYY變量的YYYY部分,它是下一次將要引導(dǎo)的SADUMP裝載器的引導(dǎo)信息。當(dāng)在OS 243的操作過(guò)程中產(chǎn)生故障,并且出現(xiàn)計(jì)算機(jī)系統(tǒng)1的死機(jī)(panic)和暫停(hang)等,而且重置計(jì)算機(jī)系統(tǒng)1以引導(dǎo)SADUMP時(shí),使用根據(jù)該FjSdBootNext變量的FjSdBootYYYY變量作為SADUMP裝載器的引導(dǎo)信息。
V4)FjSdBtTerm該變量指定當(dāng)SADUMP的錯(cuò)誤結(jié)束出現(xiàn)時(shí)的處理。如果這個(gè)FjSdBtTerm變量為“0”,則執(zhí)行錯(cuò)誤通知,并重新引導(dǎo)OS 243。反之,當(dāng)這個(gè)FjSdBtTerm變量不是“0”時(shí),通過(guò)將CDROM/DVDROM驅(qū)動(dòng)3視為引導(dǎo)目標(biāo)設(shè)備來(lái)引導(dǎo)在CDROM或DVDROM內(nèi)記錄的SADUMP。
在連接到計(jì)算機(jī)系統(tǒng)1的HDD 2-1、2-2、2-3、……中,存在若干HDD,除了OS裝載器映像(image)和OS映像之外,它們存儲(chǔ)用于獨(dú)立轉(zhuǎn)儲(chǔ)的SADUMP裝載器映像和SADUMP映像。OS裝載器映像是指OS裝載器242的主體的映像,OS映像是指OS 243的主體的映像。而且,SADUMP映像是指SADUMP的主體的映像,并是通過(guò)由SADUMP裝載器引導(dǎo)來(lái)執(zhí)行存儲(chǔ)器轉(zhuǎn)儲(chǔ)的程序。SADUMP裝載器映像是指SADUMP裝載器的主體的映像。因?yàn)椴⒎撬械腛S 243都支持SADUMP,所以存在并不具有對(duì)應(yīng)的SADUMP裝載器映像和SADUMP映像的OS 243。SADUMP裝載器映像和SADUMP裝載器的存儲(chǔ)位置可能與存儲(chǔ)OS裝載器映像和OS映像的HDD 2-1、2-2、2-3、……無(wú)關(guān)。圖1示出了與OS 243無(wú)關(guān)地也將SADUMP裝載器映像和SADUMP映像存儲(chǔ)在CDROM/DVDROM驅(qū)動(dòng)3內(nèi)的情況。為了方便,省略了SADUMP裝載器和SADUMP映像在主存儲(chǔ)器24內(nèi)的狀態(tài)的圖示。
圖2是用于解釋計(jì)算機(jī)系統(tǒng)1的ROM固件21和引導(dǎo)固件241的處理的流程圖。
當(dāng)在OS 243的操作過(guò)程中產(chǎn)生故障并且出現(xiàn)計(jì)算機(jī)系統(tǒng)1的死機(jī)或暫停時(shí),執(zhí)行與系統(tǒng)監(jiān)視機(jī)構(gòu)12相關(guān)的獨(dú)立轉(zhuǎn)儲(chǔ)指令以發(fā)出重置請(qǐng)求。系統(tǒng)監(jiān)視機(jī)構(gòu)12由獨(dú)立于主體11的處理器操作的硬件構(gòu)成,并執(zhí)行諸如計(jì)算機(jī)系統(tǒng)1的電源控制、風(fēng)扇監(jiān)視和重置處理等處理。當(dāng)系統(tǒng)監(jiān)視機(jī)構(gòu)12接收獨(dú)立轉(zhuǎn)儲(chǔ)指令時(shí),系統(tǒng)監(jiān)視機(jī)構(gòu)12在其中存儲(chǔ)的系統(tǒng)控制變量?jī)?nèi)設(shè)置SADUMP指定標(biāo)記,并重置主體11。首先,當(dāng)重置主體11時(shí),圖1所示的步驟S1引導(dǎo)ROM固件21,步驟S2執(zhí)行硬件診斷(包括存儲(chǔ)器診斷)和初始化。在這個(gè)狀態(tài)中,從系統(tǒng)監(jiān)視機(jī)構(gòu)12獲得SADUMP指定標(biāo)記,步驟S3確定SADUMP指定標(biāo)記是否為開(kāi)啟。如果SADUMP指定標(biāo)記為開(kāi)啟(ON)并且在步驟S3中的判定結(jié)果為是,則步驟S4并不執(zhí)行存儲(chǔ)器診斷,該處理前進(jìn)到步驟S6,并在保存存儲(chǔ)器數(shù)據(jù)的狀態(tài)下將控制轉(zhuǎn)移給引導(dǎo)固件241。另一方面,如果SADUMP指定標(biāo)記為關(guān)閉(OFF)并且在步驟S3中的判定結(jié)果為否,則步驟S5執(zhí)行存儲(chǔ)器診斷,該處理前進(jìn)到步驟S6。引導(dǎo)固件241執(zhí)行用于引導(dǎo)處理的與各個(gè)驅(qū)動(dòng)器相關(guān)的初始化處理,并在步驟S6中執(zhí)行與連接到計(jì)算機(jī)系統(tǒng)1的HDD 2-1、2-2、2-3、……相關(guān)的探測(cè)處理,在步驟S7中確定SADUMP指定標(biāo)記是否是開(kāi)啟。在這個(gè)狀態(tài)中,可以從系統(tǒng)監(jiān)視機(jī)構(gòu)12或者從ROM固件21中獲取SADUMP指定標(biāo)記的值。如果SADUMP指定標(biāo)記為開(kāi)啟并且在步驟S8中的判定結(jié)果為是,則將控制轉(zhuǎn)移給隨后將結(jié)合圖3描述的SADUMP裝載器的引導(dǎo)處理。另一方面,如果SADUMP指定標(biāo)記為關(guān)閉并且在步驟S8中的判定結(jié)果為否,則將控制轉(zhuǎn)移給包括步驟S9及其隨后步驟的OS裝載器242的引導(dǎo)處理。
接著,將描述OS裝載器242的引導(dǎo)處理。首先,在OS裝載器242的引導(dǎo)處理中,步驟S9檢查FjSdBootNext變量的存在,并且如果它存在則刪除該FjSdBootNext變量。步驟S10檢查是否從系統(tǒng)監(jiān)視機(jī)構(gòu)12指示遠(yuǎn)程引導(dǎo),如果指示遠(yuǎn)程引導(dǎo)則執(zhí)行所指示的遠(yuǎn)程引導(dǎo)的處理。因?yàn)閺南到y(tǒng)監(jiān)視機(jī)構(gòu)12指示的遠(yuǎn)程引導(dǎo)并不與本發(fā)明的主題直接相關(guān),因此在該說(shuō)明書(shū)中將省略對(duì)其的詳細(xì)描述。
接著,步驟S11從在NVRAM 23內(nèi)存在的多個(gè)BootXXXX變量中確定作為實(shí)際的待引導(dǎo)目標(biāo)的變量。步驟S11通常根據(jù)BootOrder變量設(shè)置的順序來(lái)確定變量,但是當(dāng)從系統(tǒng)監(jiān)視機(jī)構(gòu)12指示遠(yuǎn)程引導(dǎo)時(shí),可以在不考慮BootOrder變量的情況下確定該變量。在任一種情況下,引導(dǎo)固件241將確定作為引導(dǎo)目標(biāo)的BootXXXX變量的XXXX部分的值設(shè)置為作為存儲(chǔ)器變量的BootCurrent變量。該BootCurrent變量由引導(dǎo)固件241管理,但不是NVRAM變量。因此,當(dāng)計(jì)算機(jī)系統(tǒng)1的電源關(guān)閉時(shí),該BootCurrent變量丟失。通過(guò)在引導(dǎo)OS 243之后檢查BootCurrent變量,將可以判斷在OS 243中已經(jīng)引導(dǎo)了哪一個(gè)引導(dǎo)設(shè)備。
接著,在步驟S12,引導(dǎo)固件241確定所選擇的引導(dǎo)目標(biāo)設(shè)備是否不同于CDROM/DVDROM驅(qū)動(dòng)3和網(wǎng)絡(luò)引導(dǎo)(PXE)。如果選定的引導(dǎo)目標(biāo)設(shè)備是CDROM/DVDROM驅(qū)動(dòng)3或PXE,并且在步驟S12中的判定結(jié)果為否,則步驟S17立即根據(jù)選定的BootXXXX變量裝載并引導(dǎo)OS裝載器242。步驟S18引導(dǎo)OS 242,該處理結(jié)束。反之,如果選定的引導(dǎo)目標(biāo)設(shè)備不是CDROM/DVDROM驅(qū)動(dòng)3和PXE,并且在步驟S12的判定結(jié)果為是,則步驟S13確定FjSdBtTbl表變量是否存在于NVRAM變量?jī)?nèi)。如果FjSdBtTbl變量并不存在,在步驟S13的判定結(jié)果為否,則步驟S17立即根據(jù)選定的BootXXXX變量裝載和引導(dǎo)OS裝載器242。但是如果FjSdBtTbl變量存在,在步驟S13的判定結(jié)果為是,步驟S14使用選定BootXXXX變量的XXXX部分的值作為關(guān)鍵字搜索FjSdBtTbl變量。隨后將在說(shuō)明書(shū)中描述這個(gè)步驟S14的搜索處理。作為在步驟S14執(zhí)行的搜索處理的結(jié)果,步驟S15確定是否存在與該關(guān)鍵字對(duì)應(yīng)的表目。如果在步驟S15的判定結(jié)果為否,則步驟S17立即根據(jù)選定的BootXXXX變量裝載和引導(dǎo)OS裝載器242。反之,如果在步驟S15的判定結(jié)果為是,則步驟S16從對(duì)應(yīng)的表目獲得FjSdBootYYYY變量的YYYY部分的值以建立FjSdBootNext變量,并將所獲得的YYYY部分的值設(shè)置給FjSdBootNext變量。在步驟S16之后,該處理前進(jìn)到步驟S17,它根據(jù)選定的BootXXXX變量裝載和引導(dǎo)OS裝載器242。
接著,將參考圖3描述SADUMP裝載器的引導(dǎo)處理。圖3是用于解釋SADUMP裝載器的引導(dǎo)處理的流程圖。
在圖3中,當(dāng)在步驟S21中啟動(dòng)SADUMP裝載器的引導(dǎo)處理時(shí),步驟S22首先確定FjSdBootNext變量是否存在。如果不存在FjSdBootNext變量并在步驟S22中的判定結(jié)果為否,則步驟S23在系統(tǒng)監(jiān)視機(jī)構(gòu)12中將SADUMP指定標(biāo)記清除為關(guān)閉狀態(tài),在進(jìn)行出錯(cuò)通知之后重置計(jì)算機(jī)系統(tǒng)1,隨后該處理結(jié)束。反之,如果FjSdBootNext變量存在并在步驟S22的判定結(jié)果為是,則步驟S24解釋由FjSdBootNext變量指定的FjSdBootYYYY變量的數(shù)據(jù),并確定FjSdBootYYYY變量的設(shè)備路徑信息是否正確。換句話說(shuō),步驟S24檢查在引導(dǎo)信息中設(shè)置的設(shè)備信息和SADUMP裝載器信息,并確定是否存在與連接到計(jì)算機(jī)系統(tǒng)1的設(shè)備的信息的匹配。如果在步驟S24的判定結(jié)果為否,則步驟S25刪除這個(gè)FjSdBootNext變量,并在系統(tǒng)監(jiān)視機(jī)構(gòu)12中將SADUMP指定標(biāo)記清除為關(guān)閉狀態(tài)。此后,步驟S26檢查作為由出錯(cuò)處理使用的NVRAM變量的FjSdBtTerm變量。更具體地說(shuō),步驟S26確定FjSdBtTerm變量的值是否為“0”。如果在步驟S26的判定結(jié)果為是,則步驟S27在進(jìn)行出錯(cuò)通知之后重置計(jì)算機(jī)系統(tǒng)1,隨后該處理結(jié)束。反之,如果FjSdBtTerm變量的值不是“0”,并且在步驟S26中的判定結(jié)果為否,則步驟S28將CDROM/DVDROM驅(qū)動(dòng)3視為引導(dǎo)目標(biāo)設(shè)備,步驟S35執(zhí)行與這個(gè)引導(dǎo)目標(biāo)設(shè)備相關(guān)的引導(dǎo)處理,隨后該處理結(jié)束。
如果對(duì)FjSdBootYYYY變量的數(shù)據(jù)進(jìn)行解釋的結(jié)果表明與連接到計(jì)算機(jī)系統(tǒng)1的設(shè)備的匹配并且在步驟S24中的判定結(jié)果為是,則步驟S29將在由FjSdBootNext變量指定的在FjSdBootYYYY變量?jī)?nèi)設(shè)置的SADUMP裝載器視為引導(dǎo)目標(biāo)。在這種狀態(tài)下,在實(shí)際執(zhí)行引導(dǎo)處理之前,步驟S30檢查FjSdBtTerm變量。換句話說(shuō),步驟S30確定FjSdBtTerm變量的值是否為“0”。如果在步驟S30的判定結(jié)果為是,則即使當(dāng)此后產(chǎn)生錯(cuò)誤時(shí),該處理也不前進(jìn)到從CDROM/DVDROM驅(qū)動(dòng)3重試。因而,步驟S31刪除FjSdBootNext變量,并將SADUMP指定標(biāo)記清除為關(guān)閉狀態(tài),步驟S35執(zhí)行與引導(dǎo)目標(biāo)設(shè)備相關(guān)的引導(dǎo)處理,隨后該處理結(jié)束。
如果FjSdBtTerm變量不為“0”和在步驟S30中的判定結(jié)果為否,則存在執(zhí)行從CDROM/DVDROM驅(qū)動(dòng)3的重試的可能性。因此,步驟S32首先根據(jù)FjSdBootYYYY變量的設(shè)備信息來(lái)確定當(dāng)前的引導(dǎo)目標(biāo)設(shè)備是否已經(jīng)是CDROM/DVDROM驅(qū)動(dòng)3。如果當(dāng)前的引導(dǎo)目標(biāo)設(shè)備是CDROM/DVDROM驅(qū)動(dòng)3并且在步驟S32的判定結(jié)果為是,則即使當(dāng)出現(xiàn)錯(cuò)誤結(jié)束時(shí),也不再?gòu)腃DROM/DVDROM驅(qū)動(dòng)3執(zhí)行重試。因此,步驟S33刪除FjSdBootNext變量,并在系統(tǒng)監(jiān)視機(jī)構(gòu)12中將SADUMP指定標(biāo)記清除為關(guān)閉狀態(tài)。此后,步驟S35執(zhí)行與引導(dǎo)目標(biāo)設(shè)備相關(guān)的引導(dǎo)處理,隨后該處理結(jié)束。反之,如果當(dāng)前的引導(dǎo)目標(biāo)設(shè)備不是CDROM/DVDROM驅(qū)動(dòng)3并且在步驟S32的判定結(jié)果為否,則步驟S34在FjSdBootNext變量中設(shè)置CDROM/DVDROM驅(qū)動(dòng)3的信息,以便當(dāng)出現(xiàn)錯(cuò)誤結(jié)束時(shí),能夠接著從CDROM/DVDROM驅(qū)動(dòng)3執(zhí)行重試,此后,步驟S35執(zhí)行與這個(gè)引導(dǎo)目標(biāo)設(shè)備相關(guān)的引導(dǎo)處理,隨后該處理結(jié)束。
接著,將描述FjSdBtTbl表變量的規(guī)定。FjSdBtTbl表變量由具有兩字節(jié)OsBootNum變量和兩字節(jié)SdBootNum變量作為成員的結(jié)構(gòu)形成的單元陣列構(gòu)成。兩字節(jié)OsBootNum變量具有BootXXXX變量的XXXX部分的值,所述BootXXXX變量是指定OS裝載器242的引導(dǎo)目標(biāo)設(shè)備的引導(dǎo)選項(xiàng)變量。兩字節(jié)SdBootNum變量具有FjSdBootYYYY變量的YYYY部分的值,所述FjSdBootYYYY變量是指定SADUMP裝載器的引導(dǎo)目標(biāo)設(shè)備的引導(dǎo)選項(xiàng)變量。
Typedef struct_FJSV_SD_BT_TBL_ENTRY{UNIT16 OsBootNum;//與BootXXXX的XXXX部分相對(duì)應(yīng)的值UNIT16 SdBootNum;//與FjSdBootYYYY的YYYY部分的值}FJSV_SD_BT_TBL_ENTRY;在這個(gè)實(shí)施例中,為了方便,假設(shè)將與OS裝載器242相對(duì)應(yīng)的SADUMP裝載器的表目數(shù)據(jù)預(yù)先設(shè)置在FjSdBtTbl表變量?jī)?nèi)??梢杂蒘ADUMP安裝器244根據(jù)下述規(guī)則來(lái)執(zhí)行該FjSdBtTbl表變量的設(shè)置。
(1)為了方便,假設(shè)FjSdBtTbl表變量?jī)H由分別與由在計(jì)算機(jī)系統(tǒng)1內(nèi)安裝的SADUMP支持的OS 243相對(duì)應(yīng)的引導(dǎo)選項(xiàng)BootXXXX(BootXXXX變量)的表目構(gòu)成。由SADUMP支持的OS 243是如下這樣當(dāng)在該OS 243的操作過(guò)程中產(chǎn)生故障時(shí),該OS 243能夠通過(guò)引導(dǎo)SADUMP來(lái)執(zhí)行用于檢查故障的存儲(chǔ)器轉(zhuǎn)儲(chǔ)。例如,在多個(gè)OS 243可以在計(jì)算機(jī)系統(tǒng)1內(nèi)引導(dǎo)但是所安裝的SADUMP僅支持某些OS 243的情況下,F(xiàn)jSdBtTbl表變量?jī)H由與所支持的OS 243的引導(dǎo)選項(xiàng)BootXXXX相對(duì)應(yīng)的表目組成。此外,即使SADUMP支持OS 243,但是如果FjSdBtTbl表變量的表目并不包括與該OS 243的引導(dǎo)選項(xiàng)BootXXXX對(duì)應(yīng)的表目,則當(dāng)在該OS 243的操作過(guò)程中產(chǎn)生故障時(shí),也不引導(dǎo)SADUMP。
(2)設(shè)置OsBootNum變量的值使得OsBootNum變量為FjSdBtTbl表變量的更小的表目采取更小的值。
(3)單個(gè)SADUMP能夠支持多個(gè)OS 243。因此,SdBootNum變量可以具有用于不同表目的相同值。
(4)可以在計(jì)算機(jī)系統(tǒng)1內(nèi)安裝多個(gè)SADUMP。然而,必需唯一地確定多個(gè)OS 243分別對(duì)應(yīng)的所安裝的SADUMP。
(5)通過(guò)確定與在計(jì)算機(jī)系統(tǒng)1內(nèi)可引導(dǎo)的OS 243的對(duì)應(yīng)關(guān)系,當(dāng)安裝SADUMP時(shí),由SADUMP安裝器244建立FjSdBtTbl表變量。此外,當(dāng)卸載該SADUMP時(shí),刪除具有由SADUMP卸載器245卸載的SADUMP的裝載器編號(hào)(值)的所有表目。此外,通過(guò)在安裝SADUMP之后新安裝或卸載OS 243時(shí)引導(dǎo)SADUMP安裝器244,通過(guò)確定新OS 243和SADUMP的對(duì)應(yīng)關(guān)系來(lái)添加新表目,刪除具有所卸載的OS 243的引導(dǎo)選項(xiàng)編號(hào)(值)的表目,能夠執(zhí)行維護(hù)。
接著,將描述通過(guò)使用FjSdBtTbl表變量,獲取與OS裝載器242的引導(dǎo)目標(biāo)設(shè)備相對(duì)應(yīng)的SADUMP裝載器的引導(dǎo)目標(biāo)設(shè)備的處理。
當(dāng)引導(dǎo)OS 243時(shí),從多個(gè)現(xiàn)有的引導(dǎo)選項(xiàng)中選擇引導(dǎo)目標(biāo)的引導(dǎo)選項(xiàng)BootXXXX。但是為了預(yù)先設(shè)置在計(jì)算機(jī)系統(tǒng)1內(nèi)安裝的并且當(dāng)通過(guò)選定的OS 243在計(jì)算機(jī)系統(tǒng)1的操作過(guò)程中產(chǎn)生故障時(shí)將引導(dǎo)的SADUMP,建立FjSdBootNext變量,并設(shè)置所引導(dǎo)的SADUMP的引導(dǎo)選項(xiàng)FjSdBootYYYY的YYYY部分的值。使用FjSdBtTbl表變量來(lái)發(fā)現(xiàn)與選定OS 243的引導(dǎo)選項(xiàng)BootXXXX相對(duì)應(yīng)的引導(dǎo)選項(xiàng)FjSdBootYYYY。也就是,從較小的表目開(kāi)始向較大的表目,連續(xù)地比較選定引導(dǎo)目標(biāo)的引導(dǎo)選項(xiàng)BootXXXX的XXXX部分的值與FjSdBtTbl表變量的OsBootNum變量的值。如果比較了所有的現(xiàn)有表目,但是沒(méi)有一個(gè)匹配,則不建立FjSdBootNext變量,根據(jù)引導(dǎo)選項(xiàng)BootXXXX來(lái)引導(dǎo)OS 243。在這種情況下,因?yàn)樗龑?dǎo)的OS 243并不具有對(duì)應(yīng)的SADUMP,并不執(zhí)行SADUMP。反之,如果作為比較的結(jié)果存在匹配表目,則建立FjSdBootNext變量,并將該匹配表目的SdBootNum變量?jī)?nèi)的值設(shè)置為FjSdBootNext變量的值。
圖4是用于解釋使用FjSdBtTbl表變量來(lái)確定與BootXXXX變量相對(duì)應(yīng)的FjSdBootYYYY變量的處理的圖。圖4圖示FjSdBoot0002變量與Boot0003變量相對(duì)應(yīng)的情況。
在OS裝載器242的常規(guī)引導(dǎo)處理中,根據(jù)諸如BootOrder變量和BootNext變量的引導(dǎo)變量(或NVRAM變量)來(lái)確定引導(dǎo)目標(biāo)的BootXXXX變量。將所確定的Boot變量BootXXXX的XXXX部分的值設(shè)置在BootCurrent變量(存儲(chǔ)器變量)內(nèi)。但是,除此之外,使用XXXX部分的值作為關(guān)鍵字來(lái)搜索FjSdBtTbl表變量,并且如果存在與該關(guān)鍵字相對(duì)應(yīng)的表目,則建立作為NVRAM變量的FjSdNext變量。從與該關(guān)鍵字相對(duì)應(yīng)的表目獲得FjSdBootYYYY變量的YYYY部分的值,并將該值設(shè)置在FjSdBootNext變量?jī)?nèi)。如果不存在與該關(guān)鍵字相對(duì)應(yīng)的表目,則刪除作為NVRAM變量的FjSdBootNext變量。此后,從在Boot0003變量?jī)?nèi)設(shè)置的引導(dǎo)目標(biāo)設(shè)備引導(dǎo)OS裝載器242。
接著,將描述FjSdBootYYYY變量的規(guī)定。例如,F(xiàn)jSdBootYYYY變量的規(guī)定如下,其中Attribute變量、FilePathListLength變量、FilePathList變量和OptionalData變量定義如下。
Typedef struct_FJSV_SD_BOOT{UNIT32 Attributes;UNIT16 FilePathListLength;CHAR16 Decription[];DEVICE_PATH FilePathList[];UNIT8OptionalData[];}FJ_SD_BOOT;1)Attributes規(guī)定當(dāng)裝載SADUMP時(shí)的附加處理的信息。
2)FilePathListLength表示FilePathList變量的字節(jié)大小的信息。
3)Description用于插入SADUMP引導(dǎo)選項(xiàng)的描述和由以NULL字符結(jié)束的單代碼字符串構(gòu)成的信息。
4)FilePathList規(guī)定用于引導(dǎo)目標(biāo)SADUMP的SADUMP裝載器的位置的設(shè)備路徑信息。
5)OptionalData將傳送給SADUMP裝載器的數(shù)據(jù)。
圖5是用于解釋將由SADUMP安裝器244執(zhí)行的與NVRAM變量相關(guān)的處理的流程圖。
在圖5中,當(dāng)在步驟S41啟動(dòng)在安裝SADUMP時(shí)執(zhí)行的SADUMP引導(dǎo)選項(xiàng)設(shè)置處理時(shí),步驟S42啟動(dòng)SADUMP的引導(dǎo)選項(xiàng)設(shè)置,步驟S43確定FjSdBootZZZZ變量是否在NVRAM 23中存在。如果在步驟S43的判定結(jié)果為是,則步驟S44通過(guò)更新FjSdBootZZZZ變量的ZZZZ部分的值來(lái)建立新的FjSdBootYYYY變量,并設(shè)置待安裝的SADUMP的SADUMP裝載器的設(shè)備路徑信息。反之,如果在步驟S43中的判定結(jié)果為否,則步驟S45建立FjSdBoot0000變量,并設(shè)置待安裝的SADUMP的SADUMP裝載器的設(shè)備路徑信息。
在步驟S44或S45之后,步驟S46確定在VARAM 23中是否存在FjSdBtTbl表變量。如果在步驟S46中的判定結(jié)果為是,則步驟S47從NVRAM 23讀取FjSdBtTbl表變量。如果在步驟S46中的判定結(jié)果為否,或者在步驟S47之后,步驟S48建立新建立的FjSdBootYYYY變量的YYYY部分的值與對(duì)應(yīng)的OS裝載器242的引導(dǎo)選項(xiàng)BootXXXX(BootXXXX變量)的XXXX部分成對(duì)的數(shù)據(jù),如果在NVRAM 23內(nèi)存在FjSdBtTbl表變量,則將數(shù)據(jù)添加給現(xiàn)有數(shù)據(jù)以構(gòu)成新的FjSdBtTbl表變量。而且,步驟S49結(jié)束SADUMP的引導(dǎo)選項(xiàng)設(shè)置。
圖6是用于解釋由SADUMP卸載器245執(zhí)行的與NVRAM變量相關(guān)的處理的流程圖。
在圖6中,當(dāng)在步驟S51中啟動(dòng)在卸載SADUMP時(shí)執(zhí)行的SADUMP引導(dǎo)選項(xiàng)刪除處理時(shí),步驟S52從NVRAM 23讀取FjSdBtTbl表變量。此外,步驟S52建立數(shù)據(jù),在該數(shù)據(jù)中刪除了具有待卸載的SADUMP的引導(dǎo)選項(xiàng)的值(FjSdBootYYYY變量的YYYY部分)的表目,并使用該數(shù)據(jù)作為新的FjSdBtTbl表變量。如果刪除了所有的表目,則步驟S52并不建立已刪除的FjSdBtTbl表變量。步驟S53刪除作為待卸載的SADUMP的引導(dǎo)選項(xiàng)的FjSdBootYYYY變量。步驟54結(jié)束SADUMP的引導(dǎo)選項(xiàng)刪除。
因此,本發(fā)明應(yīng)用于一種計(jì)算機(jī)系統(tǒng),其中能夠引導(dǎo)多個(gè)OS,當(dāng)引導(dǎo)OS時(shí),通過(guò)從多個(gè)引導(dǎo)目標(biāo)設(shè)備中自動(dòng)地或手工地選擇引導(dǎo)目標(biāo)設(shè)備能夠切換和操作OS。可以將當(dāng)在OS操作過(guò)程中產(chǎn)生故障時(shí)重置和啟動(dòng)計(jì)算機(jī)系統(tǒng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序設(shè)置為支持用于在產(chǎn)生故障之前正在操作的OS的最佳存儲(chǔ)器轉(zhuǎn)儲(chǔ)的程序。
此外,本發(fā)明并不限制于這些實(shí)施例,在不脫離本發(fā)明保護(hù)范圍的情況下,可以對(duì)其進(jìn)行各種改變和修改。
權(quán)利要求
1.一種存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法,其特征在于(a)在由計(jì)算機(jī)系統(tǒng)的引導(dǎo)固件管理的非易失性變量中定義在計(jì)算機(jī)系統(tǒng)內(nèi)安裝的多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序的引導(dǎo)信息和表示多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序與多個(gè)操作系統(tǒng)的對(duì)應(yīng)關(guān)系的表變量;(b)當(dāng)引導(dǎo)固件引導(dǎo)多個(gè)操作系統(tǒng)中的任一個(gè)操作系統(tǒng)時(shí),根據(jù)表變量指定多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的對(duì)應(yīng)一個(gè)的引導(dǎo)信息,并將表示所指定引導(dǎo)信息的信息寫入當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的非易失性變量;和(c)當(dāng)指示引導(dǎo)獨(dú)立轉(zhuǎn)儲(chǔ)時(shí),通過(guò)檢查當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的變量的存在,并且如果所述變量存在則通過(guò)參考所述變量的信息,來(lái)引導(dǎo)多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的一個(gè)對(duì)應(yīng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序。
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法,其特征在于,如果待引導(dǎo)的多個(gè)操作系統(tǒng)中的任一操作系統(tǒng)不具有對(duì)應(yīng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序,則不建立當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的變量。
3.根據(jù)權(quán)利要求1或2所述的存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法,其特征在于所述引導(dǎo)信息包括第一、第二、第三、第四和第五變量;所述第一變量包括表示計(jì)算機(jī)系統(tǒng)中的連接有引導(dǎo)目標(biāo)設(shè)備的位置的設(shè)備路徑信息,以及與操作系統(tǒng)裝載器程序的文件位置和文件名相關(guān)的信息;所述第二變量表示對(duì)由第一變量表示的多個(gè)現(xiàn)有引導(dǎo)目標(biāo)設(shè)備進(jìn)行引導(dǎo)的順序;所述第三變量包括存儲(chǔ)獨(dú)立轉(zhuǎn)儲(chǔ)程序的裝載器程序的引導(dǎo)目標(biāo)設(shè)備的設(shè)備路徑信息,以及與獨(dú)立轉(zhuǎn)儲(chǔ)程序的裝載器程序的文件位置和文件名相關(guān)的信息;所述第四變量保存作為下一次將引導(dǎo)的獨(dú)立轉(zhuǎn)儲(chǔ)程序的裝載器程序的引導(dǎo)信息的第三變量;而所述第五變量指定當(dāng)出現(xiàn)獨(dú)立轉(zhuǎn)儲(chǔ)錯(cuò)誤結(jié)束時(shí)執(zhí)行的處理。
4.根據(jù)權(quán)利要求3所述的存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法,其特征在于所述引導(dǎo)目標(biāo)設(shè)備包括硬盤驅(qū)動(dòng)和/或CDROM驅(qū)動(dòng)和/或DVDROM驅(qū)動(dòng);并且所述第五變量規(guī)定執(zhí)行錯(cuò)誤通知并重新引導(dǎo)多個(gè)操作系統(tǒng)中的任一操作系統(tǒng),或規(guī)定引導(dǎo)存儲(chǔ)在構(gòu)成引導(dǎo)目標(biāo)設(shè)備的CDROM驅(qū)動(dòng)或DVDROM驅(qū)動(dòng)內(nèi)的獨(dú)立轉(zhuǎn)儲(chǔ)程序。
5.根據(jù)權(quán)利要求1至4中的任一項(xiàng)所述的存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法,其特征在于,將獨(dú)立轉(zhuǎn)儲(chǔ)程序的裝載器程序的映像和獨(dú)立轉(zhuǎn)儲(chǔ)程序的映像存儲(chǔ)在一存儲(chǔ)位置上,所述存儲(chǔ)位置獨(dú)立于連接到計(jì)算機(jī)系統(tǒng)的引導(dǎo)目標(biāo)設(shè)備內(nèi)的存儲(chǔ)位置,并且存儲(chǔ)操作系統(tǒng)的裝載器程序的映像和操作系統(tǒng)的映像。
6.根據(jù)權(quán)利要求1至5中的任一項(xiàng)所述的存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法,其特征在于,所述方法還包括(d)由通過(guò)獨(dú)立于計(jì)算機(jī)系統(tǒng)主體的硬件操作的系統(tǒng)監(jiān)視機(jī)構(gòu)來(lái)管理表示是否執(zhí)行存儲(chǔ)器診斷的標(biāo)記。
7.一種存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)設(shè)備,其特征在于,所述設(shè)備包括非易失性存儲(chǔ)器,其被配置為在由計(jì)算機(jī)系統(tǒng)的引導(dǎo)固件管理的非易失性變量?jī)?nèi)存儲(chǔ)在計(jì)算機(jī)系統(tǒng)內(nèi)安裝的多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序的引導(dǎo)信息和表示多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序與多個(gè)操作系統(tǒng)的對(duì)應(yīng)關(guān)系的表變量;寫入裝置,用于當(dāng)引導(dǎo)固件引導(dǎo)多個(gè)操作系統(tǒng)中的任一個(gè)操作系統(tǒng)時(shí),根據(jù)表變量指定多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的對(duì)應(yīng)一個(gè)的引導(dǎo)信息,并將表示所指定引導(dǎo)信息的信息寫入當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的非易失性變量;和引導(dǎo)裝置,用于當(dāng)指示引導(dǎo)獨(dú)立轉(zhuǎn)儲(chǔ)時(shí),通過(guò)檢查當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的變量的存在,并且如果所述變量存在則通過(guò)參考所述變量的信息,來(lái)引導(dǎo)多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的一個(gè)對(duì)應(yīng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序。
8.根據(jù)權(quán)利要求7所述的存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)設(shè)備,其特征在于,如果待引導(dǎo)的多個(gè)操作系統(tǒng)中的任一操作系統(tǒng)不具有對(duì)應(yīng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序,則不建立當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的變量。
9.根據(jù)權(quán)利要求7或8所述的存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)設(shè)備,其特征在于所述引導(dǎo)信息包括第一、第二、第三、第四和第五變量;所述第一變量包括表示在計(jì)算機(jī)系統(tǒng)中連接有引導(dǎo)目標(biāo)設(shè)備的位置的設(shè)備路徑信息,以及與操作系統(tǒng)裝載器程序的文件位置和文件名相關(guān)的信息;所述第二變量表示對(duì)由第一變量表示的多個(gè)現(xiàn)有引導(dǎo)目標(biāo)設(shè)備進(jìn)行引導(dǎo)的順序;所述第三變量包括存儲(chǔ)獨(dú)立轉(zhuǎn)儲(chǔ)程序的裝載器程序的引導(dǎo)目標(biāo)設(shè)備的設(shè)備路徑信息,以及與獨(dú)立轉(zhuǎn)儲(chǔ)程序的裝載器程序的文件位置和文件名相關(guān)的信息;所述第四變量保存作為下一次將引導(dǎo)的獨(dú)立轉(zhuǎn)儲(chǔ)程序的裝載器程序的引導(dǎo)信息的第三變量;而所述第五變量指定當(dāng)出現(xiàn)獨(dú)立轉(zhuǎn)儲(chǔ)錯(cuò)誤結(jié)束時(shí)執(zhí)行的處理。
10.根據(jù)權(quán)利要求9所述的存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)設(shè)備,其特征在于所述引導(dǎo)目標(biāo)設(shè)備包括硬盤驅(qū)動(dòng)和/或CDROM驅(qū)動(dòng)和/或DVDROM驅(qū)動(dòng);并且所述第五變量規(guī)定執(zhí)行錯(cuò)誤通知并且重新引導(dǎo)多個(gè)操作系統(tǒng)中的任一操作系統(tǒng),或規(guī)定引導(dǎo)在構(gòu)成引導(dǎo)目標(biāo)設(shè)備的CDROM驅(qū)動(dòng)或DVDROM驅(qū)動(dòng)內(nèi)存儲(chǔ)的獨(dú)立轉(zhuǎn)儲(chǔ)程序。
11.根據(jù)權(quán)利要求7至10中的任一權(quán)利要求所述的存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)設(shè)備,其特征在于,將獨(dú)立轉(zhuǎn)儲(chǔ)程序的裝載器程序的映像和獨(dú)立轉(zhuǎn)儲(chǔ)程序的映像存儲(chǔ)在一存儲(chǔ)位置上,該存儲(chǔ)位置獨(dú)立于連接到計(jì)算機(jī)系統(tǒng)的引導(dǎo)目標(biāo)設(shè)備內(nèi)的存儲(chǔ)位置,并且存儲(chǔ)操作系統(tǒng)的裝載器程序的映像和操作系統(tǒng)的映像。
12.根據(jù)權(quán)利要求7至11中的任一項(xiàng)所述的存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)設(shè)備,其特征還在于系統(tǒng)監(jiān)視機(jī)構(gòu)被配置為通過(guò)操作獨(dú)立于計(jì)算機(jī)系統(tǒng)主體的硬件來(lái)管理表示是否執(zhí)行存儲(chǔ)器診斷的標(biāo)記。
13.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)用于使計(jì)算機(jī)系統(tǒng)的計(jì)算機(jī)引導(dǎo)存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序的程序,其特征在于所述程序包括使計(jì)算機(jī)執(zhí)行以下操作的程序在由計(jì)算機(jī)系統(tǒng)的引導(dǎo)固件管理的非易失性變量中定義在計(jì)算機(jī)系統(tǒng)內(nèi)安裝的多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序的引導(dǎo)信息和表示多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序與多個(gè)操作系統(tǒng)的對(duì)應(yīng)關(guān)系的表變量;使計(jì)算機(jī)執(zhí)行以下操作的程序當(dāng)引導(dǎo)固件引導(dǎo)多個(gè)操作系統(tǒng)中的任一個(gè)操作系統(tǒng)時(shí),根據(jù)表變量指定多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的對(duì)應(yīng)一個(gè)的引導(dǎo)信息,并將表示所指定引導(dǎo)信息的信息寫入當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的非易失性變量;以及使計(jì)算機(jī)執(zhí)行以下操作的程序當(dāng)指示引導(dǎo)獨(dú)立轉(zhuǎn)儲(chǔ)時(shí),通過(guò)檢查當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的變量的存在和如果變量存在則通過(guò)參考變量的信息,來(lái)引導(dǎo)多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的一個(gè)對(duì)應(yīng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序。
14.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,如果待引導(dǎo)的多個(gè)操作系統(tǒng)中的任一操作系統(tǒng)不具有對(duì)應(yīng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序,則不建立當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的變量。
15.根據(jù)權(quán)利要求13或14所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于引導(dǎo)信息包括第一、第二、第三、第四和第五變量;所述第一變量包括表示在計(jì)算機(jī)系統(tǒng)中的連接有引導(dǎo)目標(biāo)設(shè)備的位置的設(shè)備路徑信息,以及與操作系統(tǒng)裝載器程序的文件位置和文件名相關(guān)的信息;所述第二變量表示對(duì)由第一變量表示的多個(gè)現(xiàn)有引導(dǎo)目標(biāo)設(shè)備進(jìn)行引導(dǎo)的順序;所述第三變量包括存儲(chǔ)獨(dú)立轉(zhuǎn)儲(chǔ)程序的裝載器程序的引導(dǎo)目標(biāo)設(shè)備的設(shè)備路徑信息,以及與獨(dú)立轉(zhuǎn)儲(chǔ)程序的裝載器程序的文件位置和文件名相關(guān)的信息;所述第四變量保存作為下一次將引導(dǎo)的獨(dú)立轉(zhuǎn)儲(chǔ)程序的裝載器程序的引導(dǎo)信息的第三變量;而所述第五變量指定當(dāng)出現(xiàn)獨(dú)立轉(zhuǎn)儲(chǔ)錯(cuò)誤結(jié)束時(shí)執(zhí)行的處理。
16.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于所述引導(dǎo)目標(biāo)設(shè)備包括硬盤驅(qū)動(dòng)和/或CDROM驅(qū)動(dòng)和/或DVDROM驅(qū)動(dòng);并且所述第五變量規(guī)定執(zhí)行錯(cuò)誤通知并重新引導(dǎo)多個(gè)操作系統(tǒng)中的任一操作系統(tǒng),或規(guī)定引導(dǎo)在構(gòu)成引導(dǎo)目標(biāo)設(shè)備的CDROM驅(qū)動(dòng)或DVDROM驅(qū)動(dòng)內(nèi)存儲(chǔ)的獨(dú)立轉(zhuǎn)儲(chǔ)程序。
17.根據(jù)權(quán)利要求13至16中的任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,將獨(dú)立轉(zhuǎn)儲(chǔ)程序的裝載器程序的映像和獨(dú)立轉(zhuǎn)儲(chǔ)程序的映像存儲(chǔ)在一存儲(chǔ)位置上,該存儲(chǔ)位置獨(dú)立于連接到計(jì)算機(jī)系統(tǒng)的引導(dǎo)目標(biāo)設(shè)備內(nèi)的存儲(chǔ)位置,并存儲(chǔ)操作系統(tǒng)的裝載器程序的映像和操作系統(tǒng)的映像。
18.根據(jù)權(quán)利要求13至17中的任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述程序還包括使計(jì)算機(jī)執(zhí)行以下操作的程序通過(guò)操作獨(dú)立于計(jì)算機(jī)系統(tǒng)主體的硬件的系統(tǒng)監(jiān)視機(jī)構(gòu)來(lái)管理表示是否執(zhí)行存儲(chǔ)器診斷的標(biāo)記。
全文摘要
一種存儲(chǔ)器轉(zhuǎn)儲(chǔ)程序引導(dǎo)方法,包括如下步驟在由計(jì)算機(jī)系統(tǒng)的引導(dǎo)固件管理的非易失性變量中定義在計(jì)算機(jī)系統(tǒng)內(nèi)安裝的多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序的引導(dǎo)信息和表示多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序與多個(gè)操作系統(tǒng)的對(duì)應(yīng)關(guān)系的表變量;當(dāng)引導(dǎo)固件引導(dǎo)多個(gè)操作系統(tǒng)中的任一個(gè)操作系統(tǒng)時(shí),根據(jù)該表變量來(lái)指定多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的對(duì)應(yīng)一個(gè)的引導(dǎo)信息,并將表示所指定引導(dǎo)信息的信息寫入當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的非易失性變量;并且當(dāng)指示引導(dǎo)獨(dú)立轉(zhuǎn)儲(chǔ)時(shí),通過(guò)檢查當(dāng)執(zhí)行獨(dú)立轉(zhuǎn)儲(chǔ)時(shí)參考的變量的存在,并且如果變量存在則通過(guò)參考變量的信息,來(lái)引導(dǎo)多個(gè)獨(dú)立轉(zhuǎn)儲(chǔ)程序中的一個(gè)對(duì)應(yīng)的獨(dú)立轉(zhuǎn)儲(chǔ)程序。
文檔編號(hào)G06F9/445GK1811723SQ20051007404
公開(kāi)日2006年8月2日 申請(qǐng)日期2005年5月25日 優(yōu)先權(quán)日2005年1月26日
發(fā)明者小熊幸雄 申請(qǐng)人:富士通株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
樟树市| 保亭| 翁牛特旗| 锡林浩特市| 崇义县| 梅河口市| 屏东县| 浦城县| 皮山县| 宝丰县| 天全县| 凤山市| 云和县| 河西区| 江油市| 铜陵市| 闽侯县| 广丰县| 秭归县| 宜章县| 大洼县| 清原| 榆中县| 高州市| 青浦区| 城口县| 吴桥县| 五家渠市| 邵阳县| 疏附县| 东城区| 禹城市| 新化县| 雷波县| 奎屯市| 静海县| 中江县| 正定县| 敦化市| 隆尧县| 焉耆|