在ArchLinux中没有Bootloader的EFI

我不知道此过程是否能够损坏您的计算机,因此造成的任何损坏将由读者承担。

从您已经在帖子标题中阅读的内容中,我将说明如何在EFI或UEFI计算机上没有任何类型的引导程序的情况下引导ArchLinux(不知道它是否可以在其他发行版上工作)。

第一步

安装efibootmgr(如果尚未安装)

# pacman -S efibootmgr

第二步

挂载efivarfs(如果尚未挂载)

# mount -t efivarfs efivarfs /sys/firmware/efi/efivars

第三步

将发行版添加到计算机的“启动顺序”

# efibootmgr -c -L "Arch Linux" -l /vmlinuz-linux -u "root=/dev/sdaX initrd=/initramfs-linux.img"

就我而言,我就是这样

# efibootmgr -c -L "Arch Linux" -l /vmlinuz-linux -u "root=UUID=d5e93b09-02a8-4597-b059-3f87a8221825 initrd=/initramfs-linux.img quiet loglevel=0"

最后一步

看看是否有效

# efibootmgr -v

删除您的引导程序发行版

如果由于某种原因它对您不起作用,或者您只是不喜欢不使用引导加载程序的想法,则可以执行以下操作:

第一步

查看引导顺序中与发行版相对应的数字

# efibootmgr -v

您应该会看到以下内容:

BootCurrent:0000超时:0秒BootOrder:0000,3000,2001,2002,2003
开机0000 * Arch Linux HD(1,800,100000,bf49dd02-7af7-42bb-ac5d-967ea840e3f8)文件(\ vmlinuz-linux)root = .UUID = .d.5.e.9.3.b.0.9 .-。0.2.a.8 .-。4.5.9.7 .-。B.0.5.9 .-。3.f.8.7.a.8.2.2.1.8.2.5。 .initrd =。/。initramfs-.linux..img .quiet .loglevel = .0。 Boot2001 * USB驱动器(UEFI)RC Boot2002 *内部CD / DVD ROM驱动器(UEFI)RC Boot3000 *内部硬盘或固态磁盘RC Boot3001 *内部硬盘或固态磁盘RC Boot3002 *内部硬盘或固态磁盘RC

他们会看到它标记为Boot0000 *,但是在这种情况下,我们只对数字0000感兴趣

第二步

删除您的引导程序发行版

# efibootmgr -b 0000 -B

数据来源: Arch Linux维基


17条评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   有人

    重要通知
    在此条目的第三步中,我使用的命令无效。
    我正在尝试找到解决方案,找到后将其发布

    1.    有人

      这行有效
      efibootmgr -c -L“ Arch Linux” -l / vmlinuz-linux -u“ root = UUID = d5e93b09-02a8-4597-b059-3f87a8221825 initrd = / initramfs-linux.img quiet loglevel = 0”

      我问任何可以编辑条目的人,请这样做

      1.    KZKG ^ Gaara

        准备好了,纠正了吗? 🙂

        1.    有人

          谢谢

  2.   舍弗拉韦罗斯

    你好我已经在前一段时间做过了(在Arch Linux中也是如此),我可以告诉你,至少我的计算机没有受到任何损坏,我的笔记本电脑是Lenovo G480。 如果发生这种情况,那就是在更新内核后,它不再能够重新加载系统,并且我不得不再次执行您在此描述的所有过程; 经过实验后,我加载了系统(我弄清楚这是我的错,而不是系统的错),因此我不得不重新安装,并且我不知道出于什么原因我不能再没有引导加载程序了。 从那时起,我没有时间用希腊狮身人面像谜题和谜语来娱乐自己,所以我安装了grub,再也没有尝试过。

    1.    有人

      好吧,我在笔记本电脑(HP展馆n029-la)上使用了此方法,我已经更新了内核,并且没有任何问题。 但是,如果发生这种情况,我总是在随身携带的公文包中携带一个arch livecd。

    2.    匿名

      我一直在阅读,是的,的确,在内核更新后,(efibootmgr)命令在某些孤立的情况下无法创建条目(只能删除)。 https://bugs.archlinux.org/task/34641

  3.   我一点都不明白

    您能解释一下与grub的关系吗? 我不明白区别。 或者,如果您解释有关grub的efi / uefi概念,则引导程序

    1.    评估

      准确地说,参赛的想法是在不经历Grub的情况下开始团队。 也就是说,相同的EFI(即BIOS的当前替代品)负责加载内核和引导映像。

      BIOS所做的工作是读取第一个硬盘的第一部分,通常在其中安装Grub,Grub负责加载内核和映像。 EFI允许内核加载自身(从而启用高级安全性选项,例如喜欢/讨厌的SecureBoot)。

      从实际的角度来看,使用这种方法启动PC对我而言没有任何优势。
      问候

  4.   奇克卢布·库库尔坎(Chicxulub Kukulkan)

    一个问题:

    我想购买一台新计算机(或不是那么新)来安装GNU / Linux。 如果Window $ 8附带了它,我是否会遇到安全启动问题?

    1.    O_Pixote_O

      能够。 问题将是,这取决于计算机,如果它具有W8,它将激活UEFI,并且您将不得不停用它以根据不同的发行版进行安装。 在我激活的操作系统中,如果我没有记错的话,可以安装ubuntu,但是当我安装manjaro时,它无法正常工作,因此必须停用它才能正确安装。 (实际上,现在在archlinux中,我认为它可以很容易地安装,并且我认为grub2支持它,但是我想当我很久以前安装该系统时,它仍然没有完全完善)。

    2.   

      在安装前先禁用UEFI和安全启动,然后启动CD,然后再擦除Win8和UEFI分区。

    3.    评估

      几乎所有EFI都允许以“旧版”模式(即经典)加载操作系统。 如果以这种方式配置EFI,则不会有任何问题。

  5.   拉夫

    我有些不明白的地方。 假设我有一台装有Windows和UEFI的新计算机,该在哪里执行这些步骤? 在Arch安装中还是从LiveCD中?

    1.    舍弗拉韦罗斯

      当我这样做时,是通过Live CD从头开始安装系统的,从来没有从已经安装的系统中尝试过。 我想象一旦安装了系统,还必须通过删除引导加载程序,grub或gummiboot来提及最常见的引导程序,然后删除引导加载程序条目以按照从一开始的说明进行操作,您怎么敢?去体验?。 如果不是我该死的吸收性工作,那我已经在做了。
      如果我认为无法解决该问题,该怎么办?

  6.   数字光学

    以我为例,我有一个MSI B85M-E45主板,尽管它对我有用,但它破坏了固件,使我无法再输入BIOS设置。 我从主板上的跳线进行了BIOS重置,问题仍然存在。 我将尝试再次刷新固件。 然后我告诉你是否可以恢复BIOS

    无论如何,我认为这是一个不值得尝试的过程,因为这有风险以换取一些好处

    1.    数字光学

      幸运的是,尽管它不允许我输入BIOS配置,但我仍然能够刷新固件,但是我仍然可以从硬盘启动,然后使用该程序创建可启动的DOS pendrive,以再次刷新BIOS和固件文件。

      我很幸运,有一次我碰巧,当UEFI兼容发行版开始出现时,当我安装openSUSE时,带有UEFI的ACER笔记本电脑的固件已损坏。

      少点糟糕,这次好运!