我使用的是 Windows 10 和 Ubuntu 18.04 双启动。昨天我试图在 Ubuntu 分区中创建更多空间。因此,我尝试使用 Windows 磁盘管理工具缩小 Windows 分区的空间。但是,它只允许我缩小 8 GB,而我需要更多空间(30GB)。因此,我使用 AOMEI 分区助手来缩小它。它进入了预操作系统模式,然后在再次启动 Windows 后,我看到它需要创建 30GB 空间,但也格式化了我的 Ubuntu 分区。
之后,我也无法启动 Windows。我得到
未找到启动设备
我将非常感激任何帮助,因为我不知道该怎么做,而且我不想丢失 Windows 中的数据。
我目前正在使用可启动闪存驱动器中的 Ubuntu。运行后sudo fdisk -l
输出如下:
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: CC7B896F-703B-441A-B358-34F3401BA61F
Device Start End Sectors Size Type
/dev/sda1 2048 821246 819199 400M Windows recovery environment
/dev/sda2 821248 1353727 532480 260M EFI System
/dev/sda3 1353728 1615871 262144 128M Microsoft reserved
/dev/sda4 1615872 1749703408 1748087537 833.6G Microsoft basic data
/dev/sda5 1758339224 1766727831 8388608 4G Microsoft basic data
/dev/sda6 1768774856 1777163463 8388608 4G Microsoft basic data
/dev/sda7 1828229120 1879709695 51480576 24.6G Microsoft basic data
/dev/sda8 1879709696 1881571326 1861631 909M Windows recovery environment
/dev/sda9 1881581000 1953521069 71940070 34.3G Microsoft basic data
Disk /dev/sdb: 7.5 GiB, 8036285952 bytes, 15695871 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0199340a
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 15695870 15693823 7.5G c W95 FAT32 (LBA)
如果需要,我准备提供额外的数据。
请看一下我电脑上的 gParted 截图。没有 linux-swap 分区。我猜这是在 AOMEI 分区助手进行缩小处理后发生的。
我能够通过 rEFInd 救援 USB 磁盘启动 Windows 和 Ubuntu。
编辑
哎呀,我发现了一个愚蠢的错误。通过 AOMEI 缩小后,我愚蠢地将 EFI 系统分区从 FAT32 转换为 NTFS(使用 AOMEI)。我又把它转换回来了。现在我可以正常启动 Windows,但无法启动 Ubuntu,甚至无法使用 rEFInd 救援磁盘。现在,这可能是因为我的 linux-swap 分区损坏了,但我不确定。
我应该期待任何帮助吗?
答案1
您能打开 Nautilus 吗?如果能,您能在“其他位置”选项卡上看到 Windows 10 驱动器吗?如果您能看到这些驱动器,请务必在尝试冒险操作之前备份这些驱动器上的所有重要数据。
此外,如果您有 Windows 10 启动盘,请尝试“修复”选项,看看是否有帮助。
可能性很小,但请确保您启动的是 Windows 10 而不是 Ubuntu。您可能尝试启动 Ubuntu,但会遇到“未找到启动设备”的情况,因为 Ubuntu 分区已格式化。
答案2
您可以尝试制作一个重新查找救援磁盘并使用它来启动 Windows,然后使用 Windows 的启动修复来解决问题。
- 使用从以下位置下载的 refind iso 创建 refind 救援 usb这一页。
- 下载 CD 映像并使用另一台运行 Windows 的 PC 上的 rufus 将其刻录到 USB。
- 使用刚刚创建的 USB 启动。您将看到类似以下内容的屏幕这Windows 为首选。其他选项包括EFI 系统分区中的 Ubuntu 文件
mmx64.efi
夹grubx64.efi
。两者都有 Ubuntu 图标。选项中还提供了 UEFI-shell。 - 选择 Windows 并按回车键。Windows 应该会启动。
一旦 Windows 启动并运行良好,请按照以下步骤操作:
- 以管理员身份运行 cmd。
键入以下命令:
cd s: cd EFI\ dir
这将显示 EFI 系统分区中 EFI 文件夹的内容。从这里删除 ubuntu 文件夹,并将 Windows 启动管理器设置为启动 Windows 本身。为此,请输入以下命令:
rmdir /S ubuntu
y
按下确认删除 ubuntu 文件夹。
- 现在输入
bcdedit /set "{bootmgr}" path \EFI\Microsoft\Boot\bootmgfw.efi
- 如果 Windows 启动管理器被更改,这将使其恢复为默认值。现在运行启动修复以确保一切正确。
- 从您的电脑上移除重新查找 USB。
- 打开设置。 去安全和更新 > 恢复
- 点击重新开始以下高级启动。
- 进入高级启动选项后,转到高级选项并选择启动修复。这应该可以修复您遇到的所有启动问题,之后您应该能够正常启动 Windows。
如果你无法使用重新查找 USB 磁盘启动 Windows,请尝试以下步骤。
如果您无法使用 refind usb 驱动器启动 Windows,则使用 refind usb 驱动器转到 efi shell,并esc在 shell 启动时按跳过启动脚本。然后,键入bcfg boot dump
以显示固件中的所有 efi 条目。查看条目并记下它们的编号。通过键入从此处删除任何与 Ubuntu 相关的条目bcfg boot rm XX
。
在 处输入条目编号XX
。请勿删除从 USB 或 CD 驱动器启动的默认条目。
键入bcfg boot dump
以再次查看值并键入exit
以退出 shell。
从重新查找菜单关闭电脑,然后从电脑中移除重新查找 USB。
重新启动电脑进行检查。问题现在应该已经解决了。
写答案需要花费很多时间,所以请告诉我是否对你有帮助。即使没有用也请告诉我。这将有助于我了解我是否做错了。