EFI双系统删除Windows分区后,无法修复或重装Windows求助
解决EFI模式下Ubuntu+Windows双系统恢复问题
第一步:清理GRUB中无效的Windows启动条目
- 打开Ubuntu的终端,执行命令:
sudo update-grub - 这个命令会让GRUB重新扫描所有可引导的系统分区,自动移除那些已经不存在的Windows启动选项。重启电脑后,原来那个打不开的Windows选项就会消失了。
第二步:为重装Windows准备分区
- 打开Ubuntu自带的磁盘工具(Disks),或者先安装GParted工具(执行
sudo apt install gparted即可安装) - 在工具里找到你的硬盘,调整现有分区大小,腾出一块至少60GB的未分配空间,然后将其格式化为NTFS格式(Windows默认支持的文件系统)
- 重要提醒:操作分区前一定要备份好所有重要数据,避免误删导致数据丢失!
第三步:重装Windows系统(EFI模式)
- 准备好Windows 10官方原版安装介质(U盘或DVD,确保镜像支持EFI启动)
- 重启电脑,开机时按对应快捷键(比如F2、F10、Del等,根据主板型号而定)进入BIOS/UEFI设置,选择带UEFI标识的安装介质启动项(这是关键,否则会安装成Legacy模式,和Ubuntu的EFI模式冲突)
- 进入Windows安装界面后,选择「自定义:仅安装Windows(高级)」选项
- 在分区列表中找到你刚才创建的NTFS分区,选中它作为安装目标,点击「下一步」开始安装
- 注意:不要删除或修改现有的EFI系统分区(一般是几百MB大小,格式为FAT32),这个分区是Ubuntu和Windows共享的引导分区,删除会导致Ubuntu无法启动
第四步:修复GRUB双系统引导菜单
安装完Windows后,电脑会默认直接启动Windows(因为Windows会覆盖EFI中的默认引导项),这时候需要修复GRUB找回Ubuntu的启动选项:
- 用Ubuntu的安装介质(U盘或DVD)启动,选择「试用Ubuntu」进入临时系统
- 打开终端,先执行
lsblk命令,找到你的Ubuntu根分区(一般是ext4格式,挂载点为/)和EFI分区(FAT32格式,挂载点为/boot/efi),记下它们的设备名(比如/dev/sda3是根分区,/dev/sda1是EFI分区) - 依次执行以下命令:
# 挂载Ubuntu根分区到/mnt sudo mount /dev/sda3 /mnt # 挂载EFI分区到/mnt/boot/efi sudo mount /dev/sda1 /mnt/boot/efi # 挂载必要的系统目录 for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done # 切换到Ubuntu的根环境 sudo chroot /mnt # 更新GRUB引导菜单 update-grub # 重新安装GRUB到硬盘 grub-install /dev/sda - 执行完后,退出终端重启电脑,就能看到包含Ubuntu和Windows的双系统启动菜单了
额外注意事项
- 全程操作前务必备份所有重要数据,分区调整和系统安装都存在一定风险
- 尽量使用Windows官方原版镜像,避免第三方修改版带来的兼容性问题
- 如果执行命令时遇到设备名错误,一定要用
lsblk或fdisk -l确认分区信息,不要盲目执行
内容的提问来源于stack exchange,提问作者GD- Ganesh Deshmukh




