本發(fā)明涉及計(jì)算機(jī),具體地說,涉及一種基于linux的安全管理啟動流程方法、系統(tǒng)、設(shè)備及介質(zhì)。
背景技術(shù):
1、linux系統(tǒng)的常規(guī)啟動流程如下:
2、bios啟動:當(dāng)計(jì)算機(jī)開機(jī)時,首先會執(zhí)行bios(basicinput/outputsystem)程序,bios負(fù)責(zé)對系統(tǒng)硬件進(jìn)行初始化和檢測,并從指定的啟動設(shè)備(如硬盤、光驅(qū)等)讀取bootloader程序。
3、bootloader啟動:bootloader是一個位于引導(dǎo)設(shè)備上的小型程序,它負(fù)責(zé)加載并啟動操作系統(tǒng)內(nèi)核。常見的bootloader有g(shù)rub(grandunifiedbootloader)、lilo(linuxloader)等。
4、內(nèi)核啟動:bootloader將控制權(quán)交給操作系統(tǒng)內(nèi)核。內(nèi)核負(fù)責(zé)初始化各種硬件設(shè)備驅(qū)動程序、裝載必要的系統(tǒng)模塊,并掛載根文件系統(tǒng)。
5、init進(jìn)程啟動:內(nèi)核啟動完成后,會啟動init進(jìn)程,這是整個系統(tǒng)的第一個進(jìn)程。init進(jìn)程負(fù)責(zé)讀取配置文件(如/etc/inittab或systemd的配置文件),并按照配置啟動各種系統(tǒng)服務(wù)。
6、運(yùn)行級別切換:init進(jìn)程根據(jù)配置文件,進(jìn)入不同的運(yùn)行級別(runlevel)。不同的運(yùn)行級別代表不同的系統(tǒng)狀態(tài),如多用戶模式、單用戶模式等。
7、圖形界面啟動:如果系統(tǒng)配置為圖形界面啟動,init進(jìn)程會啟動圖形顯示管理器(如gdm、kdm、lightdm等),圖形界面管理器再啟動圖形化的桌面環(huán)境(如gnome、kde等)。
8、用戶登錄:最終用戶可以在圖形界面或命令行界面下登錄系統(tǒng),并開始使用。
9、整個啟動過程中,各個組件之間通過標(biāo)準(zhǔn)的啟動流程和接口進(jìn)行協(xié)作,確保系統(tǒng)能夠順利啟動并運(yùn)行。近年來,一些linux發(fā)行版開始使用systemd作為系統(tǒng)初始化工具,替代了傳統(tǒng)的init進(jìn)程,啟動流程也有所變化,但基本原理是相同的。
10、當(dāng)前l(fā)inux啟動方式的一個顯著缺點(diǎn)在于其對于文件系統(tǒng)或內(nèi)核的升級以及版本管理的局限性。由于傳統(tǒng)的啟動方式依賴于硬編碼在bootloader如grub配置文件中的路徑和參數(shù)來定位硬盤上的內(nèi)存文件系統(tǒng)、內(nèi)核和文件系統(tǒng),這種方式在面臨系統(tǒng)組件升級或版本管理時顯得不夠靈活和高效。具體來說,當(dāng)需要更新內(nèi)核或文件系統(tǒng)時,用戶通常需要手動編輯grub配置文件,這既繁瑣又容易出錯,且難以支持多版本管理。
11、此外,傳統(tǒng)啟動方式還缺乏一種在系統(tǒng)關(guān)鍵組件被誤刪除或損壞時能夠自動恢復(fù)或修復(fù)的機(jī)制。如果用戶不小心刪除了系統(tǒng)的關(guān)鍵文件,系統(tǒng)可能無法啟動,而傳統(tǒng)的啟動方式并沒有提供便捷的恢復(fù)手段。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明針對現(xiàn)有的啟動方式不具備恢復(fù)機(jī)制,且系統(tǒng)升級方式復(fù)雜的問題,提出一種基于linux的安全管理啟動流程方法、系統(tǒng)、設(shè)備及介質(zhì);該方法通過將linux的文件系統(tǒng)和內(nèi)核分別壓縮為文件,并在啟動時通過用戶選擇系統(tǒng)版本后解壓到內(nèi)存中啟動,不僅解決了傳統(tǒng)啟動方式在版本管理和升級上的局限,還提供了在系統(tǒng)關(guān)鍵組件損壞時自動修復(fù)的可能性;通過這種方式,可以更方便地管理系統(tǒng)版本,并在遇到問題時快速恢復(fù)系統(tǒng)可用性。
2、本發(fā)明具體實(shí)現(xiàn)內(nèi)容如下:
3、一種基于linux的安全管理啟動流程方法,首先修改linux的內(nèi)存文件系統(tǒng)的啟動機(jī)制,確定內(nèi)存文件系統(tǒng)啟動版本,其次壓縮linux的內(nèi)存文件系統(tǒng)、內(nèi)核和文件系統(tǒng)并打包,然后將壓縮的文件系統(tǒng)、內(nèi)核和文件系統(tǒng)解壓至內(nèi)存,并從內(nèi)存中讀取數(shù)據(jù),最后將讀取的數(shù)據(jù)切換至硬盤的用戶文件系統(tǒng),完成文件系統(tǒng)啟動并切換至用戶空間。
4、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述基于linux的安全管理啟動流程方法具體包括以下步驟:
5、步驟s1:調(diào)用hook程序讀取grub環(huán)境變量,修改linux的內(nèi)存文件系統(tǒng)的啟動機(jī)制,確定內(nèi)存文件系統(tǒng)啟動版本;
6、步驟s2:調(diào)用xz算法將linux的內(nèi)存文件系統(tǒng)、內(nèi)核和文件系統(tǒng)壓縮為壓縮文件,并打包至硬盤;
7、步驟s3:根據(jù)確定的啟動版本,將壓縮的文件系統(tǒng)、內(nèi)核和文件系統(tǒng)解壓至內(nèi)存的啟動分區(qū);
8、步驟s4:將內(nèi)存的文件系統(tǒng)切換至硬盤的用戶文件系統(tǒng),完成文件系統(tǒng)啟動并切換至用戶空間。
9、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述步驟s1具體包括以下步驟:
10、步驟s11:調(diào)用hook程序讀取grub環(huán)境變量grubenv的label標(biāo)簽;
11、步驟s12:根據(jù)label標(biāo)簽確定對應(yīng)的內(nèi)存文件系統(tǒng)、內(nèi)核、文件系統(tǒng)啟動版本。
12、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述步驟s2具體包括以下步驟:
13、步驟s21:調(diào)用xz算法將linux的內(nèi)存文件系統(tǒng)、內(nèi)核和文件系統(tǒng)壓縮為壓縮文件;
14、步驟s22:調(diào)用mksquashfs命令將壓縮文件打包為squashfs格式的鏡像文件;
15、步驟s23:將鏡像文件放置至硬盤的指定位置。
16、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述步驟s3具體包括以下步驟:
17、步驟s31:觸發(fā)內(nèi)存文件系統(tǒng)的初始化邏輯,根據(jù)初始化邏輯讀取grub環(huán)境變量中的label標(biāo)簽;
18、步驟s32:根據(jù)label標(biāo)簽確定文件系統(tǒng)版本并解壓;
19、步驟s33:根據(jù)確定的啟動版本,將壓縮的文件系統(tǒng)、內(nèi)核和文件系統(tǒng)解壓至內(nèi)存的啟動分區(qū),并將解壓后的文件系統(tǒng)以只讀模式掛載至內(nèi)存中。
20、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述步驟s4具體包括以下步驟:
21、步驟s41:將從內(nèi)存獲取的解壓后的文件系統(tǒng)拷貝至硬盤的指定位置;
22、步驟s42:將從內(nèi)存獲取的文件系統(tǒng)切換至硬盤恢復(fù)的用戶文件系統(tǒng),完成文件系統(tǒng)啟動并切換至用戶空間。
23、基于上述提出的基于linux的安全管理啟動流程方法,為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,提出一種基于linux的安全管理啟動流程系統(tǒng),用于執(zhí)行上的基于linux的安全管理啟動流程方法;包括初始化單元、壓縮打包單元、解壓單元、切換啟動單元;
24、所述初始化單元,用于修改linux的內(nèi)存文件系統(tǒng)的啟動機(jī)制,確定內(nèi)存文件系統(tǒng)啟動版本;
25、所述壓縮打包單元,用于壓縮linux的內(nèi)存文件系統(tǒng)、內(nèi)核和文件系統(tǒng)并打包;
26、所述解壓單元,用于將壓縮的文件系統(tǒng)、內(nèi)核和文件系統(tǒng)解壓至內(nèi)存,并從內(nèi)存中讀取數(shù)據(jù);
27、所述切換啟動單元,用于將讀取的數(shù)據(jù)切換至硬盤的用戶文件系統(tǒng),完成文件系統(tǒng)啟動并切換至用戶空間。
28、基于上述提出的基于linux的安全管理啟動流程方法,為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,提出一種電子設(shè)備,包括存儲器和處理器,所述存儲器上存儲有計(jì)算機(jī)程序;當(dāng)所述計(jì)算機(jī)程序在所述處理器上執(zhí)行時,實(shí)現(xiàn)上述的基于linux的安全管理啟動流程方法。
29、基于上述提出的基于linux的安全管理啟動流程方法,為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,提出一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)上存儲有計(jì)算機(jī)指令;當(dāng)所述計(jì)算機(jī)指令在上述的電子設(shè)備上執(zhí)行時,實(shí)現(xiàn)上述的基于linux的安全管理啟動流程方法。
30、本發(fā)明具有以下有益效果:
31、本發(fā)明修改了內(nèi)存文件系統(tǒng)的啟動機(jī)制,增強(qiáng)了啟動流程的靈活性和可配置性,解決了傳統(tǒng)啟動方式在版本管理和升級上的局限,提供了在系統(tǒng)關(guān)鍵組件損壞時自動修復(fù)的可能性,實(shí)現(xiàn)了更方便地管理系統(tǒng)版本,并在遇到問題時快速恢復(fù)系統(tǒng)可用性。