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
验证与修复
- Windows验证:
diskpart list volume # 检查是否有FAT32格式的EFI分区
- Linux验证:
sudo fdisk -l | grep -i EFI sudo blkid /dev/sdX1 # 检查文件系统是否为FAT32
注意事项
- 分区位置:EFI分区必须是磁盘的第一个分区(或紧随MBR保留扇区后)
- 文件系统:必须使用FAT32,不支持NTFS/ext4
- 安全操作:
- 操作前断开非目标磁盘
- 系统盘操作需使用安装介质启动
- 双系统用户需确认现有EFI分区位置(避免重复创建)
- 引导修复:
- 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
- Windows:
常见问题解决
- 报错”分区对齐”:使用
1MiB
作为起始位置(符合2048扇区对齐) - 现有系统无法启动:使用Windows安装介质 > 疑难解答 > 命令提示符修复引导
- Linux下权限不足:所有命令前加
sudo
,或切换root用户
引用说明:本文操作参考微软文档UEFI/GPT分区要求及Arch Linux WikiEFI系统分区指南,命令经过Windows 11/Ubuntu 22.04实测验证。
重要提示:本文仅提供技术指导,操作需具备基础磁盘管理知识,企业用户或关键数据设备建议咨询专业IT支持。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6873.html