use*_*880 13 dual-boot vaio uefi boot-repair
我的电脑是索尼 Vaio 笔记本。我将 Ubuntu 和 Win 8 与双启动一起使用,但 Windows 以某种方式设法删除了在启动时选择操作系统的菜单。我认为BIOS是UEFI。安全启动已被禁用,启动修复不知何故失败。
我怎样才能解决这个问题?
old*_*red 21
索尼、惠普和许多笔记本电脑供应商被硬编码为只能启动 Windows。
有几个解决方案建议您将 grubgrubx64.efi
或shimx64.efi
文件移动到 Windows 之上/EFI/windows/bootmgfw.efi
。但是,不建议这样做,因为 Windows 更新将恢复bootmgfw.efi
并且您将返回到仅引导窗口。
相反,我建议重命名备用 /EFI/Boot/bootx64.efi 和引导硬盘条目或使用 rEFInd。
确保在进行更改之前备份整个 EFI 分区。
您有多种选择:
I.将 grub 文件grubx64.efi
或shim64.efi
(为了安全启动)移动并重命名到此文件夹/文件/EFI/BOOT/BOOTX64.EFI
重命名 /efi/boot/bootx64.efi,将 shim 或 grub 复制到 /efi/boot 并命名为 bootx64.efi 然后启动硬盘条目。新版本的引导修复自动使用高级选项中的“使用标准 EFI 文件”执行此操作。它还备份当前的 bootx64.efi,它可能只是 Windows .efi 启动文件的副本。
从实时安装程序将 efi 分区挂载到硬盘上:挂载 efi 分区。使用引导标志检查哪个分区是 FAT32。通常是 sda1 或 sda2 但各不相同。
sudo mount /dev/sda1 /mnt
Run Code Online (Sandbox Code Playgroud)
只有在不存在的情况下,
sudo mkdir /mnt/EFI/Boot
sudo cp /mnt/EFI/ubuntu/* /mnt/EFI/Boot
Run Code Online (Sandbox Code Playgroud)
如果新建文件夹,bootx64.efi 将不存在,跳过此命令
sudo mv /mnt/EFI/Boot/bootx64.efi /mnt/EFI/Boot/bootx64.efi.backup
Run Code Online (Sandbox Code Playgroud)
使 grub 成为 UEFI 中的硬盘启动项。如果不存在,可能还需要使用 efibootmgr 更新 UEFI。
sudo mv /mnt/EFI/Boot/grubx64.efi /mnt/EFI/Boot/bootx64.efi
Run Code Online (Sandbox Code Playgroud)
如果需要,添加一个新的 UEFI 硬盘启动项:另见
man efibootmgr
Run Code Online (Sandbox Code Playgroud)
如果 ESP 是 sda 或默认驱动器和分区条目:
sudo efibootmgr -c -L "UEFI Hard drive" -l "\EFI\Boot\bootx64.efi"
Run Code Online (Sandbox Code Playgroud)
如果 ESP 不是 sda1,sdX 是驱动器,Y 是 efi 分区,还有 NVMe 驱动器:
sudo efibootmgr -c -g -w -L "UEFI hard drive" -l '\EFI\Boot\bootx64.efi' -d /dev/sdX -p Y
sudo efibootmgr -c -L "UEFI hard drive" -l "\EFI\Boot\bootx64.efi" -d /dev/nvme0n1 -p 2
Run Code Online (Sandbox Code Playgroud)(这和之前在II 中使用 Boot-Repair 所做的相同。现在不推荐:重命名 /efi/Microsoft/Boot/bootmgfw.efi 并将 grub 或 shim 复制到 /efi/Microsoft/Boot 并命名为 bootmgfw.efi 然后boot Windows entry to boot to grub menu. 你必须手动添加一个 grub 菜单条目来引导重命名的 Windows efi 文件。Grub2 的 os-prober 条目引导 bootmgfw.efi 条目,它现在只是 grub,所以它不会工作。
手动移动 efi 文件的用户请参阅帖子 #6。
http://ubuntuforums.org/showthread.php?t=2101840
http://ubuntuforums.org/showthread.php?t=2219452
http://ubuntuforums.org/showthread.php?t=2221498&p=13012109#post13012109
二、如果您使用较旧的副本为“有问题的 UEFI”运行引导修复修复程序,最好将其撤消。然后进行上面的更改以使用 bootx64.efi 要撤消并将文件重命名为原始名称,您只需要勾选 Boot-Repair 的“Restore EFI backups”选项。
任何手动或使用引导修复的重命名都需要在 Windows 更新后重做,因为它会恢复 Windows 文件。
三、编辑 Windows BCD,这是引导修复重命名的一种替代方法,可以使 shim 具有 Windows 名称。有些系统可以更好地从 Windows 内部注册 grub/shim - 对于那些将 Windows 重置为默认值的系统。
Windows 8.1 Ubuntu 13.10 双启动时 Grub 未显示
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
Run Code Online (Sandbox Code Playgroud)
https://coderwall.com/p/vfyqkg
四、如果描述必须是 Windows,则更改 UEFI 描述。这真的只适用于那些只有 Ubuntu 并且根本没有安装 Windows 的人。
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\ubuntu\shimx64.efi"
Run Code Online (Sandbox Code Playgroud)
还原或新的 Windows UEFI 条目 - 假设默认 sda1 add -p 2 如果 sda2(请参阅 man efibootmgr -d drive & -p partition options):
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi"
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi" -d /dev/nvme0n1 -p 1
Run Code Online (Sandbox Code Playgroud)
V.有些人安装 rEFInd,这似乎是另一种解决方法,并且有漂亮的启动图标。
http://www.rodsbooks.com/refind/index.html
http://www.rodsbooks.com/refind/secureboot.html
PPA 可用于在 Ubuntu 中轻松安装
http://www.rodsbooks.com/refind/getting.html
六、恢复 Ubuntu UEFI 条目 sdX 是驱动器,Y 是 efi 分区,例如 sda2
sudo efibootmgr -c -L ubuntu -l "\EFI\ubuntu\shimx64.efi" -d /dev/sda -p 1
sudo efibootmgr -c -L "Ubuntu" -l "\EFI\ubuntu\shimx64.efi" -d /dev/nvme0nX -p Y
Run Code Online (Sandbox Code Playgroud)
七、使用 efibootmgr 更改引导顺序:
八。卸载 UEFI 条目:
卸载 Grub 并使用 Windows 引导加载程序 使用 efibootmgr 更改引导顺序
归档时间: |
|
查看次数: |
21587 次 |
最近记录: |