LinuxでのUEFI管理

UEFIは、従来のBIOSブートオペレーティングシステムの代わりに使用されます。UEFIブートアイテムの変更方法を学ぶことも非常に重要です。UEFIのフルネームは「UnifiedExtensible Firmware Interface」(Unified Extensible Firmware Interface)です。新しく購入したすべてのコンピューターはサポートします。 UEFIファームウェア。、従来のMBRデバイスを起動する必要がある場合は、CSM(互換性サポートモジュール)を開く必要があります。CSMをオフにすると、純粋なUEFIブートになり、セキュアブートを完全にサポートします。セキュアブート(セキュアブート)、セキュアブートは、UEFIを使用してブートするオペレーティングシステムにのみ適用できます。コンピューターがUEFIを完全にサポートしていないデバイスを起動する場合は、セキュアブートをオフにしてから、CSMをオンにする必要があります。Win7システムの場合、CSM互換モードをオンにする必要があります。Windows 8以降はUEFIを非常にうまくサポートでき、システムブートを設定するには、UEFIスタートアップアイテムを管理する必要があります。

Linuxシステムを家庭用の個人用物理マシンに直接インストールする場合、通常、デュアルシステムを実現するためにWindowsシステムがインストールされるため、主にLinuxシステムの場合、システムの起動項目が失われることがあります。

解決策は、efibootmgrコマンドを使用してブートアイテムを追加することです。EasyUEFIソフトウェアはWindowsで使用できます。

1.システムがLinuxブート項目を失った場合、デュアルシステムの場合、Windowsにしか入ることができませんが、EasyUEFIは使いたくありません。現時点では、UbuntuなどのLinuxliveCDシステムを選択できます。そして
開始するためにUディスクへのUbuntuのLiveCDを燃やすザCD-ROMドライブがシステムを起動することは非常に遅くなります。

2. Ubuntu(liveCDではない)でefibootmgrコマンドを使用すると、表示は次のようになります。

pipci @ ubuntu:〜$ efibootmgr
BootCurrent:0012
タイムアウト:0秒
BootOrder:0012,0010,0011,000F、000B、000A、0006,0007,0008,0009,000C、000D、
000EBoot0000セットアップ
Boot0001ブートメニュー
Boot0002診断スプラッシュ画面
Boot0003 Lenovo Diagnostics
Boot0004 Rescue and Recovery
Boot0005 Startup Interrupt Menu
Boot0006 * USB CD
Boot0007 * USB FDD
Boot0008 * ATAPI CD0
Boot0009 * ATAPI CD1
Boot000A * ATA HDD0
Boot000B * ATA HDD1
Boot000C * ATA HDD2
Boot000D * USB HDD
Boot000E * PCI LAN
Boot000F * Windowsブートマネージャー
Boot0010 * ubuntu
Boot0011 * ubuntushim
Boot0012 * opensuse-secureboot
pipci @ ubuntu:〜$

リストには、現在のブートアイテム、ブートタイムアウト、およびEFIブートシーケンスが非常に直感的に表示されます。0012はopensuseシステムに対応する最初のブートアイテム、0011はubuntuシステムに対応する2番目のブートアイテムです。これは私が手動で追加します。
000Fは4ブートですアイテムの対応するWindowsシステム。

3.システムスタートアップファイルを見つけると、各システムはEFIパーティションに独自のスタートアップファイルを作成します。

pipci @ ubuntu:〜$ sudo fdisk -l#EFIが配置されているパーティションを生成します

デバイス終了時のセクターサイズタイプ開始
/ dev / sdb1 2048 206847 204800 100M EFIシステム#EFIが配置されているパーティション
/ dev / sdb2 206848 468991 262144 128MMicrosoft予約済み
/ dev / sdb3 468992 83888127 83419136 39.8GMicrosoft基本データ
/ dev / sdb4 83888128 92276735 8388608 4GMicrosoft基本データ
/ dev / sdb5 92276736 176168959 83892224 40GMicrosoft基本データ
/ dev / sdb6 176168960 254294015 78125056 37.3GLinuxファイルシステム
/ dev / sdb7 254294016 262682623 8388608 4GLinuxファイルシステム
/ dev / sdb8 262682624 Microsoft基本データ
pipciubuntu:〜$

4.EFIパーティションにハングアップします

pipci @ ubuntu:〜$ sudo mount / dev / sdb1 / mnt /#EFIパーティションを/ mntディレクトリにマウントします


5.EFIパーティションを入力しますpipci @ ubuntu:〜$ cd / mnt /
bash:cd:/ mnt /:不十分な権限
pipci @ ubuntu:〜$ sudo -i
rootユーザーとしてログインシェルを実行しますroot @ ubuntu:〜#cd / mnt /

6.プロデュースEFIパーティションの
ルート@ Ubuntuの:/ mntに#lsの
EFI

7. EFIディレクトリに入り、表示します

root @ ubuntu:/ mnt#cd EFI /
root @ ubuntu:/ mnt / EFI#ls
Boot Microsoft opensuse ubuntu インストールされているシステムを確認できます
root @ ubuntu:/ mnt / EFI#

8. EFIの下の各ディレクトリの内容を確認します:
root @ ubuntu:/ mnt / EFI#ls Boot /
bootx64.efi
root @ ubuntu:/ mnt / EFI#ls Microsoft /
Boot
root @ ubuntu:/ mnt / EFI#ls opensuse /
boot .csv grub.cfg grub.efi grubx64.efi MokManager.efi shim.efi
root @ ubuntu:/ mnt / EFI#ls ubuntu /
fw fwupx64.efi grub.cfg grubx64.efi mmx64.efi shimx64.efi
root @ ubuntu :/ mnt / EFI#

9.スタートアップアイテムを追加する

root @ ubuntu:〜#efibootmgr -c -w -L“ BootOptionName” -d / dev / sda -p 1 -l \ EFI \ Boot \ bootx64.efi

BootOptionNameを設定した名前に置き換えます。-dはブートパーティションが配置されているハードディスク(デフォルトは/ dev / sda)、-pはパーティションの場所(デフォルトは1)、-lはへのパスです。 efiファイルを起動します。
これにより、EFIブートアイテムが追加されます。
例:
root @ ubuntu:〜#efibootmgr -c -w -L "BootOptionName" -d / dev / sdb -p 1 -l \ EFI \ Boot \ bootx64.efi#ブートパーティションが配置されているハードディスクは/ dev / sdb
BootCurrent:0012
タイムアウト:0秒
BootOrder:0013,0012,0010,0011,000F、000B、000A、0006,0007,0008,0009,000C、000D、
000EBoot0000セットアップ
Boot0001ブートメニュー
Boot0002診断スプラッシュ画面
Boot0003Lenovo Diagnostics
Boot0004レスキューおよびリカバリ
Boot0005スタートアップ割り込みメニュー
Boot0006 * USB CD
Boot0007 * USB FDD
Boot0008 * ATAPI CD0
Boot0009 * ATAPI CD1
Boot000A * ATA HDD0
Boot000B * ATA HDD1
Boot000C * ATA HDD2
Boot000D * USB HDD
Boot000E * PCI LAN
Boot000F * Windows Boot Manager
Boot0010 * ubuntu
Boot0011 * ubuntushim
Boot0012 * opensuse-secureboot
Boot0013 * BootOptionName

上記の操作により、スタートアップアイテムBootOptionNameが追加され、番号が0013であり、BootOrder:が最初のスタートアップアイテムになっていることがわかります。

Linuxシステムのブート項目が欠落している場合は、ブート項目/EFI/Boot/bootx64.efiを追加しないでください。このファイルはWindowsシステムに置き換えられる可能性があるためです。追加後、Windowsシステムに直接入り、
入力できません。 GRUBブートプログラム。opensuse/ディレクトリに/ EFI / Grubx64.efi、grub.efi、shim.efi、MokManager.efiなどのファイルを追加してみてください。各Linuxディストリビューションに
対応するディレクトリ内のファイルは異なる場合があります。 。実際の状況に応じて追加します。私のコンピューターには3つのシステムがインストールされています。インストール順序はWindowsUbuntu openSUSEです。
最後にインストールされたシステムのGRUBが追加するため、最後にインストールされたシステムに対応するブートファイルを追加する必要があります。以前のシステムを使用すると、1つのGRUBを介して複数のシステムを管理できます。

10.スタートアップ項目を削除するコマンドは次のとおりです。

root @ ubuntu:〜#efibootmgr -b 0013 -B#追加したBootOptionNameスタートアップアイテムを削除します。対応する番号は0013です
。BootCurrent:0012
タイムアウト:0秒
BootOrder:0012,0010,0011,000F、000B、000A、0006,0007 、0008,0009,000C、000D、000EBoot0000
セットアップ
Boot0001ブートメニュー
Boot0002診断スプラッシュ画面
Boot0003Lenovo DiagnosticsBoot0004
レスキューおよびリカバリ
Boot0005起動割り込みメニュー
Boot0006 * USB CD
Boot0007 * USB FDD
Boot0008 * ATAPI CD0
Boot0009 * ATAPI CD1
Boot000A * ATA HDD0
Boot000B * ATA HDD1
Boot000C * ATA HDD2
Boot000D * USB HDD
Boot000E * PCI LAN
Boot000F * Windows Boot Manager
Boot0010 * ubuntu
Boot0011 * ubuntushim
Boot0012 * opensuse-secureboot

11.冗長な起動項目を削除し、起動項目を再度確認します
。root@ ubuntu:〜#efibootmgr
BootCurrent:0012
タイムアウト:0秒
BootOrder:0012,0010,0011,000F、000B、000C、
000DBoot0000セットアップ
Boot0001ブートメニュー
Boot0002診断スプラッシュ画面
Boot0003Lenovo DiagnosticsBoot0004
レスキューおよびリカバリ
Boot0005起動割り込みメニュー
Boot000B * ATA HDD1
Boot000C * ATA HDD2
Boot000D * USB HDD
Boot000F * Windows Boot Manager
Boot0010 * ubuntu
Boot0011 * ubuntushim
Boot0012 * opensuse-secureboot

12、修改ブート顺序
root @ ubuntu:〜#efibootmgr -o 0012,0010,0011,000F、000D、000C、000B
BootCurrent:0012
タイムアウト:0秒
BootOrder:0012,0010,0011,000F、000D、000C、000B
Boot0000セットアップ
Boot0001ブートメニュー
Boot0002診断スプラッシュ画面
Boot0003Lenovo DiagnosticsBoot0004
レスキューおよびリカバリ
Boot0005スタートアップ割り込みメニュー
Boot000B * ATA HDD1
Boot000C * ATA HDD2
Boot000D * USB HDD
Boot000F * Windows Boot Manager
Boot0010 * ubuntu
Boot0011 * ubuntushim
Boot0012 * opensuse-secureboot
root @ ubuntu :〜#

efibootmgr -oコマンドを使用して、000Bと000Dを交換します。最初の起動を設定する場合は、上記の0012など、対応する番号をコマンドの先頭に配置します。

おすすめ

転載: blog.csdn.net/seaship/article/details/110671716