一種檢驗bios的方法及裝置的制造方法
【專利摘要】本發明提供了一種檢驗BIOS的方法及裝置,該方法,包括:預先設置檢驗腳本;運行所述檢驗腳本;按照所述檢驗腳本的第一指令,獲取BMC中的目標單元的第一UUID;按照所述檢驗腳本的第二指令,利用BIOS獲取所述目標單元的第二UUID;按照所述檢驗腳本的第三指令,判斷第一UUID與第二UUID是否相同,如果是,則確定BIOS獲取UUID成功,否則,確定BIOS獲取UUID失敗。本發明提供了一種檢驗BIOS的方法及裝置,能夠提高檢驗BIOS的速度。
【專利說明】
-種檢驗BI OS的方法及裝置
技術領域
[0001 ] 本發明設及計算機技術領域,特別設及一種檢驗BI0S(Basic Input Output System,基本輸入輸出系統)的方法及裝置。
【背景技術】
[0002] UUID(Universally Unique Identifier,通用唯一識別碼)是在一臺機器上生成 的數字,它保證對在同一時空中的所有機器都是唯一的。UUID作為唯一的辨識資訊,越來越 多的設備需要在出廠時預設UUID。
[0003] 在BIOS階段,BIOS需要讀取UUID來識別相應的硬件,例如:通過讀取主板的UUID來 識別主板。但是,當BIOS在讀取UUID時發送錯誤時,BIOS可能無法正確識別相應的硬件,因 此,需要對BIOS進行檢驗,驗證BIOS讀取的UUID是否準確。現有技術中,一般通過人工來進 行檢驗,具體地,人工獲取BIOS中的UUID,通過比較獲取的UUID與正確的UUID來檢驗BIOS。
[0004] 通過上述描述可見,現有技術中,由人工來檢驗BIOS的方法的速度比較慢。
【發明內容】
[0005] 本發明實施例提供了一種檢驗BIOS的方法及裝置,能夠提高檢驗BIOS的速度。
[0006] -方面,本發明實施例提供了一種檢驗BIOS的方法,包括:
[0007] 預先設置檢驗腳本;
[000引 Sl:運行所述檢驗腳本;
[0009] S2 :按照所述檢驗腳本的第一指令,獲取BMC(Baset)Oard Management Controller,基板管理控制器)中的目標單元的第一 UUID;
[0010] S3:按照所述檢驗腳本的第二指令,利用BIOS獲取所述目標單元的第二UUID;
[0011] S4:按照所述檢驗腳本的第S指令,判斷第一UUID與第二UUID是否相同,如果是, 則確定BIOS獲取UUID成功,否則,確定BIOS獲取UUID失敗。
[0012] 進一步地,所述預先設置檢驗腳本,包括:
[0013] 通過血idecode設置所述檢驗腳本的第一指令;
[0014] 通過血idecode設置所述檢驗腳本的第二指令。
[0015] 進一步地,所述S3中的所述利用BIOS獲取所述目標單元的第二UUID,包括:
[0016] 利用BIOS從所述BMC對應的存儲器中讀取所述目標單元的所述第二UUID。
[0017] 進一步地,在所述S2之后,還包括:
[0018] 按照所述檢驗腳本的第四指令,將所述第一 UUID更新到系統管理輸出輸出系統 affiios 中。
[0019] 進一步地,在所述Sl之前,還包括:
[0020] 獲取所述目標單元所在的系統的root權限;
[00別]所述SI,包括:
[0022]在所述目標單元所在的系統的root權限下運行所述檢驗腳本。
[0023] 另一方面,本發明實施例提供了一種檢驗BIOS的裝置,包括:
[0024] 設置單元,用于設置檢驗腳本;
[0025] 運行單元,用于運行所述檢驗腳本;
[0026] 第一獲取單元,用于按照所述檢驗腳本的第一指令,獲取BMC中的目標單元的第一 UUID ;
[0027] 第二獲取單元,用于按照所述檢驗腳本的第二指令,利用BIOS獲取所述目標單元 的第二UUID;
[00%]檢驗單元,用于按照所述檢驗腳本的第S指令,判斷第一UUID與第二UUID是否相 同,當判斷結果為是時,確定BIOS獲取UUID成功,當判斷結果為否時,確定BIOS獲取UUID失 敗。
[0029] 進一步地,所述設置單元,用于通過dmidecode設置所述檢驗腳本的第一指令,通 過血idecode設置所述檢驗腳本的第二指令。
[0030] 進一步地,所述第二獲取單元,在執行所述利用BIOS獲取所述目標單元的第二 UUID時,用于利用BIOS從所述BMC對應的存儲器中讀取所述目標單元的所述第二UUID。
[0031 ] 進一步地,還包括:
[0032] 更新單元,用于按照所述檢驗腳本的第四指令,將所述第一UUID更新到系統管理 輸出輸出系統SMBIOS中。
[0033] 進一步地,還包括:權限單元,用于獲取所述目標單元所在的系統的root權限;
[0034] 所述運行單元,用于在所述目標單元所在的系統的root權限下運行所述檢驗腳 本。
[0035] 在本發明實施例中,預先設置檢驗腳本,通過執行檢驗腳本中的指令獲取BMC中目 標單元的第一 UUID,并利用BIOS獲取目標單元的第二UUID,將二者進行比較,通過比較結果 來檢驗BIOS,檢驗過程無線人工參與,通過檢驗腳本即可實現,提高了檢驗BIOS的速度。
【附圖說明】
[0036] 為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明 的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可W根據 運些附圖獲得其他的附圖。
[0037] 圖1是本發明一實施例提供的一種檢驗BIOS的方法的流程圖;
[0038] 圖2是本發明一實施例提供的另一種檢驗BIOS的方法的流程圖;
[0039] 圖3是本發明一實施例提供的一種檢驗BIOS的裝置的示意圖;
[0040] 圖4是本發明一實施例提供的另一種檢驗BIOS的裝置的示意圖。
【具體實施方式】
[0041] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例,基于本發明中的實施例,本領域普通技術人員 在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0042] 如圖I所示,本發明實施例提供了一種檢驗BIOS的方法,該方法可W包括W下步 驟:
[0043] SO:預先設置檢驗腳本;
[0044] Sl:運行所述檢驗腳本;
[0045] S2:按照所述檢驗腳本的第一指令,獲取基板管理控制器BMC中的目標單元的第一 UUID ;
[0046] S3:按照所述檢驗腳本的第二指令,利用BIOS獲取所述目標單元的第二UUID;
[0047] S4:按照所述檢驗腳本的第S指令,判斷第一UUID與第二UUID是否相同,如果是, 則確定BIOS獲取UUID成功,否則,確定BIOS獲取UUID失敗。
[0048] 在本發明實施例中,預先設置檢驗腳本,通過執行檢驗腳本中的指令獲取BMC中目 標單元的第一 UUID,并利用BIOS獲取目標單元的第二UUID,將二者進行比較,通過比較結果 來檢驗BIOS,檢驗過程無線人工參與,通過檢驗腳本即可實現,提高了檢驗BIOS的速度。
[0049] 在本發明一實施例中,所述預先設置檢驗腳本,包括:
[0050] 通過血idecode設置所述檢驗腳本的第一指令;
[0051 ] 通過血idecode設置所述檢驗腳本的第二指令。
[0052] 在運行檢驗腳本后,通過dmidecode形式的第一指令獲取第一UUID,通過 血idecode形式的第二指令獲取第二UUID。
[0053] 在本發明一實施例中,所述S3中的所述利用BIOS獲取所述目標單元的第二UUID, 包括:
[0054] 利用BIOS從所述BMC對應的存儲器中讀取所述目標單元的所述第二UUID。
[0055]運里的存儲器可W是EPROM化rasabIe Programmable Read Only Memoiy,可擦除 可編程只讀寄存器)dBMC在設置目標單元的UUID時,會將UUID保存到對應的存儲器中,BIOS 可W從該存儲器中獲取第二UUID。
[0056] 在本發明一實施例中,在所述S2之后,還包括:
[0057] 按照所述檢驗腳本的第四指令,將所述第一 UUID更新到SMBIOS中。
[005引通過該實現方式可W使得BIOS能夠獲取到正確的UUID。
[0059] 在本發明一實施例中,在所述Sl之前,還包括:
[0060] 獲取所述目標單元所在的系統的root權限;
[0061 ] 所述SI,包括:
[0062] 在所述目標單元所在的系統的root權限下運行所述檢驗腳本。
[0063] 為了能夠實現檢驗腳本中的指令,需要獲取系統的root權限,在root權限下,可W 實現檢驗腳本中的所有指令,避免出現在檢驗腳本運行過程中,沒有權限執行相應指令的 情況。
[0064] 如圖2所示,本發明實施例提供了一種檢驗BIOS的方法,在本發明實施例中,目標 單元為主板,該方法可W包括W下步驟:
[0065] 步驟201:預先設置檢驗腳本。
[0066] 具體地,在檢驗腳本中設置第一指令、第二指令、第=指令和第四指令。
[0067] 其中,檢驗腳本中的第一指令和第二指令可W通過血idecode來實現。
[0068] 步驟202:獲取主板所在的系統的root權限。
[0069] 步驟203:在主板所在的系統的root權限下運行檢驗腳本。
[0070] 步驟204:按照檢驗腳本的第一指令,獲取主板對應的BMC中的主板的第一 UUID。
[OOW BMC中的UUID是準確的,因此,可W用來與BIOS獲取的UUID進行比較。
[0072] 步驟205:按照檢驗腳本的第二指令,利用BIOS從BMC對應的存儲器中讀取主板的 第二 UUID。
[0073] BIOS無法從BMC中獲取目標單元的UUID,可W從存儲器中讀取UUID。
[0074] BMC會將目標單元的UUID存儲到對應的存儲器中,但是,由于BMC中的UUID更新后, 存儲器中的UUID可能沒有及時更新,或者,BIOS在讀取的時候發生錯誤等原因,導致BMC中 的UUID與BIOS獲取的UUID不一致。
[0075] 步驟206:按照檢驗腳本的第S指令,判斷第一UUID與第二UUID是否相同,如果是, 則執行步驟206,否則,執行步驟207。
[0076] 步驟207:確定BIOS獲取UUID成功。
[0077] 步驟208:確定BIOS獲取UUID失敗。
[007引在步驟204之后,還可W包括:
[0079] 步驟209:按照檢驗腳本的第四指令,將第一 UUID更新到SMBIOS中。
[0080] 通過該步驟可W使得BIOS中的UUID是正確的。
[0081] 本發明實施例中的檢驗腳本可W通過W下代碼實現:
[0082]
[0OS31
[QQ84」本發明買施例nj 應用巧Linux《統中。
[0085] 如圖3、圖4所示,本發明實施例提供了一種檢驗BIOS的裝置。裝置實施例可W通過 軟件實現,也可W通過硬件或者軟硬件結合的方式實現。從硬件層面而言,如圖3所示,為本 發明實施例提供的一種檢驗BIOS的裝置所在設備的一種硬件結構圖,除了圖3所示的處理 器、內存、網絡接口、W及非易失性存儲器之外,實施例中裝置所在的設備通常還可W包括 其他硬件,如負責處理報文的轉發忍片等等。W軟件實現為例,如圖4所示,作為一個邏輯意 義上的裝置,是通過其所在設備的CP閑尋非易失性存儲器中對應的計算機程序指令讀取到 內存中運行形成的。本實施例提供的一種檢驗BIOS的裝置,包括:
[0086] 設置單元401,用于設置檢驗腳本;
[0087] 運行單元402,用于運行所述檢驗腳本;
[0088] 第一獲取單元403,用于按照所述檢驗腳本的第一指令,獲取基板管理控制器BMC 中的目標單元的第一通用唯一識別碼UUID;
[0089] 第二獲取單元404,用于按照所述檢驗腳本的第二指令,利用BIOS獲取所述目標單 元的第二UUID;
[0090] 檢驗單元405,用于按照所述檢驗腳本的第S指令,判斷第一 UUID與第二UUID是否 相同,當判斷結果為是時,確定BIOS獲取UUID成功,當判斷結果為否時,確定BIOS獲取UUID 失敗。
[0091] 在本發明一實施例中,所述設置單元401,用于通過dmidecode設置所述檢驗腳本 的第一指令,通過血idecode設置所述檢驗腳本的第二指令。
[0092 ]在本發明一實施例中,所述第二獲取單元404,在執行所述利用BI OS獲取所述目標 單元的第二UUID時,用于利用BIOS從所述BMC對應的存儲器中讀取所述目標單元的所述第 二UUID。
[0093] 在本發明一實施例中,該裝置還包括:
[0094] 更新單元,用于按照所述檢驗腳本的第四指令,將所述第一UUID更新到系統管理 輸出輸出系統SMBIOS中。
[00%]在本發明一實施例中,該裝置還包括:權限單元,用于獲取所述目標單元所在的系 統的root權限;
[0096] 所述運行單元402,用于在所述目標單元所在的系統的root權限下運行所述檢驗 腳本。
[0097] 上述裝置內的各單元之間的信息交互、執行過程等內容,由于與本發明方法實施 例基于同一構思,具體內容可參見本發明方法實施例中的敘述,此處不再寶述。
[0098] 本發明實施例至少具有如下有益效果:
[0099] 1、在本發明實施例中,預先設置檢驗腳本,通過執行檢驗腳本中的指令獲取BMC中 目標單元的第一 UUID,并利用BIOS獲取目標單元的第二UUID,將二者進行比較,通過比較結 果來檢驗BIOS,檢驗過程無線人工參與,通過檢驗腳本即可實現,提高了檢驗BIOS的速度。
[0100] 2、在本發明實施例中,通過檢驗腳本來實現對BIOS的檢驗,可W避免由人工檢驗 造成的錯誤,提高檢驗結果的準確性。
[0101] 需要說明的是,在本文中,諸如第一和第二之類的關系術語僅僅用來將一個實體 或者操作與另一個實體或操作區分開來,而不一定要求或者暗示運些實體或操作之間存在 任何運種實際的關系或者順序。而且,術語"包括"、"包含"或者其任何其他變體意在涵蓋非 排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素, 而且還包括沒有明確列出的其他要素,或者是還包括為運種過程、方法、物品或者設備所固 有的要素。在沒有更多限制的情況下,由語句"包括一個......"限定的要素,并不排 除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。
[0102] 本領域普通技術人員可W理解:實現上述方法實施例的全部或部分步驟可W通過 程序指令相關的硬件來完成,前述的程序可W存儲在計算機可讀取的存儲介質中,該程序 在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:R〇M、RAM、磁碟或者光 盤等各種可W存儲程序代碼的介質中。
[0103]最后需要說明的是:W上所述僅為本發明的較佳實施例,僅用于說明本發明的技 術方案,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所做的任何修改、 等同替換、改進等,均包含在本發明的保護范圍內。
【主權項】
1. 一種檢驗基本輸入輸出系統BIOS的方法,其特征在于,包括: 預先設置檢驗腳本; SI:運行所述檢驗腳本; S2:按照所述檢驗腳本的第一指令,獲取基板管理控制器BMC中的目標單元的第一通用 唯一識別碼UUID; S3:按照所述檢驗腳本的第二指令,利用BIOS獲取所述目標單元的第二UUID; S4:按照所述檢驗腳本的第三指令,判斷第一 UUID與第二UUID是否相同,如果是,則確 定BIOS獲取UUID成功,否則,確定BIOS獲取UUID失敗。2. 根據權利要求1所述的方法,其特征在于, 所述預先設置檢驗腳本,包括: 通過dmidecode設置所述檢驗腳本的第一指令; 通過dmidecode設置所述檢驗腳本的第二指令。3. 根據權利要求1所述的方法,其特征在于, 所述S3中的所述利用BIOS獲取所述目標單元的第二UUID,包括: 利用BIOS從所述BMC對應的存儲器中讀取所述目標單元的所述第二UUID。4. 根據權利要求1所述的方法,其特征在于,在所述S2之后,還包括: 按照所述檢驗腳本的第四指令,將所述第一 UUID更新到系統管理輸出輸出系統SMBIOS 中。5. 根據權利要求1所述的方法,其特征在于, 在所述Sl之前,還包括: 獲取所述目標單元所在的系統的root權限; 所述Sl,包括: 在所述目標單元所在的系統的root權限下運行所述檢驗腳本。6. -種檢驗基本輸入輸出系統BIOS的裝置,其特征在于,包括: 設置單元,用于設置檢驗腳本; 運行單元,用于運行所述檢驗腳本; 第一獲取單元,用于按照所述檢驗腳本的第一指令,獲取基板管理控制器BMC中的目標 單元的第一通用唯一識別碼UUID; 第二獲取單元,用于按照所述檢驗腳本的第二指令,利用BIOS獲取所述目標單元的第 二UUID; 檢驗單元,用于按照所述檢驗腳本的第三指令,判斷第一UUID與第二UUID是否相同,當 判斷結果為是時,確定BIOS獲取UUID成功,當判斷結果為否時,確定BIOS獲取UUID失敗。7. 根據權利要求6所述的裝置,其特征在于,所述設置單元,用于通過dmidecode設置所 述檢驗腳本的第一指令,通過dmidecode設置所述檢驗腳本的第二指令。8. 根據權利要求6所述的裝置,其特征在于, 所述第二獲取單元,在執行所述利用BIOS獲取所述目標單元的第二UUID時,用于利用 BIOS從所述BMC對應的存儲器中讀取所述目標單元的所述第二UUID。9. 根據權利要求6-8中任一所述的裝置,其特征在于,還包括: 更新單元,用于按照所述檢驗腳本的第四指令,將所述第一UUID更新到系統管理輸出 輸出系統SMBIOS中。10.根據權利要求6-8中任一所述的裝置,其特征在于, 還包括:權限單元,用于獲取所述目標單元所在的系統的root權限; 所述運行單元,用于在所述目標單元所在的系統的root權限下運行所述檢驗腳本。
【文檔編號】G06F11/22GK105955857SQ201610280666
【公開日】2016年9月21日
【申請日】2016年4月29日
【發明人】姜慶臣
【申請人】浪潮電子信息產業股份有限公司