本發(fā)明涉及信息技術(shù)領域,尤其涉及一種信息處理方法及存儲設備。
背景技術(shù):
有些操作系統(tǒng)(例如可擴展固件接口(Unified Extensible Firmware Interface,UEFI)操作系統(tǒng))在安裝完畢之后,會將UEFI的閃存flash中生成一個UEFI引導變量來記錄UEFI操作系統(tǒng)給的引導程序的存儲路徑。該UEFI引導變量同時還會記錄操作系統(tǒng)的名稱。
由于UEFI引導變量存儲在UEFI的flash中,若存儲有所述操作系統(tǒng)代碼及引導代碼的存儲介質(zhì)被移動到另一個電子設備(例如電子設備A)中時,電子設備A的UEFI的flash中并沒有存儲該UEFI引導變量,故無法找到UEFI操作系統(tǒng)的引導代碼進行UEFI操作系統(tǒng)的引導。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例期望提供一種信息處理方法及電子設備,至少部分解決上述問題。
為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
本發(fā)明實施例第一方面提供一種信息處理方法,包括:
安裝第一操作系統(tǒng);
獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;
根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;
在存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
基于上述方案,所述保護引導記錄包括引導入口字段;
所述引導入口字段包括存儲路徑字節(jié)、系統(tǒng)名稱字節(jié)以及存儲分區(qū)字節(jié);
所述在存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量,包括:
在所述存儲路徑字節(jié)中存儲所述存儲路徑;
在所述系統(tǒng)名稱字節(jié)中存儲所述系統(tǒng)名稱;
在所述存儲分區(qū)字節(jié)中存儲所述引導代碼所在分區(qū)的分區(qū)標識。
基于上述方案,所述引導入口字段包括存儲路徑字節(jié)長度字節(jié)及系統(tǒng)名稱長度字節(jié);
所述方法還包括:
在所述存儲路徑長度字節(jié)中存儲所述存儲變量存儲所需字節(jié)數(shù);
在所述系統(tǒng)名稱長度字節(jié)中存儲所述系統(tǒng)名稱存儲所需字節(jié)數(shù)。
基于上述方案,所述引導入口字段包括起始標識字節(jié)以及校驗字節(jié);
所述方法還包括:
在所述起始標識字節(jié)中存儲起始標識;
在所述校驗字節(jié)中存儲所述引導入口字段中存儲數(shù)據(jù)的校驗碼。
基于上述方案,所述方法還包括:
在啟動所述第一操作系統(tǒng)時,從所述第一存儲介質(zhì)中讀取第一引導變量;
讀取第二存儲介質(zhì)中的第二引導變量;
判斷所述第一引導變量和所述第二引導變量是否一致;
當所述第一引導變量和所述第二引導變量不一致時,依據(jù)所述第一引導變量讀取所述第一操作系統(tǒng)的引導代碼。
基于上述方案,所述當所述第一引導變量和所述第二引導變量不一致時,依據(jù)所述第一引導變量讀取所述第一操作系統(tǒng)的引導代碼,包括:
當所述第一引導變量和所述第二引導變量不一致時,將所述第一引導變量替換所述第二存儲介質(zhì)中的第二引導變量;
基于替換后的所述第二引導變量,讀取所述第一操作系統(tǒng)的引導代碼。
基于上述方案,所述方法還包括:
當所述第一引導變量和所述第二引導變量一致時,根據(jù)所述第二引導變量讀取所述引導代碼。
本發(fā)明實施例第二方面提供一種電子設備,包括處理器和與所述處理器連接的存儲器,所述存儲器至少包括與所述處理器可拆卸連接的第一存儲介質(zhì):
所述處理器,用于安裝第一操作系統(tǒng);獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;在存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
基于上述方案,所述保護引導記錄包括引導入口字段;
所述引導入口字段包括存儲路徑字節(jié)、系統(tǒng)名稱字節(jié)以及存儲分區(qū)字節(jié);
所述處理器,具體用于在所述第一存儲介質(zhì)的所述存儲路徑字節(jié)中存儲所述存儲路徑,所述系統(tǒng)名稱字節(jié)中存儲所述系統(tǒng)名稱以及所述存儲分區(qū)字節(jié)中存儲所述引導代碼所在分區(qū)的分區(qū)標識。
基于上述方案,所述引導入口字段包括存儲路徑字節(jié)長度字節(jié)及系統(tǒng)名稱長度字節(jié);
所述處理器,還用于在所述第一存儲介質(zhì)的所述存儲路徑長度字節(jié)中存儲所述存儲變量存儲所需字節(jié)數(shù),所述系統(tǒng)名稱長度字節(jié)中存儲所述系統(tǒng)名稱存儲所需字節(jié)數(shù)。
基于上述方案,所述引導入口字段包括起始標識字節(jié)以及校驗字節(jié);
所述處理器,還用于在所述第一存儲介質(zhì)的所述起始標識字節(jié)中存儲起始標識,所述校驗字節(jié)中存儲所述引導入口字段中存儲數(shù)據(jù)的校驗碼。
基于上述方案,所述存儲器還包括與所述第一存儲介質(zhì)不同的第二存儲介質(zhì);所述處理器與所述第二存儲介質(zhì)連接;
所述處理器,還用于在啟動所述第一操作系統(tǒng)時,從所述第一存儲介質(zhì)中讀取第一引導變量;讀取第二存儲介質(zhì)中的第二引導變量;判斷所述第一引導變量和所述第二引導變量是否一致;當所述第一引導變量和所述第二引導變量不一致時,依據(jù)所述第一引導變量讀取所述第一操作系統(tǒng)的引導代碼。
基于上述方案,所述處理器,具體用于當所述第一引導變量和所述第二引導變量不一致時,將所述第一引導變量替換所述第二存儲介質(zhì)中的第二引導變量;基于替換后的所述第二引導變量,讀取所述第一操作系統(tǒng)的引導代碼。
基于上述方案,所述處理器,還用于當所述第一引導變量和所述第二引導變量一致時,根據(jù)所述第二引導變量讀取所述引導代碼。
本發(fā)明實施例第三方面提供一種電子設備,包括:
安裝單元,用于安裝第一操作系統(tǒng);
獲取單元,用于獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;
生成單元,用于根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;
存儲單元,用于在存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
本發(fā)明實施例提供的信息處理方法及電子設備,會將引導變量和引導代碼存儲到同一個存儲介質(zhì)中,這樣該存儲介質(zhì)遷移時,引導變量和引導代碼同步遷移,這樣的話,不會因為引導變量和引導代碼沒有一同遷移,導致無法根據(jù)引導變量,讀取到引導代碼進而導致的無法引導第一操作系統(tǒng)的問題;同時引導變量中還包括第一操作系統(tǒng)的系統(tǒng)名稱,故同時確保了第一操作系統(tǒng)的系統(tǒng)名稱的正確性。此外,在本實施例中將所述引導變量寫入到第一存儲介質(zhì)的保護引導記錄的保留字節(jié)中,這里的保留字節(jié)為預留暫時定義給特定信息的存儲字節(jié)。這樣可以避免占用第一存儲介質(zhì)分配給其他信息的存儲字節(jié),減少信息的存儲沖突,具有與現(xiàn)有技術(shù)兼容性強的特點。
附圖說明
圖1為本發(fā)明實施例提供的第一種信息處理方法的流程示意圖;
圖2為本發(fā)明實施例提供的一種第一存儲介質(zhì)的布局示意圖;
圖3為本發(fā)明實施例提供的一種PMBR的存儲示意圖;
圖4為本發(fā)明實施例提供的第二種信息處理方法的流程示意圖;
圖5為本發(fā)明實施例提供的第一種電子設備的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例提供的第二種電子設備的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實施例提供的第三種電子設備的結(jié)構(gòu)示意圖;
圖8為本發(fā)明實施例提供的第三種信息處理方法的流程示意圖。
具體實施方式
以下結(jié)合說明書附圖及具體實施例對本發(fā)明的技術(shù)方案做進一步的詳細闡述。
實施例一:
如圖1所示,本實施例提供一種信息處理方法,包括:
步驟S110:安裝第一操作系統(tǒng);
步驟S120:獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;
步驟S130:根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;
步驟S140:在存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
本實施例所述的信息處理處理方法可以應用于各種電子設備中,例如、臺式電腦、筆記本電腦、平板電腦或服務器等各種電子設備。
所述引導代碼又可稱之為引導程序,為引導所述第一操作系統(tǒng)啟動的代碼。
所述步驟S110安裝第一操作系統(tǒng),所述操作系統(tǒng)可為各種類型的操作系統(tǒng),例如常見的Windows系統(tǒng)等;在本實施例中所述第一操作系統(tǒng)還可為UEFI系統(tǒng)等。在安裝所述第一操作系統(tǒng)之后,所述第一操作系統(tǒng)的操作代碼可存儲在所述第一存儲介質(zhì)中的第1個扇區(qū)的保護主引導記錄Protective Master Boot Record,PMBR)部的保留字節(jié)中。例如,例如,所述第一存儲介質(zhì)為磁碟分割表(GUID Partition Table,GPT)格式的存儲介質(zhì)。則可以將所述引導變量存儲在所述GPT格式的第一存儲介質(zhì)中的PMBR的保留字節(jié)。
如圖2所示為所述第一存儲介質(zhì)的GPT格式布局示意圖;所述第一存儲介質(zhì)包括主分區(qū)表格區(qū)、備份分區(qū)表格區(qū)以及各個分區(qū)。
在所述主分表格區(qū)存儲有PMBR以及分區(qū)表格(Partition Table Header,PTH)。所述背反分區(qū)表格區(qū)存儲有用于備份的分區(qū)表格。
在所述分區(qū)表格中包括分區(qū)表頭以及各個分區(qū)的分區(qū)入口字段。第n個分切入口字段至少可用于指示第n個分區(qū)的起始位置和終止位置。在圖3中,所述LBA為邏輯區(qū)塊地址,為Logical Bloock Address;LBA0表示第1個邏輯區(qū)塊地址0,LBA1表示邏輯區(qū)塊地址1,LBAm表示邏輯區(qū)塊m。一個所述邏輯區(qū)塊地址對應于一個邏輯區(qū)塊。
表1可為一種所述GPT格式的第一存儲介質(zhì)的PMBR的定義:
表1
在本實施例中將獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和系統(tǒng)名稱,可以由電子設備通過執(zhí)行預定程序代碼,自動根據(jù)引導程序的存儲位置,生成所述存儲路徑和系統(tǒng)名稱;電子設備自動生成,具有錯誤率低的特點。
在步驟S130中將會根據(jù)存儲路徑和系統(tǒng)名稱,生成引導變量。一般情況下常引導代碼是存儲硬盤中,而所述引導程序存儲在BIOS中,方便BIOS在執(zhí)行所述引導代碼,根據(jù)存儲在BIOS中的引導變量,到硬盤的對應存儲位置讀取所述引導程序,以完成操作系統(tǒng)啟動的引導過程。但是在本實施例中,會將所述引導變量和所述引導代碼存儲在同一個存儲介質(zhì),該存儲介質(zhì)在本實施例中稱為第一存儲介質(zhì)。這樣的話,當?shù)谝淮鎯橘|(zhì)從一個電子設備,遷移到另一個電子設備中時,電子設備可以依然可以根據(jù)該第一存儲介質(zhì)中的引導變量,獲取所述引導變量的存儲位置,并能夠根據(jù)所述引導變量準確獲取位于所述第一存儲介質(zhì)中的第一操作系統(tǒng)的系統(tǒng)名稱。顯然,將所述引導變量與引導代碼一同存儲在同一個存儲介質(zhì)中,簡便的解決了現(xiàn)有技術(shù)中存儲介質(zhì)遷移導致的引導變量丟失或錯誤的問題。
且在本實施例中為了避免對第一存儲介質(zhì)目前存儲的不利影響,在本實施例會將所述引導變量存儲在所述第1扇區(qū)的PMBR的保留字節(jié)中,這樣可以實現(xiàn)與現(xiàn)有技術(shù)很好的兼容,具有兼容性強的特點。
實施例二:
如圖1所示,本實施例提供一種信息處理方法,包括:
步驟S110:安裝第一操作系統(tǒng);
步驟S120:獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;
步驟S130:根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;
步驟S140:在存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
所述保護引導記錄包括引導入口字段;
所述引導入口字段包括存儲路徑字節(jié)、系統(tǒng)名稱字節(jié)以及存儲分區(qū)字節(jié);
所述步驟S140可包括:
在所述存儲路徑字節(jié)中存儲所述存儲路徑;
在所述系統(tǒng)名稱字節(jié)中存儲所述系統(tǒng)名稱;
在所述存儲分區(qū)字節(jié)中存儲所述引導代碼所在分區(qū)的分區(qū)標識。
在本實施例中為了方便電子設備讀取所述引導變量,在本例中設置了專門存儲所述引導入口字段,且在本實施例中為了精確簡便讀取所述引導變量,在本實施例中設置了存儲路徑字節(jié)存儲引導變量的存儲路徑,設置了系統(tǒng)名稱字節(jié)存儲第一操作系統(tǒng)的系統(tǒng)名稱。在第一存儲介質(zhì)中可能存儲有多個分區(qū),所述引導變量可能存儲任意一個分區(qū)中,在本實施例中為了方便所述電子設備讀取所述引導變量,還設置了存儲分區(qū)字節(jié),用于存儲所述引導代碼所在分區(qū)的分區(qū)標識。這樣方便,電子設備結(jié)合所述引導變量和所述分區(qū)標識,到對應的分區(qū)讀取所述引導代碼。本實施例提供引導變量的存儲簡便易行。
所述PMBR的保留字節(jié)有440個字節(jié),當所述第一存儲介質(zhì)有存儲多個操作系統(tǒng)的操作代碼和引導代碼時,顯然440個字節(jié)可以用于多個操作系統(tǒng)的引導代碼的引導變量存儲。如圖3所示,在440個字節(jié)中存儲有s個引導變量,可包括引導入口字段1、引導入口字段2……以及引導入口字段s等。
實施例三:
如圖1所示,本實施例提供一種信息處理方法,包括:
步驟S110:安裝第一操作系統(tǒng);
步驟S120:獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;
步驟S130:根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;
步驟S140:在存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
所述保護引導記錄包括引導入口字段;
所述引導入口字段包括存儲路徑字節(jié)、系統(tǒng)名稱字節(jié)以及存儲分區(qū)字節(jié);
所述步驟S140可包括:
在所述存儲路徑字節(jié)中存儲所述存儲路徑;
在所述系統(tǒng)名稱字節(jié)中存儲所述系統(tǒng)名稱;
在所述存儲分區(qū)字節(jié)中存儲所述引導代碼所在分區(qū)的分區(qū)標識。
所述引導入口字段包括存儲路徑字節(jié)長度字節(jié)及系統(tǒng)名稱長度字節(jié);
所述方法還包括:
在所述存儲路徑長度字節(jié)中存儲所述存儲變量存儲所需字節(jié)數(shù);
在所述系統(tǒng)名稱長度字節(jié)中存儲所述系統(tǒng)名稱存儲所需字節(jié)數(shù)。
方便能電子設備區(qū)分引導入口字段中存儲路徑的長度和系統(tǒng)名名稱的長度,以簡便信息的讀取和解析。在本實施例中所述引導入口字節(jié)中還引入了存儲路徑長度字節(jié)和系統(tǒng)名稱長度字節(jié),來指示對應信息的所需字節(jié)數(shù)。
實施例四:
如圖1所示,本實施例提供一種信息處理方法,包括:
步驟S110:安裝第一操作系統(tǒng);
步驟S120:獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;
步驟S130:根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;
步驟S140:在存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
所述保護引導記錄包括引導入口字段;
所述引導入口字段包括存儲路徑字節(jié)、系統(tǒng)名稱字節(jié)以及存儲分區(qū)字節(jié);
所述步驟S140可包括:
在所述存儲路徑字節(jié)中存儲所述存儲路徑;
在所述系統(tǒng)名稱字節(jié)中存儲所述系統(tǒng)名稱;
在所述存儲分區(qū)字節(jié)中存儲所述引導代碼所在分區(qū)的分區(qū)標識。
所述引導入口字段包括存儲路徑字節(jié)長度字節(jié)及系統(tǒng)名稱長度字節(jié);
所述方法還包括:
在所述存儲路徑長度字節(jié)中存儲所述存儲變量存儲所需字節(jié)數(shù);
在所述系統(tǒng)名稱長度字節(jié)中存儲所述系統(tǒng)名稱存儲所需字節(jié)數(shù)。
所述引導入口字段包括起始標識字節(jié)以及校驗字節(jié);
所述方法還包括:
在所述起始標識字節(jié)中存儲起始標識;
在所述校驗字節(jié)中存儲所述引導入口字段中存儲數(shù)據(jù)的校驗碼。
在本實施例中通過起始標識字節(jié)存儲起始標識,這樣方便電子設備通過起始標識的掃描或閱讀,簡便確認目前已進入了引導變量的讀取。
此外,為了確保信息的正確度,在本實施中還引入校驗字節(jié),在校驗字節(jié)中存儲校驗碼,該校驗碼可用于對引導入口字段中的其他信息進行校驗,若校驗正確,則認為當前引導入口字節(jié)中存儲的引導變量正確,否則可認為出現(xiàn)錯誤,以防止非法篡改的現(xiàn)象,提升引導變量的存儲可靠性。
表2為一種所述引導入口字段的定義:
表2
實施例五:
如圖1所示,本實施例提供一種信息處理方法,包括:
步驟S110:安裝第一操作系統(tǒng);
步驟S120:獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;
步驟S130:根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;
步驟S140:在存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
如圖4所示,所述方法還包括:
步驟S210:在啟動所述第一操作系統(tǒng)時,從所述第一存儲介質(zhì)中讀取第一引導變量;
步驟S220:讀取第二存儲介質(zhì)中的第二引導變量;
步驟S230:判斷所述第一引導變量和所述第二引導變量是否一致;
步驟S240:當所述第一引導變量和所述第二引導變量不一致時,依據(jù)所述第一引導變量讀取所述第一操作系統(tǒng)的引導代碼。
在本實施例中第一操作系統(tǒng)在啟動,通常基本輸入輸出系統(tǒng)(Basic Input Output System,BIOS)的第二存儲介質(zhì)中可能存儲有第二引導變量;在本實施例中將存儲所述第一存儲介質(zhì)中的引導變量為第一引導變量。但是可能存在著硬盤遷移的現(xiàn)象,故在本實施例中在讀取引導變量時,會從第一存儲介質(zhì)讀取第一引導變量,再與BIOS的第二存儲介質(zhì)中的第二引導變量進行比對。在本實施例中所述第二存儲介質(zhì)顯然與所述第一存儲介質(zhì)不是同一個存儲介質(zhì),且是沒有存儲所述引導變量和所述第一操作系統(tǒng)的操作代碼的是存儲介質(zhì)。
在本實施例中步驟S210具體可包括:從存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中的保護引導記錄的保留字節(jié)中,讀取所述第一引導變量。在步驟S230將比對第一引導變量和第二引導變量。當所述第一引導變量與所述第二引導變量不一致時,即第一引導變量和第二引導變量不同,則會以第一引導變量為準,直接根據(jù)第一引導變量讀取引導代碼;顯然這樣解決了硬盤遷移導致的引導代碼無法正確讀取,進而導致的無法正常引導操作系統(tǒng)的問題。
值得注意的是:本實施例是在前述任意一個實施例基礎上的進一步改進,所述第一引導變量在所述第一存儲介質(zhì)中的具體存儲位置及具體存儲方式,可以參見實施例二至實施四,在此就不重復了。
實施例六:
如圖1所示,本實施例提供一種信息處理方法,包括:
步驟S110:安裝第一操作系統(tǒng);
步驟S120:獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;
步驟S130:根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;
步驟S140:在存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
如圖4所示,所述方法還包括:
步驟S210:在啟動所述第一操作系統(tǒng)時,從所述第一存儲介質(zhì)中讀取第一引導變量;
步驟S220:讀取第二存儲介質(zhì)中的第二引導變量;
步驟S230:判斷所述第一引導變量和所述第二引導變量是否一致;
步驟S240:當所述第一引導變量和所述第二引導變量不一致時,依據(jù)所述第一引導變量讀取所述第一操作系統(tǒng)的引導代碼。
所述步驟S240可包括:
當所述第一引導變量和所述第二引導變量不一致時,將所述第一引導變量替換所述第二存儲介質(zhì)中的第二引導變量;
基于替換后的所述第二引導變量,讀取所述第一操作系統(tǒng)的引導代碼。
將所述第一引導變量替換第二存儲介質(zhì)中的第二引導變量,在本實施例中一方面為了方便BIOS當前對引導代碼的讀??;另一方面可以方便BIOS下次對引導變量的讀取。
實施例七:
如圖1所示,本實施例提供一種信息處理方法,包括:
步驟S110:安裝第一操作系統(tǒng);
步驟S120:獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;
步驟S130:根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;
步驟S140:在存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
如圖3所示,所述方法還包括:
步驟S210:在啟動所述第一操作系統(tǒng)時,從所述第一存儲介質(zhì)中讀取第一引導變量;
步驟S220:讀取第二存儲介質(zhì)中的第二引導變量;
步驟S230:判斷所述第一引導變量和所述第二引導變量是否一致;
步驟S240:當所述第一引導變量和所述第二引導變量不一致時,依據(jù)所述第一引導變量讀取所述第一操作系統(tǒng)的引導代碼。
在本實施例中所述第一引導變量和所述第二引導變量一致時,表明存儲在第二存儲介質(zhì)中的引導變量是正確的,故可以直接通過第二引導變量讀取所述引導代碼。
實施例八:
如圖5所示,本實施例提供一種電子設備,包括處理器110和與所述處理器110連接的存儲器120,所述存儲器120至少包括與所述處理器110可拆卸連接的第一存儲介質(zhì)121:
所述處理器110,用于安裝第一操作系統(tǒng);獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;在存儲所述引導代碼的第一存儲介質(zhì)121的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
本實施例所述的處理器110可對應于各種處理芯片或處理電路,具體可包括中央處理器CPU、微處理器MCU、數(shù)字信號處理器DSP、應用處理器AP、可編程陣列PLC或?qū)S眉呻娐稟SIC等。在本實施例中所述處理器110可以通過執(zhí)行預定代碼,完成上述第一操作系統(tǒng)的安裝、引導變量的生成等操作。
所述存儲器120可為各種存儲介質(zhì),優(yōu)選為非瞬間存儲介質(zhì)形成的存儲器,例如,由閃存flash形成的存儲器。例如,所述第一存儲介質(zhì)121可為由flash構(gòu)成的非瞬間存儲存儲器。
所述處理器110和第一存儲介質(zhì)121可拆卸連接,這樣的當?shù)谝淮鎯橘|(zhì)121拆卸之后,與其他處理器連接之后,由于在同一個存儲器內(nèi),既存儲有第一操作系統(tǒng)給的操作代碼、引導代碼以及所述引導變量,方便其他處理器直接根據(jù)存儲在該存儲器內(nèi)的引導變量,確定引導代碼的存儲位置,確定第一操作系統(tǒng)的系統(tǒng)名稱;解決了現(xiàn)有技術(shù)中,電子設備將引導代碼和引導變量存儲在不同的存儲器中,當?shù)谝淮鎯橘|(zhì)121出現(xiàn)遷移之后,導致電子設備無法找到引導代碼,無法引導第一操作系統(tǒng)的問題。
在圖5中還顯示有連接所述處理器110和所述存儲器120的總線130。這里的總線可為各種類型的總線,能夠進行信息交互,例如,可為PCI總線或IIS總線。這里的第一存儲介質(zhì)121可以通過PCI總線或IIS等總線上的可拆卸接口,與所述處理器110連接。
實施例九:
如圖5所示,本實施例提供一種電子設備,包括處理器110和與所述處理器110連接的存儲器120,所述存儲器120至少包括與所述處理器110可拆卸連接的第一存儲介質(zhì)121:
所述處理器110,用于安裝第一操作系統(tǒng);獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;在存儲所述引導代碼的第一存儲介質(zhì)121的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
所述保護引導記錄包括引導入口字段;
所述引導入口字段包括存儲路徑字節(jié)、系統(tǒng)名稱字節(jié)以及存儲分區(qū)字節(jié);
所述處理器110,具體用于在所述第一存儲介質(zhì)121的所述存儲路徑字節(jié)中存儲所述存儲路徑,所述系統(tǒng)名稱字節(jié)中存儲所述系統(tǒng)名稱以及所述存儲分區(qū)字節(jié)中存儲所述引導代碼所在分區(qū)的分區(qū)標識。
在本實施例中所述引導入口字段可為所述引導入口字段中新增的字段。在本實施例中為了方便后續(xù)電子設備信息讀取,會將所述引導入口字段至少分為存儲路徑字節(jié)、系統(tǒng)個名稱字節(jié)和存儲分區(qū)字節(jié),這樣電子設備直接根據(jù)讀取信息來自哪一個字節(jié),確定出當前讀取的信息內(nèi)容,以簡化信息的讀取。在本實施例中將引導入口字段中還包括分區(qū)標識,為所述引導代碼存儲的分區(qū)。在一些實施例中,所述引導變量還可包括所述分區(qū)標識,即所述分區(qū)標識作為所述引導變量的組成部分,也可以作為所述引導變量之外的部分。
實施例十:
如圖5所示,本實施例提供一種電子設備,包括處理器110和與所述處理器110連接的存儲器120,所述存儲器120至少包括與所述處理器110可拆卸連接的第一存儲介質(zhì)121:
所述處理器110,用于安裝第一操作系統(tǒng);獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;在存儲所述引導代碼的第一存儲介質(zhì)121的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
所述保護引導記錄包括引導入口字段;所述引導入口字段包括存儲路徑字節(jié)、系統(tǒng)名稱字節(jié)以及存儲分區(qū)字節(jié);所述處理器110,具體用于在所述第一存儲介質(zhì)121的所述存儲路徑字節(jié)中存儲所述存儲路徑,所述系統(tǒng)名稱字節(jié)中存儲所述系統(tǒng)名稱以及所述存儲分區(qū)字節(jié)中存儲所述引導代碼所在分區(qū)的分區(qū)標識。
所述引導入口字段包括存儲路徑字節(jié)長度字節(jié)及系統(tǒng)名稱長度字節(jié);所述處理器110,還用于在所述第一存儲介質(zhì)的所述存儲路徑長度字節(jié)中存儲所述存儲變量存儲所需字節(jié)數(shù),所述系統(tǒng)名稱長度字節(jié)中存儲所述系統(tǒng)名稱存儲所需字節(jié)數(shù)。
在本實施例中,所述處理器110,還用于在第一存儲介質(zhì)121存儲的存儲路徑長度字節(jié)和系統(tǒng)名稱字節(jié),寫入存儲路徑和系統(tǒng)名稱所需的字節(jié)數(shù),方便后續(xù)處理器根據(jù)存儲的所需字節(jié)數(shù),讀取存儲路徑和系統(tǒng)名稱;簡化后續(xù)處理區(qū)對所述存儲路徑以及所述系統(tǒng)名稱的讀取。
實施例十一:
如圖5所示,本實施例提供一種電子設備,包括處理器110和與所述處理器110連接的存儲器120,所述存儲器120至少包括與所述處理器110可拆卸連接的第一存儲介質(zhì)121:
所述處理器110,用于安裝第一操作系統(tǒng);獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;在存儲所述引導代碼的第一存儲介質(zhì)121的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
所述保護引導記錄包括引導入口字段;所述引導入口字段包括存儲路徑字節(jié)、系統(tǒng)名稱字節(jié)以及存儲分區(qū)字節(jié);所述處理器110,具體用于在所述第一存儲介質(zhì)121的所述存儲路徑字節(jié)中存儲所述存儲路徑,所述系統(tǒng)名稱字節(jié)中存儲所述系統(tǒng)名稱以及所述存儲分區(qū)字節(jié)中存儲所述引導代碼所在分區(qū)的分區(qū)標識。
在本實施例總,所述引導入口字段包括起始標識字節(jié)以及校驗字節(jié);所述處理器110,還用于在所述第一存儲介質(zhì)的所述起始標識字節(jié)中存儲起始標識,所述校驗字節(jié)中存儲所述引導入口字段中存儲數(shù)據(jù)的校驗碼。通過起始字節(jié)的引入和校驗字節(jié)中校驗碼的存儲,一方方便了電子設備對引導變量的讀取,另一方面還可以利用校驗碼進行信息驗證,確保了引導變量存儲的準確性。
實施例十二:
如圖5所示,本實施例提供一種電子設備,包括處理器110和與所述處理器110連接的存儲器120,所述存儲器120至少包括與所述處理器110可拆卸連接的第一存儲介質(zhì)121:
所述處理器110,用于安裝第一操作系統(tǒng);獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;在存儲所述引導代碼的第一存儲介質(zhì)121的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
如圖6所示,所述存儲器120還包括與所述第一存儲介質(zhì)121不同的第二存儲介質(zhì)122;所述處理器110與所述第二存儲介質(zhì)122連接;
所述處理器110,還用于在啟動所述第一操作系統(tǒng)時,從所述第一存儲介質(zhì)121中讀取第一引導變量;讀取所述第二存儲介質(zhì)122中的第二引導變量;判斷所述第一引導變量和所述第二引導變量是否一致;當所述第一引導變量和所述第二引導變量不一致時,依據(jù)所述第一引導變量讀取所述第一操作系統(tǒng)的引導代碼。
所述處理器110,可具體用于從所述第一存儲介質(zhì)121的第1扇區(qū)的保護引導記錄的保留字節(jié)中讀取所述第一引導變量。
所述第二存儲介質(zhì)122可包括與電子設備中BIOS集成設置的存儲介質(zhì)。所述處理器110與所述第二存儲介質(zhì)122之間建立有連接,該連接可是可拆卸連接,也可以是非可拆卸連接。
所述處理器110可通過預定代碼的執(zhí)行,分別從第一存儲介質(zhì)121和第二存儲介質(zhì)122讀取第一引導變量和第二引導變量,并比較第一引導變量和第二引導變量,確定出第一引導變量和第二引導變量不同時,以第一引導變量為準讀取所述引導代碼,可以減少引導代碼讀取不到或無法引導第一操作系統(tǒng)的現(xiàn)象。
實施例十三:
如圖5所示,本實施例提供一種電子設備,包括處理器110和與所述處理器110連接的存儲器120,所述存儲器120至少包括與所述處理器110可拆卸連接的第一存儲介質(zhì)121:
所述處理器110,用于安裝第一操作系統(tǒng);獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;在存儲所述引導代碼的第一存儲介質(zhì)121的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
如圖6所示,所述存儲器120還包括與所述第一存儲介質(zhì)121不同的第二存儲介質(zhì)122;所述處理器110與所述第二存儲介質(zhì)122連接;
所述處理器110,還用于在啟動所述第一操作系統(tǒng)時,從所述第一存儲介質(zhì)121中讀取第一引導變量;讀取所述第二存儲介質(zhì)122中的第二引導變量;判斷所述第一引導變量和所述第二引導變量是否一致;當所述第一引導變量和所述第二引導變量不一致時,依據(jù)所述第一引導變量讀取所述第一操作系統(tǒng)的引導代碼。
所述處理器110,可具體用于從所述第一存儲介質(zhì)121的第1扇區(qū)的保護引導記錄的保留字節(jié)中讀取所述第一引導變量。
所述處理器110,具體用于當所述第一引導變量和所述第二引導變量不一致時,將所述第一引導變量替換所述第二存儲介質(zhì)中的第二引導變量;基于替換后的所述第二引導變量,讀取所述第一操作系統(tǒng)的引導代碼。
在本實施例中若出現(xiàn)第一引導變量和第二引導變量不一致,在本實施例中所述處理器110會將第二存儲介質(zhì)中的第二引導變量替換為所述第一引導變量,這樣方便下一次快速讀取所述引導變量。
實施例十四:
如圖5所示,本實施例提供一種電子設備,包括處理器110和與所述處理器110連接的存儲器120,所述存儲器120至少包括與所述處理器110可拆卸連接的第一存儲介質(zhì)121:
所述處理器110,用于安裝第一操作系統(tǒng);獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;在存儲所述引導代碼的第一存儲介質(zhì)121的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
如圖6所示,所述存儲器120還包括與所述第一存儲介質(zhì)121不同的第二存儲介質(zhì)122;所述處理器110與所述第二存儲介質(zhì)122連接;
所述處理器110,還用于在啟動所述第一操作系統(tǒng)時,從所述第一存儲介質(zhì)121中讀取第一引導變量;讀取所述第二存儲介質(zhì)122中的第二引導變量;判斷所述第一引導變量和所述第二引導變量是否一致;當所述第一引導變量和所述第二引導變量不一致時,依據(jù)所述第一引導變量讀取所述第一操作系統(tǒng)的引導代碼。
所述處理器110,還用于當所述第一引導變量和所述第二引導變量一致時,根據(jù)所述第二引導變量讀取所述引導代碼。
在本實施例中所述處理器110確定出第一引導變量和第二引導變量一致時,直接根據(jù)第二引導變量讀取引導代碼,顯示是可行的,且是讀取效率高的。
實施例十五:
如圖7所示,本發(fā)明實施例還提供一種電子設備,包括:
安裝單元210,用于安裝第一操作系統(tǒng);
獲取單元220,用于獲取所述第一操作系統(tǒng)的引導代碼的存儲路徑和所述第一操作系統(tǒng)的系統(tǒng)名稱;
生成單元230,用于根據(jù)所述存儲路徑和所述系統(tǒng)名稱,生成引導變量;
存儲單元240,用于在存儲所述引導代碼的第一存儲介質(zhì)的第1扇區(qū)中,存儲保護引導記錄的保留字節(jié)中存儲所述引導變量。
在本實施例中所述電子設備可為對應于前述任意一個方法實施例的裝置。所述安裝單元210、獲取單元220及生成單元230都可對應于處理器或處理電路,所述處理器或處理電路可以參見前述實施例中相關描述,再次就不重復了。在本實施例中所述存儲單元240可對應于各種存儲芯片,可以在第一存儲介質(zhì)中同時存儲引導變量和引導代碼,避免存儲介質(zhì)遷移導致的引導代碼無法讀取以及無法引導第一操作系統(tǒng)的問題。
在一些實施例中,所述保護引導記錄包括引導入口字段;所述引導入口字段包括存儲路徑字節(jié)、系統(tǒng)名稱字節(jié)以及存儲分區(qū)字節(jié)。
所述存儲單元240,具體用于在所述存儲路徑字節(jié)中存儲所述存儲路徑;在所述系統(tǒng)名稱字節(jié)中存儲所述系統(tǒng)名稱;在所述存儲分區(qū)字節(jié)中存儲所述引導代碼所在分區(qū)的分區(qū)標識。
進一步地,所述引導入口字段包括存儲路徑字節(jié)長度字節(jié)及系統(tǒng)名稱長度字節(jié);所述存儲單元240,還用于在所述存儲路徑長度字節(jié)中存儲所述存儲變量存儲所需字節(jié)數(shù);在所述系統(tǒng)名稱長度字節(jié)中存儲所述系統(tǒng)名稱存儲所需字節(jié)數(shù)。
在進一步地,所述引導入口字段包括起始標識字節(jié)以及校驗字節(jié);所述存儲單元240,還用于在所述起始標識字節(jié)中存儲起始標識;在所述校驗字節(jié)中存儲所述引導入口字段中存儲數(shù)據(jù)的校驗碼。
在一些實施例中,所述電子設備還包括處理單元;
該處理單元可對應于前述處理器或處理電路。所述處理單元,具體用于在啟動所述第一操作系統(tǒng)時,從所述第一存儲介質(zhì)中讀取第一引導變量;讀取所述第一操作系統(tǒng)的第二存儲介質(zhì)中的第二引導變量;判斷所述第一引導變量和所述第二引導變量是否一致;當所述第一引導變量和所述第二引導變量不一致時,依據(jù)所述第一引導變量讀取所述第一操作系統(tǒng)的引導代碼。例如,所述處理單元,具體用于所述當所述第一引導變量和所述第二引導變量不一致時,將所述第一引導變量替換所述第二存儲介質(zhì)中的第二引導變量;基于替換后的所述第二引導變量,讀取所述第一操作系統(tǒng)的引導代碼。
在另一外一些實施例中,所述處理單元,還可用于當所述第一引導變量和所述第二引導變量一致時,根據(jù)所述第二引導變量讀取所述引導代碼。
以下結(jié)合上述實施例,提供一個具體示例:
如圖8所示,本示例提供一種信息處理方法包括兩個階段:
第一階段:存儲器所在原系統(tǒng)
步驟S1:操作系統(tǒng)OS安裝程序啟動;
步驟S2:創(chuàng)建硬盤GPT分區(qū)表;
步驟S3:安裝UEFI操作系統(tǒng);
步驟S4:將引導變量寫入存儲介質(zhì)的特殊扇區(qū)。這里的特殊扇區(qū)可為記錄有所述PMBR的扇區(qū)。記錄所述PMBR的扇區(qū)通常為該存儲介質(zhì)的第1個扇區(qū)。
第二階段:存儲介質(zhì)移動后的系統(tǒng);
步驟S6:操作系統(tǒng)加電啟動;
步驟S7:檢測特殊扇區(qū)的引導入口字段;
步驟S8:判斷檢測到從BIOS讀取的引導變量與所述引導入口字段中的引導變量是否一致?若是進入步驟S10,若否進入步驟S9。
步驟S9:重建UEFI OS引導變量。這里的創(chuàng)建,將特殊扇區(qū)的引導入口字段中的引導變量寫入到BIOS的存儲存儲介質(zhì)中。
步驟S10:利用引導程序引導UEFI操作系統(tǒng)。這里的引導程序即為前述的引導代碼。
在本申請所提供的幾個實施例中,應該理解到,所揭露的設備和方法,可以通過其它的方式實現(xiàn)。以上所描述的設備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,如:多個單元或組件可以結(jié)合,或可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過一些接口,設備或單元的間接耦合或通信連接,可以是電性的、機械的或其它形式的。
上述作為分離部件說明的單元可以是、或也可以不是物理上分開的,作為單元顯示的部件可以是、或也可以不是物理單元,即可以位于一個地方,也可以分布到多個網(wǎng)絡單元上;可以根據(jù)實際的需要選擇其中的部分或全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各實施例中的各功能單元可以全部集成在一個處理模塊中,也可以是各單元分別單獨作為一個單元,也可以兩個或兩個以上單元集成在一個單元中;上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
本領域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:移動存儲設備、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以所述權(quán)利要求的保護范圍為準。