命令创建EFI分区详细教程

EFI系统分区(ESP)是UEFI启动模式的关键组件,存储引导加载程序和固件文件,以下是通过命令行创建EFI分区的专业方法,适用于Windows和Linux系统。操作前请务必备份所有数据,误操作可能导致系统无法启动。


Windows环境(使用diskpart命令)

适用场景:安装Windows时或WinPE环境下创建ESP分区

以管理员身份打开命令提示符
2. 输入以下命令:
   diskpart
   list disk                 # 显示所有磁盘
   select disk X             # X替换为目标磁盘编号(如0)
   clean                    # 清除磁盘所有分区(慎用!)
   convert gpt              # 将磁盘转换为GPT分区表
   create partition efi size=100  # 创建100MB的EFI分区
   format quick fs=fat32    # 格式化为FAT32
   assign letter=S          # 分配盘符(临时使用,如S)
   exit

关键参数说明

  • size=100:分区大小建议100MB(微软官方要求≥100MB)
  • 完成后需将引导文件复制到该分区(如使用bcdboot命令)

Linux环境(使用parted/gdisk)

方法1:parted工具(推荐)

sudo parted /dev/sdX        # sdX替换为磁盘标识(如sda)
(parted) mklabel gpt        # 创建GPT分区表
(parted) mkpart ESP fat32 1MiB 101MiB  # 创建100MB分区
(parted) set 1 esp on       # 标记为ESP分区
(parted) quit
sudo mkfs.fat -F32 /dev/sdX1  # 格式化为FAT32
sudo mount /dev/sdX1 /mnt   # 挂载到/mnt

方法2:gdisk工具

sudo gdisk /dev/sdX
Command: n                  # 新建分区
Partition number: 默认
First sector: 默认
Last sector: +100M          # 设置100MB大小
Hex code: EF00              # 设置EFI分区类型
Command: w                  # 写入更改
sudo mkfs.fat -F32 /dev/sdX1

验证与修复

  1. Windows验证
    diskpart
    list volume              # 检查是否有FAT32格式的EFI分区
  2. Linux验证
    sudo fdisk -l | grep -i EFI
    sudo blkid /dev/sdX1     # 检查文件系统是否为FAT32

注意事项

  1. 分区位置:EFI分区必须是磁盘的第一个分区(或紧随MBR保留扇区后)
  2. 文件系统:必须使用FAT32,不支持NTFS/ext4
  3. 安全操作
    • 操作前断开非目标磁盘
    • 系统盘操作需使用安装介质启动
    • 双系统用户需确认现有EFI分区位置(避免重复创建)
  4. 引导修复
    • Windows:bcdboot C:\Windows /s S: /f UEFI(C为系统盘,S为EFI分区)
    • Linux:安装grub-efi并执行grub-install --target=x86_64-efi --efi-directory=/mnt --bootloader-id=GRUB

常见问题解决

  • 报错”分区对齐”:使用1MiB作为起始位置(符合2048扇区对齐)
  • 现有系统无法启动:使用Windows安装介质 > 疑难解答 > 命令提示符修复引导
  • Linux下权限不足:所有命令前加sudo,或切换root用户

引用说明:本文操作参考微软文档UEFI/GPT分区要求及Arch Linux WikiEFI系统分区指南,命令经过Windows 11/Ubuntu 22.04实测验证。

重要提示:本文仅提供技术指导,操作需具备基础磁盘管理知识,企业用户或关键数据设备建议咨询专业IT支持。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6873.html

(0)
酷番叔酷番叔
上一篇 2025年7月9日 18:33
下一篇 2025年7月9日 19:02

相关推荐

  • 如何用psql命令行高效连接PostgreSQL数据库?

    连接前的准备工作确认连接信息获取以下数据库信息:主机地址(Host):数据库服务器 IP 或域名(本地为 localhost)端口(Port):默认 5432数据库名(Database):目标数据库名称用户名(Username):有访问权限的账号密码:对应用户的密码安装客户端工具Linux/macOS:系统通常……

    3天前
    900
  • 高手都用命令行关机?

    命令行关机速度快、资源占用少,适合远程管理服务器、编写自动化脚本,或在图形界面故障时强制关闭系统,提升效率与控制力。

    2天前
    600
  • Pro/E移除命令怎么用?高效编辑实用技巧

    Pro/E(Creo Parametric)中的“移除”命令 (Remove) 是一个功能强大且常用的工具,尤其在处理导入的第三方CAD模型(如STEP、IGES格式)或需要快速修改“无参数”特征时,它允许你直接删除几何特征(如孔、凸台、圆角、倒角)或移除曲面片,而无需回溯模型树找到原始特征,以下是详细使用方法……

    2025年6月21日
    1000
  • 如何在psql命令行查找数据或对象?

    在psql中查找数据需用SELECT语句,查找对象可用\d等元命令,结合SQL查询与\dt、\dy等命令可高效检索数据库信息。

    2025年6月23日
    1000
  • Node.js退出命令的常见场景有哪些?

    退出Node REPL交互环境当在终端输入node(不带文件名)进入Node的交互式解释器(REPL)时,可通过以下方式退出:快捷键组合按 Ctrl + C 两次(第一次可能显示^C,第二次直接退出),按 Ctrl + D 一次(Linux/macOS推荐,直接发送EOF信号退出), (图示:快捷键操作流程)输……

    2025年7月8日
    900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信