專利名稱:用于遠程診斷與維修的擴充基本輸入輸出系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對產(chǎn)生故障的計算機系統(tǒng)進行診斷和修復的設(shè)備和方法,更具體地說,涉及用于診斷和修復基本輸入輸出系統(tǒng)(BIOS)的計算機代碼。
本發(fā)明的背景技術(shù)因為沒有裝載操作指令的計算機基本上是一塊廢鐵,所以,必須有一些由計算機遵循的標準啟動指令集,它們能迅速地訪問和加載計算機的操作存儲器,以便直接測試計算機的硬件和連通性,然后對計算機加載在執(zhí)行有用的任務(wù)時必不可少的各種操作代碼。通常將這種初始代碼稱為基本輸入輸出系統(tǒng)(BIOS),該系統(tǒng)包括一個開機自檢(POST)程序,以確保所有電路在試圖裝載和初始化操作所必需的全部代碼之前都處于工作狀態(tài)并保持正確的連接,和功能。
在大多數(shù)實例中,基本輸入輸出系統(tǒng)是比較小的代碼集,嵌在非易失性的只讀存儲器中,例如可電擦除可編程的只讀存儲器(EEPROM),該存儲器在開機的瞬間可訪問計算機的中央處理單元(中央處理單元)。部分地由于在隨機存取存儲器(RAM)中訪問和執(zhí)行代碼的速度遠遠高于在只讀存儲器(ROM)中訪問和執(zhí)行代碼的速度,所以在開機時,通常立即將基本輸入輸出系統(tǒng)代碼從只讀存儲器中裝入隨機存取存儲器,然后在隨機存取存儲器中執(zhí)行。
盡管基本輸入輸出系統(tǒng)具有測試計算機操作設(shè)備的功能而且基本輸入輸出系統(tǒng)的基本功能在后續(xù)操作中繼續(xù)使用,但是對繼續(xù)成功的系統(tǒng)操作而言,基本輸入輸出系統(tǒng)不是一個充分的系統(tǒng)。為了使計算機能夠全面運行,在執(zhí)行最初的基本輸入輸出系統(tǒng)之后,還有許多必須加載的功能,其中包括在海量存儲系統(tǒng)(如軟盤驅(qū)動器(FDD),硬盤驅(qū)動器(HDD)和CD-ROM驅(qū)動器)中讀寫數(shù)據(jù)。使計算機能夠完成這些基本功能的全部代碼在現(xiàn)有技術(shù)中被稱為操作系統(tǒng)(OS)。
在非常早期的個人計算機中,硬盤驅(qū)動器尚未廣泛使用前,象IBM兼容的磁盤操作系統(tǒng)(DOS)這樣的操作系統(tǒng)通常與應(yīng)用程序(如字處理軟件或電子表格處理軟件)一起記錄在一張軟盤上。一張帶有磁盤操作系統(tǒng)和啟動扇區(qū)的軟盤被稱為啟動盤,盡管現(xiàn)在操作系統(tǒng)和啟動扇區(qū)通常都記錄在硬盤驅(qū)動器中,但是仍然使用這個名字。在將啟動盤插入計算機的軟盤驅(qū)動器之后,系統(tǒng)開始運行?;据斎胼敵鱿到y(tǒng)將從駐留的只讀存儲器中加載,完成簡單的開機自檢例行程序,然后在軟驅(qū)中查詢(通常只有一次)以便找到磁盤操作系統(tǒng)。在確定磁盤操作系統(tǒng)的位置之后,基本輸入輸出系統(tǒng)將使其加載,并出現(xiàn)用戶輸入指令的磁盤操作系統(tǒng)提示符?;据斎胼敵鱿到y(tǒng)代碼和磁盤操作系統(tǒng)將保留在隨機存取存儲器中,供中央處理單元在需要基本功能和例行程序時存取。然后,用戶可以啟動軟盤上的字處理軟件或者其它應(yīng)用程序開始工作。
在這個早期的簡單方案中,如果啟動盤中的基本輸入輸出系統(tǒng)代碼出現(xiàn)錯誤,計算機將不能啟動,操作員可以簡單地從軟驅(qū)中取出該啟動盤,換一張啟動盤,再重新啟動。一旦可用的磁盤操作系統(tǒng)被調(diào)用,操作員就可以將不同的軟盤插入軟驅(qū),以便訪問應(yīng)用程序和數(shù)據(jù)文件。
現(xiàn)在,在某種意義上事情沒有許多差別。主要差別在于涉及到了海量存儲設(shè)備而且操作系統(tǒng)和應(yīng)用程序要大得多也復雜得多。
研究開發(fā)的目的是功能性。當開發(fā)者已經(jīng)預見到與計算機相關(guān)的更精巧更復雜的產(chǎn)品時(諸如高分辨率的彩色顯示器,CD-ROM驅(qū)動器,高密度硬盤驅(qū)動器,菜單驅(qū)動的用戶界面,窗口型界面,調(diào)制解調(diào)器通信,國際互聯(lián)網(wǎng)和萬維網(wǎng)等等),開發(fā)更快更強大的中央處理單元,高密度的快速海量存儲器,和更龐大的操作系統(tǒng)就成為必要的了。
由于現(xiàn)在的操作系統(tǒng)日漸龐大,盡管有一些專用操作系統(tǒng)的最小版本可以存在只讀存儲器中,但是將象WindowsTM和UnixTM系統(tǒng)那樣的操作系統(tǒng)存入軟盤或只讀存儲器是完全不切實際的。所以,操作系統(tǒng)都存儲在非易失性海量存儲器(如硬盤)中。在這樣的系統(tǒng)中,在接通電源或重新啟動時,首先訪問基本輸入輸出系統(tǒng)只讀存儲器,將它加載到隨機存取存儲器中執(zhí)行。在開機自檢之后,基本輸入輸出系統(tǒng)代碼引導該系統(tǒng)訪問本地硬盤上通常被稱為啟動扇區(qū)的某個地址,在該扇區(qū)中存儲的代碼將用于直接從硬盤加載操作系統(tǒng)并為系統(tǒng)繼續(xù)運行做最后的準備。然后,操作系統(tǒng)(可以是幾兆字節(jié)的代碼)被加載,系統(tǒng)被導向操作者指令的起點,在這個起點,既可以由某個應(yīng)用程序加載并準備運行,也可以由操作員選擇應(yīng)用程序。
對那些熟悉磁盤操作系統(tǒng)操作的用戶而言,這個供用戶選擇和操縱運行的點就是他們熟悉的磁盤操作系統(tǒng)提示符。對那些熟悉微軟的WindowsTM的用戶而言,這個點就是他們熟悉的顯示程序組圖符的交互式界面。對于蘋果公司的McintoshTM的用戶而言,該點是他們熟悉的桌面圖形界面。
只要所有硬件和軟件系統(tǒng)都是可操作的,這種初始化序列就是一個例行程序。然而,硬盤驅(qū)動器是機械設(shè)備,因此與IC ROM相比更易受損。由于這種機械的易損性,經(jīng)常往往發(fā)生因啟動盤不能正常操作使系統(tǒng)不能啟動的情況。除了硬盤故障之外,還有許多其它硬件可能發(fā)生故障,這些故障將可能阻止個人計算機啟動和運行。
象單純的硬件故障那樣,還有許多軟件出錯的情況,如硬盤啟動驅(qū)動器的啟動扇區(qū)出錯,或者文件分配表(FAT)出錯,在這種情況下個人計算機也不能啟動。
早期的個人計算機是全功能的獨立系統(tǒng),它包括完成預期功能所必需的全部軟件和硬件。然而,本發(fā)明所處時代的個人計算機通常都有與其它計算機相連的通信鏈路。大多數(shù)最小配置的個人計算機都連接一個電話調(diào)制解調(diào)器,而且可以通過電話線(包括模擬電話和數(shù)字通信協(xié)議)與另一臺計算機進行通信。
用于商業(yè)的個人計算機經(jīng)常用局域網(wǎng)(LAN)連接在一起,借此,個人工作站只有較少的硬件和存儲在本地的不多的軟件,而且硬件和軟件資源可以在局域網(wǎng)上共享。
在任何獨立的與調(diào)制解調(diào)器相連或與局域網(wǎng)連接的計算機中,處理不能啟動的計算機的常規(guī)方法大多是維修人員帶著硬件和軟件維修工具去現(xiàn)場檢查有故障的計算機。維修人員通常可以用一張帶操作系統(tǒng)(如磁盤操作系統(tǒng))的啟動軟盤來啟動損壞的個人計算機,其中所用的操作系統(tǒng)小到可以存儲在軟盤上,然后加載診斷程序,確定故障,并完成需要的修復。這種由系統(tǒng)管理員維修的方法既費時,又受個人意向左右,而且價格昂貴。
眾所周知,有一種被稱為簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)的傳統(tǒng)的診斷系統(tǒng),它允許在遠地的服務(wù)人員與出現(xiàn)故障的計算機通信聯(lián)絡(luò)并完成某種替換,但是SNMP要求故障計算機至少有一個正在運行的可操作的最小操作系統(tǒng)。對于個人計算機不能啟動情況,SNMP就無能為力了。
因此,對那些借助調(diào)制解調(diào)器或在局域網(wǎng)上與其它設(shè)備通信的個人計算機而言,需要的是一種設(shè)備和方法,借助這種設(shè)備和方法,在計算機出現(xiàn)故障和不能啟動時,它可以自動地與遠程診斷中心聯(lián)絡(luò)并完成遠程啟動(發(fā)明人稱之為擴充啟動),通過這種方法,有故障的計算機可以獲得遠程診斷并被修復,回到運行狀態(tài),從而節(jié)省了派維修人員前往故障計算機所在地點所需的費用和時間。
在本發(fā)明的實施方案中,這種必需的系統(tǒng)是由在獨特的本地基本輸入輸出系統(tǒng)中的代碼初始化的,這個獨特的基本輸入輸出系統(tǒng)被發(fā)明人稱為E-BIOS,即擴充BIOS。在發(fā)生不能正常啟動的故障時,擴充基本輸入輸出系統(tǒng)建立與指定的遠程診斷修復控制臺聯(lián)絡(luò)的通信鏈路。
在一個實施方案中,啟動故障計算機的代碼由遠程設(shè)施的操作員從遠程中心下載到出故障的本地個人計算機上,并由遠程設(shè)施對故障計算機的診斷進行管理。
本發(fā)明概述根據(jù)本發(fā)明的一個實施方案,提供了一種基本輸入輸出系統(tǒng)(BIOS),該系統(tǒng)包括非易失性存儲器、第一部分代碼、和第二部分代碼。其中,第一部分代碼記錄在非易失性存儲器中并由中央處理單元執(zhí)行,以便支持包括初始化啟動操作在內(nèi)的計算機的啟動功能;第二部分代碼記錄在非易失性存儲器中并由中央處理單元執(zhí)行,以便與遠程計算機建立通信聯(lián)絡(luò)。在出現(xiàn)啟動故障時,使中央處理單元從執(zhí)行第一部分代碼跳到執(zhí)行第二部分代碼,以完成啟動操作。與遠程計算機的通信可以借助操作電話調(diào)制解調(diào)器進行自動撥號的方式通過模擬或數(shù)字電話鏈路建立起來,在某些實施方案中,可以按優(yōu)先權(quán)順序撥打多個號碼,直到接通為止。也可以通過任何網(wǎng)絡(luò)與遠程計算機建立通信。
在一個替代實施方案中的計算機包括中央處理單元;海量存儲設(shè)備,該海量存儲設(shè)備與中央處理單元耦合并且有引導扇區(qū)和記錄于其上的操作系統(tǒng)代碼;與中央處理單元耦合的只讀存儲器設(shè)備;以及與中央處理單元耦合的基本輸入輸出系統(tǒng)(BIOS),該基本輸入輸出系統(tǒng)包括兩部分代碼,第一部分代碼記錄在只讀存儲器設(shè)備中并由中央處理單元執(zhí)行,以便支持計算機的啟動功能,包括初始化啟動操作,第二部分代碼記錄在只讀存儲器設(shè)備中并由中央處理單元執(zhí)行,以便與遠程計算機建立通信。在出現(xiàn)啟動故障時,使中央處理單元從執(zhí)行第一部分代碼轉(zhuǎn)到執(zhí)行第二部分代碼以完成啟動操作。
在依據(jù)本發(fā)明的各種實施方案的計算機中,依據(jù)可利用的鏈路,借助模擬的或數(shù)字式的電話調(diào)制解調(diào)器或借助網(wǎng)絡(luò),來建立通信聯(lián)絡(luò)。
通過通信鏈路將故障計算機與遠程診斷與維修計算機自動連接起來形成一個在使用具有第一中央處理單元的第一計算機發(fā)生啟動故障時用于修改第一計算機中的代碼和數(shù)據(jù)的系統(tǒng),該系統(tǒng)包括使用第二中央處理單元的第二計算機,第二計算機通過通信鏈路與第一計算機相連;存儲在第二計算機的存儲設(shè)備中的主代碼內(nèi)核和從屬代碼內(nèi)核;以及在第一計算機中的擴充基本輸入輸出系統(tǒng)(E-BIOS)。當探測到第一計算機啟動出現(xiàn)故障時,擴充基本輸入輸出系統(tǒng)通過通信鏈路與第二計算機建立通信,第二中央處理單元作出響應(yīng)將從屬代碼內(nèi)核的副本拷貝到第一計算機的隨機存取存儲器中,并使該副本可供第一中央處理單元執(zhí)行,其中,當?shù)谝挥嬎銠C中的從屬代碼內(nèi)核的拷貝和第二計算機中的主代碼內(nèi)核都在有效時,第二計算機上的操作員可以從第二計算機診斷和修改第一計算機中的代碼和數(shù)據(jù)。
在這方面,第二計算機的操作者或自動軟件可以修復第一計算機的磁盤驅(qū)動器中出錯的啟動扇區(qū),或者修改第一計算機中文件分配表的代碼。
在另一方面,提供了一種診斷和修改在第一計算機的讀/寫存儲器和海量存儲設(shè)備中的代碼和數(shù)據(jù)的方法,該方法包括下述步驟(a)在通信鏈路上建立診斷與維修計算機與第一計算機的通信;(b)在診斷與維修計算機上加載和執(zhí)行主代碼內(nèi)核;(c)將從屬操作系統(tǒng)內(nèi)核從第二計算機下載到第一計算機;以及(d)通過在第二計算機上的工作,訪問和修改第一計算機的讀/寫存儲器和海量存儲器中的代碼和數(shù)據(jù)。在步驟(d)之后,可重新啟動第一計算機。本發(fā)明還提供另一種在本地計算機發(fā)生啟動故障時與遠程維修中心計算機建立聯(lián)系的方法,該方法包括下述步驟(a)通過在第一計算機上安裝和運行的擴充基本輸入輸出系統(tǒng)(E-BIOS)中的第一部分代碼的運行探測本地計算機的啟動故障;(b)通過擴充基本輸入輸出系統(tǒng)中第二部分代碼的運行激活與遠程維修中心計算機聯(lián)絡(luò)的通信聯(lián)絡(luò),其中第二部分代碼響應(yīng)第一計算機發(fā)生啟動故障開始執(zhí)行。
本發(fā)明的實施方案和實施本發(fā)明的方法提供了一種獨特的系統(tǒng)和協(xié)議,該系統(tǒng)和協(xié)議用于訪問、診斷和修復發(fā)生啟動故障的計算機,而無需派技術(shù)人員或工程師到現(xiàn)場用軟盤重新啟動有故障的計算機,然后診斷和修改出錯的代碼和數(shù)據(jù),從而節(jié)約了經(jīng)費和時間。
附圖的簡要說明
圖1是依據(jù)本發(fā)明的一個實施方案的相互連接的擴充基本輸入輸出系統(tǒng)個人計算機和擴充基本輸入輸出系統(tǒng)診斷中心的方框圖。
圖2是啟動時擴充基本輸入輸出系統(tǒng)個人計算機的操作邏輯流程圖。
圖3是擴充基本輸入輸出系統(tǒng)個人計算機與擴充基本輸入輸出系統(tǒng)診斷中心連接后,診斷與維修的操作邏輯流程圖。
本發(fā)明的詳細敘述圖1是本地擴充基本輸入輸出系統(tǒng)個人計算機11借助通信鏈路15與遠程擴充基本輸入輸出系統(tǒng)診斷與維修設(shè)施相連的方框圖。為實現(xiàn)本發(fā)明,通信設(shè)施是必要的,但是鏈路15可以是已知的鏈路類型中的任意一種,例如串行鏈路,電話調(diào)制解調(diào)器鏈路,廣域網(wǎng)或局域網(wǎng)的鏈路。個人計算機11具有不同于傳統(tǒng)的個人計算機基本輸入輸出系統(tǒng)的獨特的擴充基本輸入輸出系統(tǒng),設(shè)施13配備了通過鏈路15與帶擴充基本輸入輸出系統(tǒng)的個人計算機11協(xié)作的代碼。在圖1中這個擴充基本輸入輸出系統(tǒng)代碼被指定為主擴充基本輸入輸出系統(tǒng)19,它包括主內(nèi)核20和從屬內(nèi)核22。
在本發(fā)明不同的實施方案中,診斷與維修設(shè)施13至少有兩種不同的運行方式。一種方式是在建立連接后,操作員直接與需要維修或修改的個人計算機進行人機對話,以啟動該計算機并正常運行。另一種方式是提供自動軟件內(nèi)核24以處理有故障的個人計算機的問題,而無需人工干預。
致使帶擴充基本輸入輸出系統(tǒng)的個人計算機啟動失敗的原因有很多。不考慮重要性,其中主要的或許包括以下幾種(1)啟動驅(qū)動器的物理損傷,(2)啟動驅(qū)動器的啟動扇區(qū)中的代碼出錯,(3)文件分配表(FAT)的出錯,(4)基本輸入輸出系統(tǒng)的建立出錯(通常在實時時鐘中,和經(jīng)常調(diào)用的CMOS中),以及(5)感染病毒影響到CMOS中或硬盤中的代碼和數(shù)據(jù)。在情況(1)中,不可能通過遠程定位來進行必要的校正,必須派技術(shù)人員到現(xiàn)場對有故障的計算機進行現(xiàn)場維修或更換出故障的驅(qū)動器。在(2),(3),(4),(5)幾種情況下,診斷和維修可以借助本發(fā)明的方法進行。
在考慮自動軟件內(nèi)核和人直接操作的重要性或客觀需要時,一個有吸引力的替代方案是為大量的個人計算機提供一個診斷中心,在該診斷中心里一些個人計算機配置自動軟件(AS)界面,而另一些個人計算機由人直接操作。這種中心的個人計算機總數(shù)將按根據(jù)服務(wù)基地有所不同,而且借助首先由具有自動軟件的個人計算機響應(yīng)服務(wù)請求來保證響應(yīng)和服務(wù)的效率。在這種情況下,自動軟件個人計算機被編程尋找和確定與上述的5種常見問題有關(guān)的問題的程序。在自動軟件個人計算機不能修復有故障的個人計算機并使之重新啟動時,控制就移交給由操作員管理的設(shè)施,于是,操作員可以尋找不常見的疑難問題。在這種設(shè)施分類中,自動軟件個人計算機的數(shù)量將超過由人操作的個人計算機數(shù)量,根據(jù)經(jīng)驗,這個比例或許是5∶1。
但是,不管涉及的擴充基本輸入輸出系統(tǒng)個人計算機和擴充基本輸入輸出系統(tǒng)診斷與維修設(shè)施的數(shù)量有多少,基本操作將涉及診斷與維修設(shè)施的操作員或自動軟件與有故障的個人計算機的合作,以使有故障的機器能再次運行,而無需派維修技術(shù)人員前去現(xiàn)場修理有問題的機器。
圖2是執(zhí)行擴充基本輸入輸出系統(tǒng)代碼啟動時的擴充基本輸入輸出系統(tǒng)個人計算機的運行邏輯流程圖。在第21步,開機啟動。這可以是在計算機關(guān)機周期過后的開機、由組合擊鍵或其它信號引起的有意重新啟動、或由于電源電壓變低時間過長引起的重新啟動。
在第23步,將擴充基本輸入輸出系統(tǒng)加載到隨機存取存儲器并開始執(zhí)行。在第25步,繼續(xù)執(zhí)行擴充基本輸入輸出系統(tǒng),完成開機自檢和其它基本輸入輸出系統(tǒng)啟動功能,并且靠擴充基本輸入輸出系統(tǒng)監(jiān)視那些將阻礙完成啟動過程進程的任何故障。只要沒有發(fā)現(xiàn)阻礙系統(tǒng)正常運行的故障,啟動過程繼續(xù)進行,包括訪問硬盤驅(qū)動器中啟動驅(qū)動器的啟動扇區(qū),并從啟動驅(qū)動器中加載操作系統(tǒng)代碼。
如果在啟動過程中沒有遇到阻礙系統(tǒng)正常運行的故障,在第27步,引導程序?qū)⒃诒O(jiān)視器上顯示交互式界面,允許用戶接替并繼續(xù)操作。這個點是磁盤操作系統(tǒng)提示符,Widows界面,Mac桌面等等。
如果在第27步的處理中遇到阻礙系統(tǒng)正常運行的故障,控制轉(zhuǎn)移至第29步,擴充基本輸入輸出系統(tǒng)中的特殊代碼查詢調(diào)制解調(diào)器或局域網(wǎng)鏈路,并且總能找到一個以通過該鏈路與遠程診斷與維修單元(圖1中的單元13)建立通信。連接代碼有許多任選項。例如,將一個或多個電話號碼編程到擴充基本輸入輸出系統(tǒng)可訪問的設(shè)備中,而且這些電話號碼可以有優(yōu)先權(quán),以致擴充基本輸入輸出系統(tǒng)可以按優(yōu)先權(quán)的順序試撥號碼。對于維修人員可以不在現(xiàn)場和不確定何時才在現(xiàn)場的情況,這種安排是有用的。當合格的人員回答這種呼叫時,他將發(fā)回一個預先編程的信號。在使用局域網(wǎng)鏈路的情況下,可能在局域網(wǎng)上的一個特定站點被指定為診斷維修站點,或者有多個站點,個人計算機的擴充基本輸入輸出系統(tǒng)在個人計算機出現(xiàn)啟動故障時可按站點的優(yōu)先權(quán)表訪問這些站點。
對于熟悉這項技術(shù)的人顯然有各種各樣的備選方案,擴充基本輸入輸出系統(tǒng)可以利用這些方案與診斷維修中心建立聯(lián)系。
根據(jù)具體的實施方案,在需要服務(wù)時可以用一種或多種方式通知在遠程單元13的使用者或自動軟件內(nèi)核。在大規(guī)模的商業(yè)網(wǎng)絡(luò)中,有一個被指定為診斷維修中心的特定網(wǎng)點,并且這個網(wǎng)點的技術(shù)人員和主擴充基本輸入輸出系統(tǒng)處于全天服務(wù)狀態(tài)。在這種情況下,當局域網(wǎng)上的個人計算機出現(xiàn)故障不能重新啟動時,該有故障的個人計算機上的擴充基本輸入輸出系統(tǒng)將發(fā)出信號請求遠程服務(wù),用屏幕上的信息向維修人員報警,或許還伴有聲音信號。當?shù)卿浾埱髸r,服務(wù)技術(shù)人員可能正在運行其它程序,但屏幕上的信息和圖標提醒技術(shù)人員啟動主機軟件,并開始診斷和維修有故障的計算機。
在某些情況下,例如,擴充基本輸入輸出系統(tǒng)個人計算機需要服務(wù)并且擴充基本輸入輸出系統(tǒng)用調(diào)制解調(diào)器呼叫指定的遠程站,就為技術(shù)人員留下回訪信息,然后技術(shù)人員可以呼叫待修的調(diào)制解調(diào)器,該調(diào)制解調(diào)器在收到服務(wù)技術(shù)人員呼叫之前一直被擴充基本輸入輸出系統(tǒng)保持在應(yīng)答模式。然后,建立起聯(lián)系,并開始進行遠程診斷和維修。
在上述的具體情況中,診斷與維修作業(yè)都是由在診斷與維修個人計算機上值班的經(jīng)過培訓的技術(shù)人員完成的。在替代實施方案中,該作業(yè)將由自動軟件內(nèi)核來完成。
圖3是本發(fā)明的實施方案在診斷與維修個人計算機上的擴充基本輸入輸出系統(tǒng)主機正在運行而且與有故障的擴充基本輸入輸出系統(tǒng)個人計算機建立起通信之后,在有故障的擴充基本輸入輸出系統(tǒng)個人計算機和遠程診斷與維修個人計算機之間的作業(yè)邏輯流程圖。在第31步,建立通信。第33步,將從屬內(nèi)核22通過鏈路15從診斷與維修個人計算機13下載到有故障的個人計算機11。在人工實施方案中,下載操作由人來完成。在自動操作時,由自動軟件內(nèi)核24指令下載(圖1)。
第35步,嘗試在有故障的個人計算機11的隨機存取存儲器空間中執(zhí)行從屬內(nèi)核22。如果執(zhí)行從屬內(nèi)核失敗,控制返回第33步,開始另一個下載。在人工控制下,這個從屬內(nèi)核的重新啟動的重復次數(shù)由操作員任意決定。在自動軟件控制下,計數(shù)器37記錄嘗試的次數(shù)并且在達到預定次數(shù)(如3次)后停止嘗試。
如果在第35步確定從屬內(nèi)核可運行,控制轉(zhuǎn)移到第39步并操縱從屬內(nèi)核,以便診斷與維修有故障的個人計算機。
考慮一下人工控制的實施方案,在從屬內(nèi)核22被下載和測試后,在診斷個人計算機上提供一個模仿有故障的個人計算機的鍵盤、屏幕、軟驅(qū)的仿真界面,在診斷個人計算機上提供本地機的環(huán)境,就好象技術(shù)人員已經(jīng)到了有故障的個人計算機跟前并直接與該個人計算機進行人機對話。在這種環(huán)境下,維修技術(shù)人員可以象在有故障的個人計算機上直接操作那樣加載軟盤和診斷與維修有故障的個人計算機。例如,技術(shù)人員可以加載磁盤操作系統(tǒng)啟動盤,并且從遠程診斷與維修個人計算機的軟驅(qū)啟動有故障的個人計算機。然后,他或她可以運行諸如FDISK、CHKDISK、SCANDISK之類的診斷和修復軟件,這些軟件類似于磁盤操作系統(tǒng)和WindowsTM提供給用戶的軟件。其它實施方案中,可以使用類似的診斷程序。在診斷與維修個人計算機上的操作可借助在診斷與維修個人計算機上運行的主內(nèi)核經(jīng)鏈路15轉(zhuǎn)移到有故障的個人計算機上,并且依靠在那里運行的從屬內(nèi)核直接控制適當?shù)挠布O(shè)備和確定在有故障的個人計算機中的地址。在這個實例中,在遠程單元使用A軟驅(qū)時,鏈接的系統(tǒng)的操作就象那個A軟驅(qū)被鏈接在有故障的個人計算機上。
除了診斷和維修硬盤上的代碼和數(shù)據(jù)外,在診斷與維修個人計算機與有故障的個人計算機連接并建立從屬內(nèi)核之后,診斷與維修個人計算機還可以實現(xiàn)其它功能。其中包括全部交互式基本輸入輸出系統(tǒng)功能的遠程操作、本地媒體上的文件的恢復和檢索、運行診斷程序、恢復系統(tǒng)配置信息(如系統(tǒng)記錄、CMOS、桌面管理文件(DMI)、和基本輸入輸出系統(tǒng)或操作系統(tǒng)常用的任何其它信息。
對于熟悉這項技術(shù)的人而言,顯然有許多與這里介紹的實施方案類似的替代方案,這些替代方案沒有脫離本發(fā)明的精神和范圍。例如,有許多替代方式可以生成實現(xiàn)本發(fā)明功能的代碼。熟悉這項技術(shù)的人都知道,用各種不同方式編寫的代碼可以實現(xiàn)相同功能。各種各樣的診斷與維修功能可以合并成本發(fā)明的不同實施方案,其中的一些已經(jīng)在上面討論過。其它的替代方案包括各種通信鏈路、各種指定的維修設(shè)施的組合,在遠程診斷與維修個人計算機上主內(nèi)核可以提供的各種用戶界面,以及其它的替代方案。本發(fā)明的范圍只受權(quán)利要求書的限制。
權(quán)利要求
1.一種基本輸入輸出系統(tǒng),該系統(tǒng)包括一個非易失性存儲器;第一部分代碼,該第一部分代碼記錄在非易失性存儲器中并由一個中央處理單元執(zhí)行以完成包括引導操作初始化的計算機啟動功能;第二部分代碼,該第二部分代碼記錄在非易失性存儲器中并由所述中央處理單元執(zhí)行,以建立與一個遠程計算機的通信;其中,在所述啟動操作出現(xiàn)故障時,所述中央處理單元從執(zhí)行所述第一部分代碼轉(zhuǎn)為執(zhí)行所述第二部分代碼。
2.根據(jù)權(quán)利要求1所述的基本輸入輸出系統(tǒng),其中所述第二部分代碼使所述中央處理單元借助操作電話調(diào)制解調(diào)器完成自動撥號通過電話線與所述遠程計算機建立通信。
3.根據(jù)權(quán)利要求2所述的基本輸入輸出系統(tǒng),其中所述第二部分代碼使所述中央處理單元訪問電話號碼的優(yōu)先權(quán)記錄,并按優(yōu)先權(quán)的順序自動撥號,直至呼叫得到回應(yīng)以及預先編程的信號返回為止。
4.根據(jù)權(quán)利要求1所述的基本輸入輸出系統(tǒng),其中所述第二部分代碼使所述中央處理單元通過網(wǎng)絡(luò)通信適配器與所述遠程計算機建立通信。
5.根據(jù)權(quán)利要求1所述的基本輸入輸出系統(tǒng),其中所述非易失性存儲器是包括快速存儲器的集成電路只讀存儲器。
6.一種計算機,該計算機包括中央處理單元;與所述中央處理單元耦合的海量存儲裝置,該海量存儲裝置有引導代碼扇區(qū)和記錄在該扇區(qū)上的操作系統(tǒng)代碼;與所述中央處理單元耦合的只讀存儲器(ROM)裝置;與所述中央處理單元耦合的基本輸入輸出系統(tǒng),該基本輸入輸出系統(tǒng)具有記錄在所述只讀存儲器裝置中并且由所述中央處理單元執(zhí)行以便啟動包括引導操作初始化的計算機的各種功能的第一部分代碼,以及記錄在所述只讀存儲器裝置中并且由所述中央處理單元執(zhí)行以便與遠程計算機建立通信的第二部分代碼;其中,在所述啟動操作出現(xiàn)故障時,所述中央處理單元從執(zhí)行所述第一部分代碼轉(zhuǎn)到執(zhí)行所述第二部分代碼。
7.根據(jù)權(quán)利要求6所述的計算機,其中所述第二部分代碼使所述中央處理單元借助操作電話調(diào)制解調(diào)器完成自動撥號通過電話線與所述遠程計算機建立通信。
8.根據(jù)權(quán)利要求7所述的計算機,其中所述第二部分代碼使所述中央處理單元訪問電話號碼的優(yōu)先權(quán)記錄,并按優(yōu)先權(quán)的順序自動撥號,直至呼叫得到回應(yīng)以及預先編程的信號返回為止。
9.根據(jù)權(quán)利要求6所述的計算機,其中所述第二部分代碼使所述中央處理單元通過網(wǎng)絡(luò)通信適配器與所述遠程計算機建立通信。
10.一種用于在包括第一中央處理單元的第一計算機發(fā)生引導故障時修改第一計算機的代碼和數(shù)據(jù)的系統(tǒng),該系統(tǒng)包括具有第二中央處理單元的第二計算機,它通過電話線與所述第一計算機相連;儲存在所述第二計算機的存儲裝置上主代碼的內(nèi)核和從屬代碼的內(nèi)核;安裝在所述第一計算機中的擴充基本輸入輸出系統(tǒng);其中,在第一計算機發(fā)生引導故障時,所述擴充基本輸入輸出系統(tǒng)在通信鏈路上與所述第二計算機建立通信,并在所述第二計算機作出響應(yīng)時將所述從屬代碼的內(nèi)核的副本復制到所述第一計算機的隨機存取存儲器中,并且使該副本可供所述第一中央處理單元執(zhí)行,其中,如果所述從屬代碼內(nèi)核的副本在所述第一計算機中而且所述主代碼內(nèi)核正在所述第二計算機中運行,那么所述第二計算機的操作者就可以從所述第二計算機診斷和修改所述第一計算機中的代碼和數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述通信鏈路是綜合服務(wù)數(shù)字網(wǎng)(ISDN)和模擬電話線兩者之一。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述第一中央處理單元訪問電話號碼的優(yōu)先權(quán)記錄,并且按優(yōu)先權(quán)的順序自動撥號,直至呼叫得到回應(yīng)而且有預先編程的信號返回為止。
13.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述通信鏈路是網(wǎng)絡(luò)鏈路。
14.根據(jù)權(quán)利要求10所述的系統(tǒng),其中在建立起通信之后,所述主代碼內(nèi)核和所述從屬代碼內(nèi)核協(xié)作,將操作轉(zhuǎn)讓給所述第二計算機,仿佛所述第二計算機就是所述第一計算機。
15.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述第二計算機的操作者可以修復所述第一計算機的磁盤驅(qū)動器上出錯的引導扇區(qū),而且其中所述第二計算機的操作者還可以修改所述第一計算機的文件分配表。
16.一種診斷和修改在第一計算機的讀/寫存儲裝置和海量存儲裝置上的代碼和數(shù)據(jù)的方法,該方法包括下述步驟(a)通過來自診斷與維修計算機的通信鏈路與所述第一計算機建立通信;(b)在診斷與維修計算機上加載并執(zhí)行主代碼內(nèi)核;(c)將操作系統(tǒng)的從屬內(nèi)核從所述第二計算機下載到所述第一計算機;以及(d)借助在所述第二計算機上的操作訪問并修改所述第一計算機的所述讀/寫存儲裝置和海量存儲裝置中的代碼和數(shù)據(jù)。
17.根據(jù)權(quán)利要求16所述的方法,該方法在步驟(d)之后進一步包括嘗試重新啟動所述第一計算機的步驟。
18.一種在本地計算機發(fā)生引導故障時與遠程維修中心的計算機建立聯(lián)系的方法,該方法包括下述步驟(a)用安裝在第一計算機中并可操作的擴充基本輸入輸出系統(tǒng)通過運行第一部分代碼檢測所述本地計算機的引導故障;(b)通過在所述擴充基本輸入輸出系統(tǒng)中運行第二部分代碼激活與所述遠程維修中心計算機通信的鏈路,其中所述第二部分代碼是在對所述第一計算機的引導故障作出響應(yīng)時才開始執(zhí)行。
19.根據(jù)權(quán)利要求18所述的方法,其中所述通信鏈路是電話調(diào)制解調(diào)器鏈路。
20.根據(jù)權(quán)利要求18所述的方法,其中所述通信鏈路是網(wǎng)絡(luò)通信鏈路。
全文摘要
一種擴充基本輸入輸出系統(tǒng)(E-BIOS)(17),該系統(tǒng)具有為第一計算機提供開機自檢(POST)和啟動功能的第一部分代碼,該第一部分代碼包括確定第一計算機是否啟動的代碼。當啟動失敗時,在擴充基本輸入輸出系統(tǒng)(17)中的第二部分代碼直接與遠程診斷與維修計算機(13)建立通信鏈路(15)。當通信建立后,在診斷與維修計算機上將執(zhí)行主代碼內(nèi)核部分(20),將從屬內(nèi)核部分(22)下載到第一計算機(11)的隨機訪問存儲器中,以允許診斷與維修計算機的自動運行的軟件內(nèi)核或者操作員訪問和修改第一計算機(11)的存儲設(shè)備中的代碼和數(shù)據(jù),以及在修復后重新啟動第一計算機(11)。
文檔編號G06F9/445GK1212062SQ97192599
公開日1999年3月24日 申請日期1997年1月31日 優(yōu)先權(quán)日1996年2月26日
發(fā)明者莫里斯·W·比查里 申請人:艾沃德軟件國際有限公司