首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux 修改efi启动项

Linux 修改EFI启动项基础概念及操作指南

基础概念

EFI(Extensible Firmware Interface) 是一种新型的计算机固件接口标准,取代了传统的BIOS。它提供了更加灵活和强大的启动管理功能,允许操作系统在启动时进行更多的配置和控制。

启动项 是指在计算机启动时,操作系统加载之前运行的一系列程序或服务。在EFI系统中,这些启动项通常存储在ESP(EFI System Partition)分区中,并通过EFI引导管理器进行管理。

相关优势

  1. 灵活性:EFI允许用户轻松地添加、删除或修改启动项,而不需要重新安装操作系统。
  2. 安全性:通过数字签名验证启动项的完整性和来源,提高了系统的安全性。
  3. 兼容性:EFI支持多种操作系统和设备,提供了更好的跨平台兼容性。

类型与应用场景

  • UEFI启动项:适用于大多数现代计算机,特别是采用Intel和AMD处理器的系统。
  • Legacy BIOS启动项:适用于较旧的计算机系统,但逐渐被UEFI取代。

应用场景包括:

  • 多系统共存:在同一台计算机上安装多个操作系统,并能够选择启动哪个系统。
  • 安全启动:确保只有经过验证的操作系统才能启动。
  • 快速启动:优化启动过程,减少启动时间。

修改EFI启动项的步骤

  1. 进入EFI设置界面
    • 开机时按下相应的快捷键(通常是F2、F10、Del等)进入BIOS或UEFI设置界面。
    • 找到并进入“Boot”或“Startup”选项。
  • 查看和管理启动项
    • 在启动项列表中,可以看到所有可用的启动设备和程序。
    • 使用上下箭头键选择需要修改的启动项,按“+”或“-”键调整其优先级。
  • 添加新的启动项(如果需要):
    • 进入“Boot Maintenance Manager”或类似选项。
    • 选择“Add Boot Option”或“Create Boot Option”。
    • 输入启动项名称,并指定启动设备的路径(通常是ESP分区中的.efi文件)。
  • 保存并退出
    • 确认所有更改后,选择“Save Changes and Exit”或类似选项。
    • 计算机将重新启动,并应用新的启动项设置。

示例代码(使用efibootmgr工具)

efibootmgr 是一个Linux命令行工具,用于管理EFI启动项。以下是一些常用命令示例:

查看当前启动项

代码语言:txt
复制
sudo efibootmgr

添加新的启动项

代码语言:txt
复制
sudo efibootmgr -c -d /dev/sda -p 1 -L "My Custom Boot" -l \\EFI\\mycustom\\bootx64.efi
  • -c:创建新的启动项。
  • -d /dev/sda:指定启动设备(硬盘)。
  • -p 1:指定ESP分区号。
  • -L "My Custom Boot":设置启动项名称。
  • -l \\EFI\\mycustom\\bootx64.efi:指定启动程序的路径。

删除启动项

代码语言:txt
复制
sudo efibootmgr -b XXXX -B
  • -b XXXX:指定要删除的启动项编号(从efibootmgr输出中获取)。
  • -B:删除指定的启动项。

常见问题及解决方法

问题1:无法进入EFI设置界面

  • 确保BIOS/UEFI设置中的“Secure Boot”选项已禁用(如果适用)。
  • 检查是否有硬件故障或BIOS版本过旧。

问题2:启动项无法正常工作

  • 确认启动程序的路径和文件名是否正确。
  • 使用efibootmgr检查启动项的状态和配置。
  • 如果使用安全启动,确保启动程序已正确签名。

问题3:ESP分区损坏

  • 使用磁盘工具(如GParted)检查和修复ESP分区。
  • 重新创建ESP分区并重新安装EFI引导程序。

通过以上步骤和方法,您可以有效地管理和修改Linux系统中的EFI启动项。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux efi shell,EFI Shell 命令说明「建议收藏」

bcfg 显示(或修改)驱动程序(或引导配置)。 boottest 设置(或查看)BootTest 位。 dbprofile显示/修改要由 lanboot 使用的直接引导配置文件。...dmpstore 显示所有 EFI 变量。 memmap 显示内存映射。 mm 显示(或修改)MEM/IO/PCI。...用 … Linux远程执行Shell命令或脚本 ## 远程执行shell命令 ssh [user]@[server] ‘[command]’ # eg. ssh root@192.168.1.1 ‘uptime...1.创建表 create ‘表名称’,‘列族名称1’,‘列族名称1’create ‘test_M_01’, … Linux SHELL 命令入门题目答案(一) 1.如何使用shell 打印 “Hello...使用单引号ech … Linux SHELL 命令入门题目(一) 新年新气象,注重知识积累,提高手敲代码能力,而不是眼高手低,只会复制黏贴. 1.使用shell 打印 “Hello World!”

10.4K10
  • Linux 系统开机启动项清理

    一般情况下,常规用途的 Linux 发行版在开机启动时拉起各种相关服务进程,包括许多你可能无需使用的服务。 -- David Both 本文导航 ◈ 查看开机启动项09% ◈ 哪些服务能够禁止?...62% 大部分 Linux 发行版都会在开机的时候启动各种相关的服务进程,其中有很多你根本都用不上的:蓝牙、 Avahi 、调制解调管理器甚至 pppd-dns 等等,你甚至根本不知道这些都是什么东西。...查看开机启动项 通常情况下,你能用 /etc/init.d 查看系统引导时启动的服务项。但是 systemd 会用不一样的展现方式,下面是一些命令,用于展示开机启动时的进程项。...---- via: https://www.linux.com/learn/cleaning-your-linux-startup-process 作者:David Both 译者:penghuster

    5.5K80

    linux内核启动流程分析 - efi_main

    上一篇文章 linux内核启动流程分析 - efi_stub_entry 中,为了叙述方便,我们只是粗略的讲了下efi_main函数,这里我们再具体看下。 ?...有关boot_params的创建及其hdr的初始化,我们在 linux内核启动流程分析 - efi_pe_entry 中有讲到,这里就不再赘述。 继续看该函数的其余部分。 ?...而710行中的image_offset是kernel在内存的起始地址到compressed部分起始地址(startup_32的地址)的偏移量,这个在 linux内核启动流程分析 - efi_pe_entry...linux内核构建结束后,最终生成的文件是 arch/x86/boot/bzImage,这其实是个压缩过的内核,在kernel启动过程中,还要在内存中对内核进行解压,进而得到真正的内核。...该部分主要是解析efi相关的一些参数及加载initrd,在此不详细讲,后面如果用到再一一展开。 继续看efi_main的剩余部分: ?

    3.7K30

    如何添加linux开机启动项

    让自己的服务可以做到无人托管开机自启动,减少运营成本的同时可以防止有人偷偷写入开机启动项,启动一些没有必要的服务。...add servicename在chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了; chkconfig --level 35 mysqld on修改服务的默认启动等级...这种方式不算通用,所以我这里就不赘述了,有兴趣可以移步Linux ntsysv:设置系统服务 总结 开机启动项 添加脚本到或者命令 /etc/rc.d/rc.local 先把脚本放到/etc/rc.d/.../下 引用 linux下三种开机自启动服务的方式总结 linux 添加开机启动项的三种方法。...Linux ntsysv命令 /etc/profile 文件和/etc/profile.d chkconfig 服务的添加、顺序 Linux 系统开机启动项清理

    18.1K61

    启动菜单问题:启动菜单配置错误,导致无法选择启动项

    GRUB 配置文件错误原因:GRUB 配置文件(通常是 /boot/grub/grub.cfg )可能被修改或损坏,导致无法正确显示启动菜单。...例如,添加一个启动条目:menuentry "Ubuntu" { set root='(hd0,1)' linux /boot/vmlinuz-5.4.0-xx-generic root...错误的默认启动项原因:GRUB 默认启动项可能设置错误,导致系统无法正确启动。...解决方法:编辑 GRUB 默认配置文件:打开 GRUB 默认配置文件:sudo nano /etc/default/grub修改 GRUB_DEFAULT 行,指定默认启动项的索引(从0开始计数)或名称...重建 GRUB 引导加载程序:重新安装 GRUB 到 EFI 分区:sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id

    11810

    用efibootmgr管理UEFI启动项

    原默认是CentOS的为首选启动项的。某天升级了Kali内核,Kali修改成为首选启动项。工作主要是用CentOS,每次启动需要人工去选系统比较麻烦。...进入CentOS,命令行环境下,root账户操作,可以定位到/boot/efi/目录(看到如下图示),有BOOT,EFI二个目录。...1.jpg 再进入EFI目录,看到有centos、kali、Microsoft等几个目录,表示安装了有CentOS、Kali、Windows系统。...5.jpg efibootmgr工具还有许多功能(比如隐藏启动项、修改启动项、删除无用的启动项、超时时间等),这里不一一介绍,有兴趣的朋友可以通过efibootmgr -h查看各参数用法说明(如下图所示...6.jpg 本文介绍的是CentOS7.6操作系统下设置方法,在Kali操作系统环境下的设置方法是一样的(二者均为linux内核)。

    7.4K40

    修改若依项目配置文件,本地启动项目

    配置文件修改 经过前面的文章,差不多已经把准备工作做好了,剩下的就是修改后端的配置文件,把后端先启动起来,接下来,我们用idea工具打开我们的若依项目的源码,然后把配置文件中的数据库链接的信息以及其他的相关信息进行修改...,具体要修改的地方我列举到下面: 本次要修改的配置文件,基本位于目录:D:\RuoYi-Vue\ruoyi-admin\src\main\resources application.yml文件中要配合修改的地方...可以根据自己的喜好进行调整 上图中的redis信息可以不改,在windows本地安装好redis即可,安装教程可参考:windows操作系统本地安装redis application-druid.yml文件中要配合修改的地方...: 先修改mysql数据库的连接信息: logback.xml配合要修改的地方: 修改日志存放路径,改为一个本地存在的目录,我这里改为 <property name="log.path" value...环境搭建以及常见npm用法 注意事项: nodejs的版本不要安装太高,用最新的版本很容易出问题 ,我这里采用的是12的版本: 按照文档中的命令执行完之后,输入npm run dev就可以本地启动项目

    1.9K20

    linux内核启动流程分析 - efi_stub_entry

    接上一篇文章 linux内核启动流程分析 - efi_pe_entry,我们继续看efi_stub_entry函数。 ? 该函数比较特殊,是用汇编写的,下面我们来逐行分析下。...那对于x64的linux内核来说,calling convention具体是怎么约定的呢?...我们继续看efi_stub_entry中的第三行代码,它是通过call指令,调用efi_main函数,执行efi_main里的逻辑。...在efi_main函数执行时,rdx很可能会被修改掉,所以我们没法确保,在efi_main执行完毕后,rdx里存放的还是boot_params的地址。 那又有人会问,存到rbx里就不会被修改了吗?...看上面介绍calling convention时的第一个截图,当被调用函数要使用rbx时,它必须在返回之前,恢复rbx原来的值,所以rbx一定是不会被修改的。

    2.5K20

    windows10 双系统安装后,grub2 引导修复(亲自实验);grub2 命令行 手动加载内核;fedora 29 系统grub2引导修复;

    之前在本机有fedora 29的系统,但是由于错误安装,把windows10 启动安装到 linux 所在的硬盘中,导致原来的 efi中的grub启动被破坏,不能进入到linux中;我首先通过磁盘精灵,...把efi中启动文件拷贝到现有的windows安装盘中,重新启动后成功从新的efi分区进入windows; 然后开始进行恢复fedora系统;这时候,有两种办法,一种是重新安装 linux; 另外一种方法就是重新修复...fc16.i686.img (此处参考书可以参考) boot(重新启动) grub2-mkconfig -o /boot/grub2/grub.cfg 进入系统后,重新修复引导; 当然也可以在之前自动生成的启动项的基础上修改...;在grub2 启动时使用 e 快捷键进入修改界面,并使用ctrl+x执行修改结果; 清理现场: reboot;至此,重启并拔掉live usb,使用efi模式引导修复的系统,完成启动; 注意:此时windows...此教程总结自实际修复过程中,如果您有问题,欢迎留言咨询;我最后是在自动生成的项目的基础上,结合手动修改引导成功的; 如果你对linux的启动机制,以及mbr,efi 等不是很了解;建议还是重新安装系统为好

    4.4K20

    更新修复Deepin启动(GRUB)

    对于双系统用户,一般而言,推荐先安装 Windows 8/10,再安装 Linux,并使用 Linux 的 GRUB2 作为双系统引导管理器。...EFI+GPT模式下修复GRUB2双系统引导 本节内容为转载,原地址:http://www.mintos.org/skill/rescue-efi-grub.html。...目前多数电脑自带的正版 Windows 8/10 都是 EFI 引导 + GPT 分区模式,那么 Windows + Linux 的双系统局面仍将长期存在,Linux 用户再不乐意也还是要适应。.../dev/sdb1 /mnt/system/boot/efi 用 efibootmgr 创建 ubuntu 的启动项:(注意:站长的主硬盘是 sdb,请确认自己的主硬盘,不可照搬) $ sudo efibootmgr...-c -d /dev/sdb -p 2 -w -L ubuntu 重启,并在 BIOS 中选择刚才创建的 ubuntu 启动项,进入 Ubuntu。

    18.3K30
    领券