您的位置: 首頁 >科技 >

筆記本電腦上的Linux 仔細查看EFI引導(dǎo)選項

2022-07-15 10:00:14 編輯:懷軍爍 來源:
導(dǎo)讀 一段時間以來,我收到的關(guān)于安裝和維護Linux的UEFI固件和EFI引導(dǎo)的請求量緩慢而穩(wěn)定。由于我在最近的一篇關(guān)于在新筆記本電腦上安裝Linux的

一段時間以來,我收到的關(guān)于安裝和維護Linux的UEFI固件和EFI引導(dǎo)的請求量緩慢而穩(wěn)定。由于我在最近的一篇關(guān)于在新筆記本電腦上安裝Linux的帖子中發(fā)表了一個隨意的評論,因此銷量大增。

因此,在本文中,我將回顧并解釋一些我認(rèn)為是UEFI固件和Linux系統(tǒng)最重要的方面。我希望這篇文章比較簡短,但是一旦我開始工作,您將一無所知...因此您可能想在開始閱讀之前先喝杯咖啡。

首先,我在這里關(guān)注的UEFI固件的特定方面是引導(dǎo)順序以及如何在Linux中使用它。UEFI(EFI)的功能遠遠不止這些,但是我在這里不做任何處理。

我要看的是引導(dǎo)順序與以前的標(biāo)準(zhǔn)有何不同,以及如何為Linux安裝配置和管理它。我可能在本文中互換使用“ EFI”和“ UEFI”這兩個術(shù)語;通常,這當(dāng)然是不正確的,但是就我所寫的內(nèi)容而言,它們或多或少是同一件事。

在EFI之前,幾乎所有PC系統(tǒng)的標(biāo)準(zhǔn)啟動過程都稱為“ MBR”,用于主啟動記錄。今天,您可能會聽說它被稱為“傳統(tǒng)啟動”。此過程取決于使用磁盤上的第一個物理塊來保存引導(dǎo)計算機所需的一些信息(因此稱為“主引導(dǎo)記錄”);具體來說,它包含可以找到實際引導(dǎo)加載程序的磁盤地址,以及定義磁盤布局的分區(qū)表。使用此信息,PC固件可以找到并執(zhí)行引導(dǎo)加載程序,然后引導(dǎo)加載程序?qū)佑嬎銠C并運行操作系統(tǒng)。

這個系統(tǒng)有許多相當(dāng)明顯的弱點和缺點。最大的問題之一是,每個物理磁盤驅(qū)動器上只能有一個可引導(dǎo)對象(至少就固件引導(dǎo)而言)。另一個問題是,如果磁盤上的第一個扇區(qū)以某種方式損壞了,那么您將陷入嚴(yán)重麻煩。

隨著時間的流逝,作為可擴展固件接口的一部分,開發(fā)了一種新的引導(dǎo)配置方法。EFI不在桌面上存儲關(guān)鍵的引導(dǎo)配置信息,而是在桌面上使用專用的“ EFI引導(dǎo)分區(qū)”。這是一個完全正常的標(biāo)準(zhǔn)磁盤分區(qū),與可用于保存操作系統(tǒng)或系統(tǒng)恢復(fù)數(shù)據(jù)的分區(qū)相同。

唯一的要求是將其格式化為FAT格式,并且應(yīng)該設(shè)置引導(dǎo)分區(qū)和esp分區(qū)標(biāo)志(esp代表EFI系統(tǒng)分區(qū))。然后,引導(dǎo)所需的特定數(shù)據(jù)和程序?qū)⒈A粼诖朔謪^(qū)上的目錄中,通常保留在命名為指示其用途的目錄中。所以,如果你有Windows系統(tǒng),你會發(fā)現(xiàn)通常稱為目錄“引導(dǎo)”和“微軟” ,也許一個命名為硬件,如HP的制造商。如果您使用的是Linux系統(tǒng),則將根據(jù)所使用的特定Linux發(fā)行版找到名為opensuse,debian,ubuntu或其他目錄的目錄。

到目前為止,從描述中應(yīng)該顯而易見的是,使用EFI引導(dǎo)配置,完全有可能在單個磁盤驅(qū)動器上具有多個引導(dǎo)對象。

在進一步介紹之前,我應(yīng)該明確指出,如果您將Linux安裝為PC上的唯一操作系統(tǒng),則無需詳細了解所有這些配置信息。安裝程序應(yīng)注意設(shè)置所有這一切,包括創(chuàng)建EFI引導(dǎo)分區(qū)(或使用現(xiàn)有的EFI引導(dǎo)分區(qū)),并進一步配置系統(tǒng)引導(dǎo)列表,以便您安裝的任何系統(tǒng)都成為默認(rèn)引導(dǎo)目標(biāo)。

如果您要購買一臺帶有UEFI固件的全新計算機,并使用任何當(dāng)前的主要Linux發(fā)行版本從頭開始加載它,則所有這些都將被設(shè)置,配置和運行,就像您購買預(yù)先加載了新版計算機的計算機一樣Windows(或使用Windows從頭開始加載計算機時)。只有當(dāng)您想要擁有多個可啟動操作系統(tǒng)時,尤其是當(dāng)您希望在同一臺計算機上同時擁有Linux和Windows時,事情可能會變得更加復(fù)雜。

這種“多重引導(dǎo)”系統(tǒng)引起的問題通常與正確定義引導(dǎo)優(yōu)先級列表有關(guān)。

當(dāng)您購買一臺裝有Windows的新計算機時,此列表通常包括主磁盤上的Windows引導(dǎo)加載程序,然后可能包括其他一些外圍設(shè)備,例如USB,網(wǎng)絡(luò)接口等。在此類計算機上將Windows與Windows一起安裝Linux時,安裝程??序會將必要的信息添加到EFI引導(dǎo)分區(qū)中,但是如果引導(dǎo)優(yōu)先級列表未更改,則在安裝后重新引導(dǎo)系統(tǒng)時,它將簡單地再次引導(dǎo)Windows,并且您可能會認(rèn)為安裝無效。

有多種方法可以修改此引導(dǎo)優(yōu)先級列表,但是確切地知道哪些可用以及它們是否工作或如何工作取決于您所使用的系統(tǒng)的固件,這會使事情變得非常混亂。UEFI固件的實現(xiàn)與PC制造商的數(shù)量幾乎一樣多,并且制造商在此固件的細節(jié)方面展現(xiàn)出了極大的創(chuàng)造力。

首先,在最簡單的情況下,Linux附帶有一個名為efibootmgr的軟件實用程序,可用于修改,添加或刪除啟動優(yōu)先級列表。如果該實用程序正常工作,并且所做的更改在系統(tǒng)上是永久的,那么您將沒有其他問題要處理,并且在安裝后它將啟動Linux,您會很高興。不幸的是,盡管有時候是這種情況,但事實并非如此。最常見的原因是軟件實用程序所做的更改實際上并未由系統(tǒng)BIOS永久存儲,因此,在重新引導(dǎo)計算機時,引導(dǎo)優(yōu)先級列表將恢復(fù)為以前的狀態(tài),這通常意味著Windows將再次引導(dǎo)。

修改啟動優(yōu)先級列表的另一種常用方法是通過計算機BIOS配置程序。對于每個制造商,如何執(zhí)行此操作的細節(jié)都不相同,但是一般過程大致相同。首先,您必須在系統(tǒng)開機(POST)時按BIOS配置鍵(通常為F2,但并非總是如此)。然后從BIOS配置菜單中選擇Boot(引導(dǎo))項,這將使您進入以優(yōu)先順序顯示的引導(dǎo)目標(biāo)列表。然后,您需要修改該列表;有時,可以通過通常的F5 / F6上/下鍵過程直接在該屏幕上完成此操作,有時您需要更深一層地進行操作。希望我可以提供更具體,詳細的信息,

我已經(jīng)看到了一些罕見的系統(tǒng)案例,其中這些方法都不起作用,或者至少它們似乎不是永久性的,并且系統(tǒng)不斷恢復(fù)引導(dǎo)Windows的狀態(tài)。同樣,在這種情況下有兩種處理方法。第一種是在POST(開機)過程中只需按下“啟動選擇”鍵。究竟是哪個鍵有所不同,我已經(jīng)看到它是F12,F(xiàn)9,Esc,可能還有一個或兩個。無論結(jié)果是哪個鍵,在POST期間單擊它時,您都應(yīng)該獲得在EFI引導(dǎo)優(yōu)先級列表中定義的可引導(dǎo)對象的列表,因此,假設(shè)您的Linux安裝有效,您應(yīng)該會在此處看到它。我知道有人對這種解決方案感到滿意,他們會以這種方式使用計算機,并且每次想要引導(dǎo)Linux時都必須按boot select。

另一種方法是實際修改EFI引導(dǎo)分區(qū)中的文件,以使(不可更改的)Windows引導(dǎo)過程實際引導(dǎo)Linux。這涉及用Linux文件grubx64.efi覆蓋Windows文件bootmgfw.efi。我已經(jīng)這樣做了,尤其是在EFI引導(dǎo)的初期,它可以工作,但是我強烈建議您嘗試時要非常小心,并確保保留原始bootmgfw.efi文件的副本。最后,作為最后一個(令人沮喪的)警告,我還看到了至少在一段時間內(nèi)似乎可以正常工作的系統(tǒng),但是隨后在某個不可預(yù)測的時刻,啟動過程似乎注意到某些內(nèi)容已更改,并且恢復(fù)了bootmgfw.efi。還原為原始狀態(tài)-從而再次丟失Linux引導(dǎo)配置。嘆。

因此,這就是EFI引導(dǎo)的基礎(chǔ)以及如何配置它。但是可能存在一些重要的變化,并且需要注意一些警告。

在描述的開頭,我說過,當(dāng)您安裝Linux時,它將在Windows或其他Linux發(fā)行版的任何現(xiàn)有配置旁邊向現(xiàn)有EFI引導(dǎo)分區(qū)添加必要的引導(dǎo)信息。實際上,磁盤上可能有多個EFI引導(dǎo)分區(qū),因此您可以選擇創(chuàng)建一個新的(附加)EFI引導(dǎo)分區(qū),并將其用于Linux安裝。某些Linux發(fā)行版(特別是Fedora及其衍生版本)默認(rèn)情況下會執(zhí)行此操作,而其他發(fā)行版則為您提供了執(zhí)行此操作的選項,如果不這樣做,它們只會添加到第一個現(xiàn)有的EFI引導(dǎo)分區(qū)中。一些發(fā)行版(尤其是Ubuntu及其衍生版本)沒有給您選擇,它們只是安裝到第一個EFI引導(dǎo)分區(qū)。除非...(繼續(xù)閱讀),否則可能沒問題

正如我在開始時提到的那樣,大多數(shù)Linux發(fā)行版在其EFI引導(dǎo)目錄中使用唯一的名稱(通常從發(fā)行版的名稱派生)。不幸的是,并非所有人都這樣做。特別是Linux Mint和其他一些Ubuntu派生版本仍將名稱ubuntu用作引導(dǎo)目錄。這不是問題,除非您嘗試安裝兩個分發(fā)目錄,并且兩個分發(fā)目錄都使用相同的名稱。那么第二個安裝將覆蓋第一個安裝,最終您將只能引導(dǎo)其中一個。在這種情況下,您基本上被迫對至少其中一個使用單獨的EFI引導(dǎo)分區(qū),這就是我對新HP筆記本電腦所做的工作,這使所有引起本文這篇文章的最新興奮點都開始了。

最后要提到的是,過去幾年中,用于創(chuàng)建EFI引導(dǎo)配置的Linux實用程序已經(jīng)得到了很大的改進。它不再需要冗長而復(fù)雜的命令行選項序列來指定配置,它完全可以自行創(chuàng)建功能最小的配置。因此,如果發(fā)生某種情況并且您的啟動數(shù)據(jù)被破壞或破壞,您可以在正確的位置通過簡單地運行“ grub-install / dev / xxx”(或grub2-install,取決于發(fā)行版)來重新創(chuàng)建它,其中xxx將替換為您的主磁盤名稱,通常是sda。

這涵蓋了EFI引導(dǎo)的一般概述,以及如何配置(或哄騙)EFI引導(dǎo)使其適用于Linux / Windows雙重引導(dǎo)(或多重引導(dǎo))。請注意,我這里沒有談?wù)摰囊患率?ldquo;啟動修復(fù)”實用程序,該實用程序聲稱可以為您創(chuàng)建或修復(fù)這種配置。這樣做有幾個簡單的原因;首先,我不喜歡它們,因為我不喜歡一般情況下可以為難題提供“魔術(shù)”的東西。第二,因為從帖子中可以看出,EFI引導(dǎo)配置的詳細信息仍在更改,因此今天可用的“魔術(shù)實用程序”明天可能無法正常工作,或者只能用于一個發(fā)行版或雙重引導(dǎo)的“魔術(shù)實用程序”可能無法正常工作。用于另一個發(fā)行版或用于多重引導(dǎo)(超過兩個引導(dǎo)對象)。我認(rèn)為,如果您花時間了解系統(tǒng)管理的深度,那么最好花一些時間去了解自己在做什么,以便您知道要更改什么,如何更改它以及在出現(xiàn)問題時如何修復(fù)它。叫我老式。

哦,最后一件事。還有一個名為rEFInd的實用程序包 這將幫助您設(shè)置和管理EFI引導(dǎo)配置。我已經(jīng)使用了它,并且它可以工作(或者幾年前我上次使用它時就可以了),因此,如果您在掙扎中又無法工作,那么值得嘗試一下。我不認(rèn)為它是“魔術(shù)工具”,因為您可以看到它所做的一切,并且隨附的文檔對此進行了說明?;旧希鼤L試將自身安裝為第一個引導(dǎo)對象,然后列出計算機上所有其他可能的引導(dǎo)目標(biāo),并將其呈現(xiàn)給您選擇。如果可行,那就很好-這實際上是學(xué)習(xí)所有工作原理的好方法-但我不相信這真的是必要的了。

我希望這些信息對某些人有用。我意識到它相當(dāng)干燥和技術(shù)性,但這只是EFI引導(dǎo)的方式。如果我有任何重大錯誤,請隨時發(fā)表評論和更正。顯然還有更多可以說的話,但是我認(rèn)為這已經(jīng)足夠了。我希望在這篇文章之后再繼續(xù),如果有足夠的興趣,它描述和討論了在多引導(dǎo)EFI系統(tǒng)上設(shè)置Grub配置文件的特定方式。它不是標(biāo)準(zhǔn)的,需要維護一些工作,但是我認(rèn)為它具有一些優(yōu)點。


免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!

精彩推薦

圖文推薦

點擊排行

2016-2022 All Rights Reserved.平安財經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082   備案號:閩ICP備19027007號-6

本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。