第一次在这里发帖寻求帮助。
所以星期五晚上我在玩 GParted 时不小心删除了几个分区。其中一个是未命名的。完成此操作后,我重新启动,然后看到“重新启动并选择正确的启动设备”。
知道自己搞砸了之后,我查看了问题所在,得出结论:我破坏了基本上包含引导加载程序的 EFI 分区。修复它的建议方法之一是使用安装磁盘的 Windows 启动修复选项。今天早上我尝试了这个选项,它成功了!我现在可以启动 Windows 了。
完成上述操作后,我启动了 Live CD,并尝试通过以下网址的 Boot Repair 指南重新安装 GRUB2:https://help.ubuntu.com/community/Boot-Repair 我的问题就是从这里开始的。 我似乎无法让 GRUB 显示为我的默认引导加载程序。 以下是来自 pastebin 的日志:http://paste.ubuntu.com/8345872/
我按照另一个指南操作,该指南说我需要在 Windows 中使用以下命令指向引导加载程序
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
但即使这样似乎也不起作用,因为我看到了以下内容:
C:\WINDOWS\system32>bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
The parameter is incorrect.
单独运行 bcdedit 将返回以下内容:
C:\WINDOWS\system32>bcdedit
Windows Boot Manager
--------------------
identifier {bootmgr}
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale en-US
inherit {globalsettings}
integrityservices Enable
default {current}
resumeobject {cbbe29da-23e7-11e4-9d02-bbb0e4fcb58b}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \WINDOWS\system32\winload.efi
description Windows 8.1
locale en-US
inherit {bootloadersettings}
recoverysequence {cbbe29d8-23e7-11e4-9d02-bbb0e4fcb58b}
integrityservices Enable
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {cbbe29da-23e7-11e4-9d02-bbb0e4fcb58b}
nx OptIn
bootmenupolicy Standard
The parameter is incorrect.
C:\WINDOWS\system32>
我不知道如何解决这个问题,但更重要的是,我如何才能将 GRUB2 作为我的引导加载程序,以便我可以进入 Ubuntu 分区。任何帮助都值得感激。感谢您的时间。
附加信息
运行命令 efibootmgr -v 得到以下结果,
BootCurrent: 0005
Timeout: 1 seconds
BootOrder: 0004,2003,2001,2002
Boot0000* Windows Boot Manager HD(4,96800,32000,d5769c5b-3c38-11e4-9237-c832b0e56206)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...\................
Boot0001* UEFI: Network Card ACPI(a0341d0,0)PCI(1c,3)PCI(0,0)MAC(202564958e96,0)IPv4(0.0.0.0:0<->0.0.0.0:0,0, 0..BO
Boot0002* UEFI: Network Card ACPI(a0341d0,0)PCI(1c,3)PCI(0,0)MAC(202564958e96,0)030d3c000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000..BO
Boot0003* UEFI: M4-CT256M4SSD2 ACPI(a0341d0,0)PCI(1f,2)03120a000400ffff0000HD(1,96800,32000,d5769c5b-3c38-11e4-9237-c832b0e56206)..BO
Boot0004* ubuntu HD(1,96800,32000,d5769c5b-3c38-11e4-9237-c832b0e56206)File(\EFI\ubuntu\grubx64.efi)
Boot0005* UEFI: TSSTcorp CDDVDW SU-208FB ACPI(a0341d0,0)PCI(1f,2)03120a000500ffff0000CD-ROM(1,76991,1240)..BO
Boot2001* EFI USB Device RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network RC
FDisk 返回:
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sda: 256.1 GB, 256060514304 bytes
255 heads, 63 sectors/track, 31130 cylinders, total 500118192 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
Disk identifier: 0xd4a6f69c
Device Boot Start End Blocks Id System
/dev/sda1 1 500118191 250059095+ ee GPT
我运行了 GDisk,它返回了以下内容:
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 500118192 sectors, 238.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 5657A54D-73E9-4B33-8700-A8E287822B16
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 500118158
Partitions will be aligned on 2048-sector boundaries
Total free space is 879213 sectors (429.3 MiB)
Number Start (sector) End (sector) Size Code Name
1 616448 821247 100.0 MiB EF00
2 1083392 395257855 188.0 GiB 0700 Basic data partition
3 395257856 500117503 50.0 GiB 8300
第三个分区是安装 Ubuntu 的位置。100MB 分区是 Windows 启动修复创建的 EFI 分区,第二个分区是 Windows 8.1 分区。
答案1
测试一下:
启动 DVD/Usb Ubuntu 64 位
打开一个终端。
运行:
sudo -i
mount /dev/sda3 /mnt
mount /dev/sda1 /mnt/boot/efi
mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
modprobe efivars
chroot /mnt
apt-get install --reinstall grub-efi-amd64
update-grub
umount /mnt/boot/efi
umount /mnt
reboot
答案2
应该可以修复 GRUB,但我建议尝试重新索引因为它非常容易使用。
重新索引自动地在内部和外部驱动器上查找操作系统,并且根本不需要配置(但可以针对特殊情况进行配置)。
它可以从 Windows 或实时环境中安装。
从实时环境安装
您应该将 efi 分区挂载为/boot/efi
。为此,请运行:
sudo mkdir -p /boot/efi
sudo mount /dev/sdXN /boot/efi
您需要输入正确的设备号(而不是)X
和正确的分区号(而不是)N
。之后,您可以添加 PPA 并下载 DEB 文件,该文件将在安装过程中自动将 rEFInd 复制到正确的位置。
sudo apt-add-repository ppa:rodsmith/refind
sudo apt-get update
apt-get install refind
重新启动后,您应该能够选择要运行的操作系统,无需任何进一步的配置。
从 Windows 安装
从 Windows 手动安装需要更长的时间。分步过程如下所述这里。