从您已经在帖子标题中阅读的内容中,我将说明如何在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维基
重要通知
在此条目的第三步中,我使用的命令无效。
我正在尝试找到解决方案,找到后将其发布
这行有效
efibootmgr -c -L“ Arch Linux” -l / vmlinuz-linux -u“ root = UUID = d5e93b09-02a8-4597-b059-3f87a8221825 initrd = / initramfs-linux.img quiet loglevel = 0”
我问任何可以编辑条目的人,请这样做
准备好了,纠正了吗? 🙂
谢谢
你好我已经在前一段时间做过了(在Arch Linux中也是如此),我可以告诉你,至少我的计算机没有受到任何损坏,我的笔记本电脑是Lenovo G480。 如果发生这种情况,那就是在更新内核后,它不再能够重新加载系统,并且我不得不再次执行您在此描述的所有过程; 经过实验后,我加载了系统(我弄清楚这是我的错,而不是系统的错),因此我不得不重新安装,并且我不知道出于什么原因我不能再没有引导加载程序了。 从那时起,我没有时间用希腊狮身人面像谜题和谜语来娱乐自己,所以我安装了grub,再也没有尝试过。
好吧,我在笔记本电脑(HP展馆n029-la)上使用了此方法,我已经更新了内核,并且没有任何问题。 但是,如果发生这种情况,我总是在随身携带的公文包中携带一个arch livecd。
我一直在阅读,是的,的确,在内核更新后,(efibootmgr)命令在某些孤立的情况下无法创建条目(只能删除)。 https://bugs.archlinux.org/task/34641
您能解释一下与grub的关系吗? 我不明白区别。 或者,如果您解释有关grub的efi / uefi概念,则引导程序
准确地说,参赛的想法是在不经历Grub的情况下开始团队。 也就是说,相同的EFI(即BIOS的当前替代品)负责加载内核和引导映像。
BIOS所做的工作是读取第一个硬盘的第一部分,通常在其中安装Grub,Grub负责加载内核和映像。 EFI允许内核加载自身(从而启用高级安全性选项,例如喜欢/讨厌的SecureBoot)。
从实际的角度来看,使用这种方法启动PC对我而言没有任何优势。
问候
一个问题:
我想购买一台新计算机(或不是那么新)来安装GNU / Linux。 如果Window $ 8附带了它,我是否会遇到安全启动问题?
能够。 问题将是,这取决于计算机,如果它具有W8,它将激活UEFI,并且您将不得不停用它以根据不同的发行版进行安装。 在我激活的操作系统中,如果我没有记错的话,可以安装ubuntu,但是当我安装manjaro时,它无法正常工作,因此必须停用它才能正确安装。 (实际上,现在在archlinux中,我认为它可以很容易地安装,并且我认为grub2支持它,但是我想当我很久以前安装该系统时,它仍然没有完全完善)。
在安装前先禁用UEFI和安全启动,然后启动CD,然后再擦除Win8和UEFI分区。
几乎所有EFI都允许以“旧版”模式(即经典)加载操作系统。 如果以这种方式配置EFI,则不会有任何问题。
我有些不明白的地方。 假设我有一台装有Windows和UEFI的新计算机,该在哪里执行这些步骤? 在Arch安装中还是从LiveCD中?
当我这样做时,是通过Live CD从头开始安装系统的,从来没有从已经安装的系统中尝试过。 我想象一旦安装了系统,还必须通过删除引导加载程序,grub或gummiboot来提及最常见的引导程序,然后删除引导加载程序条目以按照从一开始的说明进行操作,您怎么敢?去体验?。 如果不是我该死的吸收性工作,那我已经在做了。
如果我认为无法解决该问题,该怎么办?
以我为例,我有一个MSI B85M-E45主板,尽管它对我有用,但它破坏了固件,使我无法再输入BIOS设置。 我从主板上的跳线进行了BIOS重置,问题仍然存在。 我将尝试再次刷新固件。 然后我告诉你是否可以恢复BIOS
无论如何,我认为这是一个不值得尝试的过程,因为这有风险以换取一些好处
幸运的是,尽管它不允许我输入BIOS配置,但我仍然能够刷新固件,但是我仍然可以从硬盘启动,然后使用该程序创建可启动的DOS pendrive,以再次刷新BIOS和固件文件。
我很幸运,有一次我碰巧,当UEFI兼容发行版开始出现时,当我安装openSUSE时,带有UEFI的ACER笔记本电脑的固件已损坏。
少点糟糕,这次好运!