我的分区如下:
900 MB FAT32(包含 .bat、kernel.sys、bootmgr、bootsect.bak、fdosboot.bin ... 等文件)
70 GB NTFS(Windows 7)(使用启动修复后还包含 bootmgr、kernel.sys、bootsect.bak)
80 GB ext4(Ubuntu)
315 GB NTFS(个人数据)
在错误地删除 ubuntu 后,我遇到了双启动问题,使用启动修复后,我解决了这个问题。之前的 grub 菜单(问题之前)显示 Win7 位于 /dev/sda1 上,这是 FAT32 分区。使用启动修复后,它显示了 Win7 的两个选项。一个在 /dev/sda1 上(回到我遇到的错误),另一个在 /dev/sda2 上(实际的 Win7 安装),它使用 Win7 启动我。
我是否应该认为删除 FAT32 分区是安全的?
我现在不怎么使用 ubuntu,又想卸载它了。您能否建议一个好方法,在删除 Ubuntu 后不弄乱 grub 并返回到 Windows Bootloader?(WinRE bootrec 命令不起作用)
答案1
简短回答:如果它现在运行良好,最好保持原样。
这个问题更多是关于 Windows 启动设置。请查看超级用户的这个答案。
FAT 分区是 EFI 系统分区。即使您的计算机未启用 UEFI 或默认为基于传统 MBR 的启动,Windows 安装磁盘以及 OEM 安装也会创建两个分区:
- 第一个标记为系统分区,其中存储了引导加载程序文件和 EFI 和 MBR 引导的配置
- 第二个分区安装了操作系统(在某些情况下,MBR 和 EFI 有单独的备份启动配置,这就是为什么你可以直接从第二个分区启动,或者通过 chainloader 启动)
您可以删除第一个分区并移动第二个分区以使用可用空间,但 900 MB 不值得为此付出麻烦。您需要通过以下方式将引导加载程序和引导配置重新安装到第二个分区(移动分区时设置将失效)
bootrec /fixboot
或者
bcdboot c:\Windows /l en-gb /s c: /f ALL
命令来自 Windows 安装磁盘。查看上面提到的超级用户答案和GParted 常见问题解答。您可能需要将第二个分区标记为系统或启动分区,以使上述命令起作用。然后您需要再次安装 Grub,一切可能都会恢复正常。如果 Grubos-prober
无法boot-repair
找到您的 Windows 安装或条目配置不正确,您需要撰写自定义条目。
例如,这是我的笔记本电脑的配置,它从 GPT 分区磁盘启动 UEFI Grub,并通过运行 EFI Windows 启动管理器从另一个 MBR 分区磁盘启动 Windows 8:
$ cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 8 (UEFI configuration on system drive)" {
insmod part_msdos
insmod ntfs
insmod search_fs_uuid
insmod chain
set root='hd0,msdos4'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4 2ACC7043CC700B79
else
search --no-floppy --fs-uuid --set=root 2ACC7043CC700B79
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
这真的不值得这么麻烦和冒险。相反,你可以做一个干净、正确的将 Windows 重新安装到一个分区,然后重新安装并配置Grub。