本發(fā)明涉及計算機,尤其涉及一種啟動操作系統(tǒng)的方法、裝置和計算設備。
背景技術(shù):
1、在計算設備啟動階段,用戶通常會面臨從多個操作系統(tǒng)中選擇一個操作系統(tǒng)啟動的情形。這些操作系統(tǒng)可能包括不同的系統(tǒng)類型或同一系統(tǒng)的不同版本。計算設備可以被設置為在啟動時自動展示這些操作系統(tǒng)選項。用戶可以在引導界面中自行選擇希望啟動的操作系統(tǒng),或者不做任何選擇。若用戶在預設時間內(nèi)未進行選擇,系統(tǒng)將自動引導至默認配置的操作系統(tǒng)進行啟動。
2、然而,計算設備中安裝的多種硬件設備,例如pcie和pci外圍設備,通常由不同的制造商生產(chǎn),這些設備可能針對特定操作系統(tǒng)優(yōu)化,提供專用的驅(qū)動程序和支持。因此,在這些操作系統(tǒng)上,它們能夠提供更優(yōu)的性能和穩(wěn)定性。另外操作系統(tǒng)對外圍硬件的支持能力存在差異,一些系統(tǒng)可能已經(jīng)內(nèi)建了對特定制造商設備的驅(qū)動支持,可以展現(xiàn)出更好的兼容性。而對于其他系統(tǒng),可能需要安裝額外的驅(qū)動程序或進行特定的配置,以實現(xiàn)對這些硬件設備的全面兼容。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供了一種啟動操作系統(tǒng)的方法、裝置、計算設備、計算機存儲介質(zhì)及計算機程序產(chǎn)品,能夠?qū)崿F(xiàn)選擇適配的操作系統(tǒng)啟動。
2、第一方面,本技術(shù)實施例提供一種啟動操作系統(tǒng)的方法,該方法包括:在計算設備啟動階段,獲取計算設備中在位硬件設備的設備信息;基于預置映射關(guān)系,確定與設備信息對應的目標操作系統(tǒng);其中,預置映射關(guān)系指示了至少一個操作系統(tǒng)和設備信息之間的映射關(guān)系,至少一個操作系統(tǒng)包括目標操作系統(tǒng);啟動目標操作系統(tǒng)。
3、上述示例中,在電子設備中,例如服務器。在服務器的啟動階段,如果服務器上安裝了多個操作系統(tǒng),那么需要在服務器啟動事件發(fā)生時,從多個操作系統(tǒng)中選擇一個操作系統(tǒng)啟動。在啟動事件發(fā)生的時刻,通常多個操作系統(tǒng)中的一個可以匹配啟動時刻在位的硬件設備。服務器連接的硬件設備,例如為連接到服務器系統(tǒng)總線的設備和/或直接連接到服務器主板上的設備。選擇和硬件設備匹配的操作系統(tǒng)啟動,操作系統(tǒng)可以更好地與硬件設備配合工作,提高系統(tǒng)的啟動效率、穩(wěn)定性和可靠性。適配的操作系統(tǒng)可以充分發(fā)揮該硬件設備的性能,從而獲得更好的系統(tǒng)性能和響應速度。適配的操作系統(tǒng)可以減少兼容性問題和沖突,提高系統(tǒng)的可維護性和穩(wěn)定性。
4、在一個可能的示例中,計算設備啟動階段為bios啟動階段。
5、在一個可能的示例中,至少一個操作系統(tǒng)和設備信息之間的映射關(guān)系具有先后順序,根據(jù)先后順序依次用設備信息匹配映射關(guān)系中的每個條目,選擇與設備信息首先匹配的操作系統(tǒng)作為目標操作系統(tǒng);映射關(guān)系中的每個條目指示操作系統(tǒng)和硬件設備的設備信息的對應關(guān)系。
6、上述示例中,通過獲取硬件設備的設備信息,并根據(jù)預先設定的先后順序匹配映射關(guān)系,可以快速確定最適合的目標操作系統(tǒng)。這種方法減少了手動選擇操作系統(tǒng)的時間,減少了啟動過程中的等待時間,快速啟動系統(tǒng),提高了設備啟動的效率。通過自動化的映射和匹配過程,系統(tǒng)能夠智能地選擇最適合當前硬件配置的操作系統(tǒng),減少了人為干預和錯誤的可能性,提升了用戶體驗。自動化的匹配過程還減少了用戶手動選擇操作系統(tǒng)的需求,降低了人為操作失誤的風險,特別是在需要頻繁啟動不同操作系統(tǒng)的環(huán)境中。管理員可以根據(jù)需要調(diào)整映射關(guān)系的先后順序,以適應不同的硬件環(huán)境或優(yōu)先級策略。
7、在一個可能的示例中,至少一個操作系統(tǒng)和設備信息之間的映射關(guān)系支持動態(tài)更新,以適應硬件變更或新增操作系統(tǒng)的情況。
8、上述示例中,映射關(guān)系可以預先設定并根據(jù)需要進行更新,適應不同的硬件配置和操作系統(tǒng)版本。這種方法具有高度的靈活性和可擴展性,可以應用于各種計算設備和操作系統(tǒng)環(huán)境。通過動態(tài)更新映射關(guān)系,系統(tǒng)可以兼容更多的新硬件設備,減少由于硬件設備更新而導致的啟動問題。隨著設備信息的不斷添加和映射關(guān)系的擴展,系統(tǒng)可以逐步建立起設備信息知識庫,為后續(xù)的硬件設備識別和操作系統(tǒng)匹配提供更可靠的數(shù)據(jù)支持。
9、在一個可能的示例中,當基于預置映射關(guān)系,沒有找到與設備信息對應的目標操作系統(tǒng),將該設備信息添加到映射關(guān)系中,并提供對應的操作系統(tǒng)。
10、上述示例中,系統(tǒng)能夠自我學習和更新映射關(guān)系,隨著新硬件設備的設備信息的引入,系統(tǒng)可以自動擴展映射關(guān)系,提高其適應性和智能化水平。當新硬件設備的設備信息被識別并添加到映射關(guān)系后,用戶在下次啟動時無需再次手動配置或選擇操作系統(tǒng),提高了用戶體驗的便捷性。
11、在一個可能的示例中,獲取硬件設備的設備信息包括:向基板管理控制器bmc發(fā)送設備信息獲取請求;接收并解析bmc返回的數(shù)據(jù),以確定在位的硬件設備的設備信息。
12、上述示例中,通過向bmc請求在位硬件設備的設備信息,可以確保獲取到的是啟動階段最新的設備信息。bmc通常用于集中管理和監(jiān)控服務器硬件,通過bmc獲取設備信息,可以利用其已有的管理和監(jiān)控能力,簡化信息獲取的流程。通過bmc獲取設備信息,可以避免啟動階段在系統(tǒng)級別進行復雜的設備掃描,提高了啟動效率。
13、在一個可能的示例中,獲取在位的硬件設備的設備信息之后還包括:提取設備信息的至少一個屬性,屬性包括硬件設備的地址標識符bdf、廠商標識符vendor_id、硬件設備標識符device_id、子廠商標識符sub_vendor_id、子設備標識符sub_device_id中的一項或多項;利用至少一個提取的屬性,構(gòu)建用于表示硬件設備的標識符;標識符用于在映射關(guān)系中查找與標識符對應的操作系統(tǒng)。
14、上述示例中,通過構(gòu)建設備信息的唯一標識符,確保系統(tǒng)能夠精確識別當前安裝的硬件設備??梢钥焖僭谟成潢P(guān)系中查找對應的操作系統(tǒng),減少搜索和匹配的時間,提高整體匹配效率。使用具體的設備屬性構(gòu)建標識符,可以減少由于設備信息模糊或不完整導致的錯誤匹配和系統(tǒng)沖突,提高系統(tǒng)啟動過程的可靠性。
15、在一個可能的示例中,請求通過智能平臺管理接口發(fā)送,其中接口使用智能平臺管理接口ipmi協(xié)議或redfish協(xié)議。
16、上述示例中,ipmi協(xié)議和redfish協(xié)議是行業(yè)標準協(xié)議。這種標準化接口確保了與各種硬件和軟件平臺的兼容性,提高了系統(tǒng)的通用性和可靠性。利用ipmi和redfish這些標準化的協(xié)議,確保了可以提取到不同廠商的硬件設備的設備信息。
17、在一個可能的示例中,基于預置映射關(guān)系,確定與設備信息對應的目標操作系統(tǒng),包括:若基于預置映射關(guān)系,在預設時間內(nèi)沒有找到與設備信息對應的目標操作系統(tǒng),輸出操作系統(tǒng)選擇界面;在接收到針對于操作系統(tǒng)選擇界面的用戶操作的情況下,基于用戶操作確定目標操作系統(tǒng)。
18、上述示例中,預設時間限制了系統(tǒng)在選擇操作系統(tǒng)上的等待時間,有助于減少用戶的等待,特別是當設備信息與預置映射關(guān)系匹配較慢或失敗時。提高了用戶友好性,避免了因自動匹配失敗導致的啟動中斷。
19、在一個可能的示例中,輸出操作系統(tǒng)選擇界面后,在預設時間內(nèi)沒有接收到針對于操作系統(tǒng)選擇界面的用戶操作的情況下,確定目標操作系統(tǒng)為預置的默認操作系統(tǒng)。
20、上述示例中,用戶沒有在預設時間內(nèi)進行針對于操作系統(tǒng)選擇界面的操作時,自動引導默認操作系統(tǒng)啟動,確保即使用戶未進行選擇,系統(tǒng)仍然能夠正常運行,提供了可靠的自動回退機制。
21、在一個可能的示例中,若預置映射關(guān)系中不存在與設備信息對應的操作系統(tǒng),確定目標操作系統(tǒng)為預置的默認操作系統(tǒng),或,輸出操作系統(tǒng)選擇界面;在接收到針對于所述操作系統(tǒng)選擇界面的用戶操作的情況下,基于所述用戶操作確定目標操作系統(tǒng)。
22、上述示例中,在沒有與啟動階段在位硬件設備的設備信息匹配的操作系統(tǒng)的情況下,啟動預置的默認操作系統(tǒng),或者允許用戶在啟動過程中選擇操作系統(tǒng),提高了系統(tǒng)的靈活性,適應不同用戶的需求和使用場景。
23、在一個可能的示例中,至少一個操作系統(tǒng)和硬件設備的設備信息映射關(guān)系為一個操作系統(tǒng)對應一個設備信息構(gòu)成一對一的映射關(guān)系,或一個操作系統(tǒng)對應多個設備信息構(gòu)成一對多的映射關(guān)系。
24、上述示例中,支持一對一和一對多的映射關(guān)系,使系統(tǒng)能夠靈活適應各種硬件配置和操作系統(tǒng)環(huán)境,滿足不同用戶和應用場景的需求。
25、在一個可能的示例中,映射關(guān)系包括多個條目,每個條目指定一個操作系統(tǒng)和一個或多個硬件設備的設備信息的對應關(guān)系。
26、在一個可能的示例中,映射關(guān)系存儲在引導加載程序的配置文件中,定義了硬件設備的設備信息和至少一個操作系統(tǒng)之間的對應關(guān)系。
27、在一個可能的示例中,在計算設備啟動階段,自動執(zhí)行設備發(fā)現(xiàn)命令行程序,確定目標操作系統(tǒng);設備發(fā)現(xiàn)命令行程序包括:
28、向基板管理控制器bmc發(fā)送請求,以獲取當前在位的硬件設備的設備信息;接收bmc返回的設備信息,接收并解析bmc返回的數(shù)據(jù);基于預置映射關(guān)系,確定與設備信息對應的目標操作系統(tǒng);其中,預置映射關(guān)系指示了至少一個操作系統(tǒng)和設備信息之間的映射關(guān)系,至少一個操作系統(tǒng)包括目標操作系統(tǒng)。
29、上述示例中,將設備信息的獲取、解析和操作系統(tǒng)匹配功能集成到一個命令行工具或模塊中,簡化了系統(tǒng)的管理和配置,減少了系統(tǒng)復雜性。集成化的解決方案減少了管理和維護的工作量。作為一個獨立的模塊,可以容易集成到現(xiàn)有的引導加載程序中,并根據(jù)需要進行擴展。
30、第二方面,本技術(shù)實施例提供一種啟動操作系統(tǒng)的裝置,該裝置包括:設備信息獲取模塊,用于在計算設備啟動階段,獲取計算設備中在位硬件設備的設備信息;操作系統(tǒng)確定模塊,用于基于預置映射關(guān)系,確定與設備信息對應的目標操作系統(tǒng);其中,預置映射關(guān)系指示了至少一個操作系統(tǒng)和設備信息之間的映射關(guān)系,至少一個操作系統(tǒng)包括目標操作系統(tǒng);操作系統(tǒng)啟動模塊,用于啟動目標操作系統(tǒng)。
31、第三方面,本技術(shù)實施例提供一種計算設備,包括:
32、至少一個存儲器,用于存儲程序;
33、至少一個處理器,用于執(zhí)行所述存儲器存儲的程序;
34、其中,當所述存儲器存儲的程序被執(zhí)行時,所述處理器用于執(zhí)行如第一方面或第一方面的任一種可能的實現(xiàn)方式所描述的方法。
35、第四方面,本技術(shù)實施例提供一種計算機可讀存儲介質(zhì),計算機可讀存儲介質(zhì)存儲有計算機程序,當計算機程序在處理器上運行時,使得處理器執(zhí)行第一方面或第一方面的任一種可能的實現(xiàn)方式所描述的方法。
36、第五方面,本技術(shù)實施例提供一種計算機程序產(chǎn)品,其特征在于,當計算機程序產(chǎn)品在處理器上運行時,使得處理器執(zhí)行第一方面或第一方面的任一種可能的實現(xiàn)方式所描述的方法。
37、可以理解的是,上述第二方面至第五面的有益效果可以參見上述第一方面中的相關(guān)描述,在此不再贅述。