CentOS7中使用efibootmgr管理UEFI啟動項
本文介紹如何在
7.9中使用
efibootmgr
工具來管理EFI啟動項。
CentOS7 預設以UEFI模式安裝,會自帶
>efibootmgr
工具,如沒有帶可以使用下面
安裝:
[root@localhost ~]# yum -y install efibootmgr
在使用UEFI韌體的系統上,UEFI啟動項儲存在NVRAM中。 要使用
efibootmgr
列出現有的啟動項,如果需要列出條目就是不帶任何選項或引數地呼叫efibootmgr。 下面就是輸出條目的
:
[root@localhost ~]# efibootmgr BootCurrent: 0007 Timeout: 1 seconds BootOrder: 000A,0009,0004,0007,0008,0006,0000,0001,0002,0003,0005 Boot0000* debian Boot0001* CD/DVD Rom Boot0002* Hard Disk Boot0003* Network Boot0004* CentOS Boot0005* USB Storage Boot0006* oVirt Node Next Boot0007* CentOS Linux Boot0008* proxmox Boot0009* Linux Boot000A* Linux MirrorStatus: Platform does not support address range mirror DesiredMirroredPercentageAbove4G: 0.00 DesiredMirrorMemoryBelow4GB: false
其中有一些是之前安裝系統儲存下來的啟動項,可以刪除。
在上面的輸出中,我們可以注意到與引導變數對應的一系列資訊。 首先,我們可以看到
BootCurrent
:這個鍵的值為
0007
,表示當前啟動的專案為0007號
CentOS Linux
。
在輸出中發現的第二個條目是
Timeout
:表示在啟動選單中自動選擇條目之後的時間,在本例中是1秒。 接下來是
BootOrder
:這個鍵的值是由逗號分隔的條目編號,並顯示相關條目在EFI引導選單中顯示的順序。
efibootmgr命令還顯示了可用引導條目的列表。 每個條目顯示其編號和名稱。 在列表中,啟用的條目它們被標記為'
*
符號。
可以新增 -v 或者 --verbose 選項來獲取條目的詳細資訊:
[root@localhost ~]# efibootmgr -v BootCurrent: 0005 Timeout: 5 seconds BootOrder: 0006,0005,0004,0000,0001,0002,0003 Boot0000* UiApp FvVol(7cb8bdc9-f8eb-4f34-aaea-3ee4af6516a1) Boot0001* UEFI VBOX CD-ROM VB2-01700376 ACPI(a0341d0,0)PCI(1,1)ATAPI(1,0,0)N.....YM....R,Y. Boot0002* UEFI VBOX HARDDISK VB6d6781ff-6793398b ACPI(a0341d0,0)PCI(d,0)SATA(0,ffff,0)N.....YM....R,Y. Boot0003* EFI Internal Shell FvVol(7cb8bdc9-f8eb-4f34-aaea-3ee4af6516a1) Boot0004* CentOS Linux HD(1,800,64000,2c1c6263-e2bc-4f35-b341-a9174a199f60)File(\EFI\centos\shim.efi) Boot0005* Centos7.9-EFI HD(1,800,64000,2c1c6263-e2bc-4f35-b341-a9174a199f60)File(\EFI\centos\grubx64.efi) Boot0006* centos7.9 HD(1,800,64000,2c1c6263-e2bc-4f35-b341-a9174a199f60)File(\EFI\centos\grubx64.efi)
我們可以使用efibootmgr來更改當前的引導順序。 使用
-o 或者 --bootorder
選項,後新增想要排列的順序。當前本機的引導順序如下:
BootOrder: 000A,0009,0004,0007,0008,0006,0000,0001,0002,0003,0005
可以看到上圖彙總,首先啟動
000A Linux
,最後一個條目是
0005 USB Storage
裝置。 假設我們想要交換這些條目,讓
0003 Network
成為第一個條目。 我們所要做的就是執行以下命令:
[root@localhost ~]# efibootmgr -o 0003,000A,0009,0004,0007,0008,0006,0000,0001,0002,0005 BootCurrent: 0007 Timeout: 1 seconds BootOrder: 0003,000A,0009,0004,0007,0008,0006,0000,0001,0002,0005 Boot0000* debian Boot0001* CD/DVD Rom Boot0002* Hard Disk Boot0003* Network Boot0004* CentOS Boot0005* USB Storage Boot0006* oVirt Node Next Boot0007* CentOS Linux Boot0008* proxmox Boot0009* Linux Boot000A* Linux MirrorStatus: Platform does not support address range mirror DesiredMirroredPercentageAbove4G: 0.00 DesiredMirrorMemoryBelow4GB: false
可以使用 efibootmgr 在 UEFI 引導管理器中建立新條目。 要建立引導項,我們必須知道EFI系統分割槽的位置和要引導的EFI映像的路徑。
建立新條目時必須使用的選項是
-c 或者 --create
。 假設EFI分割槽在
/dev/sda
磁碟的第一個分割槽,efi映象的引導路徑是
EFI/centos/grubx64.efi
,名稱為centos7.9,我們將執行以下命令:
[root@localhost ~]# efibootmgr -c -d /dev/sda -p 1 -L centos7.9 -l '\EFI\centos\grubx64.efi' BootCurrent: 0005 Timeout: 0 seconds BootOrder: 0006,0005,0004,0000,0001,0002,0003 Boot0000* UiApp Boot0001* UEFI VBOX CD-ROM VB2-01700376 Boot0002* UEFI VBOX HARDDISK VB6d6781ff-6793398b Boot0003* EFI Internal Shell Boot0004* CentOS Linux Boot0005* Centos7.9-EFI Boot0006* centos7.9
使用 -c 選項建立一個新條目。 -d (--disk) 來指定EFI系統分割槽所在的磁碟,使用 -p (--part)來指定該磁碟上的哪個分割槽是EFI分割槽(按照標準,EFI分割槽應該總是第一個,分去格式為FAT32)。
使用 -L (--label) 來提供選單中條目的名稱,最後使用 -l (--loader) 來傳遞要引導映象的路徑。 需要注意的是,路徑應該以單引號形式提供。 建立的引導條目將自動放在引導順序列表的頂部。
我們可以使用 efibootmgr 刪除現有的引導項。 我們可以刪除一個不存在的系統引導條目。 我們使用 -b 或者 --bootnum 傳遞索引作為引數來選擇我們想要刪除的引導條目,然後使用 -B 或者 --delete-bootnum 來刪除它。
例如,要刪除索引為0008 , 我們將執行以下命令:
[root@localhost ~]# efibootmgr -b 8 -B Timeout: 1 seconds BootOrder: 0007,0003,000A,0009,0004,0006,0000,0001,0002,0005 Boot0000* debian Boot0001* CD/DVD Rom Boot0002* Hard Disk Boot0003* Network Boot0004* CentOS Boot0005* USB Storage Boot0006* oVirt Node Next Boot0007* CentOS Linux Boot0009* Linux Boot000A* Linux MirrorStatus: Platform does not support address range mirror DesiredMirroredPercentageAbove4G: 0.00 DesiredMirrorMemoryBelow4GB: false
Tips:在傳遞引導條目序號時,我們可以不填充前面的0。
如果不想顯示某一個啟動項可以使用 -A 或者 --inactive 來取消啟用該條目:
[root@localhost ~]# efibootmgr -b 000A -A Timeout: 1 seconds BootOrder: 0007,0003,000A,0009,0004,0006,0001,0002,0005 Boot0001* CD/DVD Rom Boot0002* Hard Disk Boot0003* Network Boot0004* CentOS Boot0005* USB Storage Boot0006* oVirt Node Next Boot0007* CentOS Linux Boot0009* Linux Boot000A Linux MirrorStatus: Platform does not support address range mirror DesiredMirroredPercentageAbove4G: 0.00 DesiredMirrorMemoryBelow4GB: false
可以看到 Boot000A Linux這一條前面的
*
消失了,這就代表不顯示該條目了。
如果想顯示某一個啟動項可以使用 -a 或者 --active 來啟用該條目:
[root@localhost ~]# efibootmgr -b 000A -a Timeout: 1 seconds BootOrder: 0007,0003,000A,0009,0004,0006,0001,0002,0005 Boot0001* CD/DVD Rom Boot0002* Hard Disk Boot0003* Network Boot0004* CentOS Boot0005* USB Storage Boot0006* oVirt Node Next Boot0007* CentOS Linux Boot0009* Linux Boot000A* Linux MirrorStatus: Platform does not support address range mirror DesiredMirroredPercentageAbove4G: 0.00 DesiredMirrorMemoryBelow4GB: false
可以看到 Boot000A Linux這一條前面的
*
又回來 了。
我們可以設定超時間隔,使用 -t 或者 -timeout 選項來設定,在此之後自動選擇EFI引導管理器中的預設條目。 可以看到下圖,當前超時為0秒,我們可以設定時間長一點:
[root@localhost ~]# efibootmgr -t 5 BootCurrent: 0005 Timeout: 5 seconds BootOrder: 0006,0005,0004,0000,0001,0002,0003 Boot0000* UiApp Boot0001* UEFI VBOX CD-ROM VB2-01700376 Boot0002* UEFI VBOX HARDDISK VB6d6781ff-6793398b Boot0003* EFI Internal Shell Boot0004* CentOS Linux Boot0005* Centos7.9-EFI
支援UEFI韌體的機器將引導項儲存在稱為NVRAM的非易失性RAM中。 當我們安裝Linu作業系統時,EFI引導管理器選單中會自動新增一個對應的條目。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2894969/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- UEFI雙啟動Windows和LinuxWindowsLinux
- 華碩uefi bios中怎麼設定隨身碟啟動?華碩uefi bios設定u盤啟動方法步驟iOS
- uefi啟動U盤如何安裝系統_uefi啟動u盤安裝系統的方法
- uefi啟動隨身碟如何安裝系統_uefi啟動u盤安裝系統的方法
- win10怎麼改為uefi啟動_win10系統設定uefi啟動模式的方法Win10模式
- 怎樣把u盤製作成uefi啟動盤_最新uefi啟動u盤製作步驟詳解
- CentOS7中使用systemctl列出啟動失敗的服務CentOS
- 如何管理 macOS 的開機啟動項Mac
- UEFI和Legacy相容啟動U盤製作
- Gdisk64.exe 命令與引數:UEFI 例項使用指南 ;Gdisk64 在 UEFI 環境中的應用回顧
- 將Debian從Legacy切換為UEFI啟動模式模式
- 修復UEFI模式下Manjaro Linux啟動問題模式JARLinux
- win10工作管理員中啟動空白怎麼辦_win10工作管理員啟動項空白解決方法Win10
- UEFI雙系統設定ubuntu或windows優先啟動,u盤啟動UbuntuWindows
- win10開機啟動項如何管理_win10開機啟動項怎麼設定Win10
- 製作基於debian的linux live啟動u盤(UEFI)Linux
- windows 之醬紫判斷是UEFI還是legacy啟動Windows
- Centos7啟動Nginx報錯。CentOSNginx
- Centos7 啟動 python指令碼CentOSPython指令碼
- CentOS7 nginx啟動指令碼CentOSNginx指令碼
- Centos7使用SSM管理LVM卷CentOSSSMLVM
- 3.1.5 啟動例項
- 開機啟動項
- 如何製作uefi win10安裝盤啟動U盤Win10
- Centos7 資料庫啟動使用者的建立方法CentOS資料庫
- 華碩主機板在uefi bios中設定隨身碟啟動的方法步驟iOS
- centos7 設定tomcat自啟動CentOSTomcat
- win10開機啟動項管理在哪裡設定 win10如何管理開機自啟動軟體Win10
- win10安裝centos7系統以及雙系統啟動項的恢復Win10CentOS
- FreeBSD使用deamon將frpc新增到開始啟動項FRPRPC
- 如何製作uefi win10安裝盤啟動隨身碟Win10
- win10啟動項在哪裡開啟 win10怎麼開啟開機啟動項Win10
- linux啟動流程 (centos6,centos7)LinuxCentOS
- 國服啟動項csgo程式碼 csgo怎麼更改國服啟動項Go
- win10登錄檔啟動項在哪_win10啟動項在登錄檔中的什麼位置Win10
- win10增加啟動項不啟動怎麼辦 win10系統新增啟動項不啟動解決方法Win10
- win10啟動項program怎麼刪除_win10工作管理員啟動program如何刪除Win10
- centos7中使用locate命令CentOS