Ubuntu 14.04在Windows 8.1之前无法启动

我尝试将我的计算机启动到Ubuntu,但我最终不得不从设备菜单中手动选择Ubuntu,即使它应该首先启动。 相反,Windows 8启动就像Ubuntu甚至没有! 当在引导设备菜单中选择Ubuntu时,GRUB可以正常工作。 (我怎么样?)我尝试使用EasyBCD,但不断从Windows启动管理器中获取错误。 并且万一它有所帮助,在安装Ubuntu期间它无法识别Windows 8,我不得不手动resize并进行安装。 我能做什么?

备注:每个人! GRUB完美工作! 这是HP BOOT菜单中的一个错误,因为我以前曾经说过! 请不要在未来为我们提供GRUB编辑方面的答案!

这是我的规格:

PC type: HP 2000-2d49WM Notebook PC

RAM: 4GB

Swap: 2GB

Processor: AMD E-300 Vision 1.3 GHz x2

BIOS Edition: N\A Until further notice

我遇到了另一台惠普笔记本电脑的类似问题。

问题是即使您永久更改EFI启动顺序(例如,使用命令:“efibootmgr -0”),每次启动Windows时都会覆盖您的更改。

要解决这个问题,我必须手动安装rEFInd 。

然后,我找到了默认的EFI引导加载程序(.efi),将其备份并替换为来自rEFInd(重命名)的那个[不要忘记在同一文件夹中复制与rEFInd相关的其他文件夹和文件]。 我不记得哪一个是默认的EFI启动加载程序,我无法检查计算机,因为它是由我的一个客户拥有的。

警告:如果您必须应用这种棘手的解决方法,请确保您之前可以通过启动菜单正常安装rEFInd,以便您可以在出现问题时轻松恢复更改,或者在将来改变主意!!!!!

rEFInd手动安装程序可在此处获得: http ://www.rodsbooks.com/refind/installing.html#linux

有关使用efibootmgr永久更改EFI启动顺序的明显示例(可能无法在您的计算机上运行,​​如上所述,但我强烈建议您先尝试一下),请查看Rod Smith(rEFInd的创建者)的这篇文章) 。

似乎重命名技巧现已完整记录在rEFInd的官方网站上: http ://www.rodsbooks.com/refind/installing.html#naming,http://www.rodsbooks.com/refind/installing 。 HTML#manual_renaming

rEFInd实际上是用户友好的(一旦安装),并允许解决这种糟糕的EFI实现。

一步一步,故障安全的方法

尝试使用efibootmgr更改UEFI引导顺序

  1. 在Ubuntu下,使用以下命令打开终端并安装“efibootmgr”(如果尚未安装):

    sudo apt-get install efibootmgr

  2. 使用以下命令检索EFI引导顺序和条目:

    sudo efibootmgr -v

    笔记:

    BootCurrent:0002(表示用于引导的UEFI引导条目)。

    BootOrder:0002,0003,0001,0000(表示定义了UEFI引导顺序)。

    Boot000x *(表示一个引导条目。后面跟着它的名称,HD和EFI文件。所有引导条目都列在“BootOrder”下面)。

  3. 使用以下命令定义新的引导顺序:

    sudo efibootmgr -o 0001,0002,0000,0003

    在上面的命令中,我认为Ubuntu条目是0001,Windows是0002,恢复是0000,诊断是0003.当然,您可能有更多或更少的条目和/或希望设置不同的顺序。 我建议您从命令“sudo efibootmgr -v”复制“BootOrder”值并根据需要进行调整。 然后检查命令的结果。

  4. 使用步骤2中使用的命令再次检查“BootOrder”。

  5. 正确重新启动计算机并检查系统是否引导新引导顺序的预期(第一个)条目(此处为Ubuntu)。 如果它工作,重新启动并尝试启动Windows(通过UEFI菜单),然后再次重新启动计算机并检查Ubuntu是否仍然默认启动。 如果它按预期工作,你就完成了! EFI实现是正确的,您不需要再做任何事情。 如果没有,请跳转到下一个解决方案。

安装和配置rEFInd

  1. 如果尚未执行,请禁用BIOS中的安全启动function,以避免出现额外的复杂情况;
  2. 在Ubuntu下,从此页面下载rEFInd的二进制ZIP文件: http ://www.rodsbooks.com/refind/getting.html;
  3. 解压缩ZIP存档;
  4. 打开终端并移动到已提取存档文件的文件夹(命令应如下所示: cd ~/Downloads/refind-bin-0.8.1/ );
  5. 按照此处描述的步骤(1到6)进行操作: http : //www.rodsbooks.com/refind/installing.html#linux 。 你的架构很可能是x86-64,所以在第3步使用rm refind_ia32.efi ;
  6. 编辑配置文件(refind.conf)。 只需使用sudo nano ./refind.confsudo -i gedit ./refind.conf 。 我假设当前目录仍然是ESP上的rEFInd目录。 您将对“timeout”(值类似于:1)和“default_selection”(值类似:Ubuntu)参数非常感兴趣,以配置自动启动到Ubuntu。
  7. 重新启动计算机,使用UEFI启动菜单启动rEFInd并检查其配置是否满足您的需求。 如果没有,启动Ubuntu并在ESP的目录中编辑refind.conf并重复此步骤,直到这些设置符合您的所有要求。 请检查您是否可以从rEFInd启动Ubuntu和Windows(更长的超时值可能会有所帮助)。
  8. 确定系统默认使用哪个EFI文件,并在ESP上找到它的文件夹(可能是“EFI / Microsoft / Boot / bootmgfw.efi”或其他内容)。 不要忘记命令sudo efibootmgr -v ,这对获取此信息非常有帮助。
  9. 将ESP上refind文件夹的内容复制到步骤7中标识的默认EFI文件的文件夹中(示例中为“EFI / Microsoft / Boot /”)。 如果您不熟悉命令行,甚至可以使用命令sudo -i nautilus 。 假设ESP安装在/ boot / efi,您可以使用以下命令: sudo cp -r /boot/efi/EFI/refind/* /boot/efi/EFI/Microsoft/Boot/ 。 不要忘记根据需要调整目标路径。
  10. 在“bootmgfw.bak”中重命名默认EFI文件(示例中为“bootmgfw.efi”)( sudo mv bootmgfw.efi bootmgfw.bak ,如果您在正确的文件夹中。您可以使用cd /boot/efi/EFI/Microsoft/Boot/切换到该文件夹​​[我仍然假设ESP安装在“/ boot / efi”,并且默认EFI文件的相对路径是“EFI / Microsoft / Boot /”]);
  11. 将rEFInd EFI文件(“refind_x64.efi”)重命名为默认EFI文件(此处为“bootmgfw.efi”)。 如果您在正确的文件夹中,请使用sudo mv refind_x64.efi bootmgfw.efi
  12. 重新启动计算机,如果一切正常,你就完成了! 如果出现问题,您仍然可以使用UEFI启动菜单启动rEFInd,启动Ubuntu并恢复步骤8到10中所做的更改。

首先从live ubuntu cdLive ubuntu flash driveconnect to internet 。 之后通过ctlr+alt+T转到ctlr+alt+T ,只需使用下面的命令,

 sudo add-apt-repository ppa:yannubuntu/boot-repair sudo sed 's/trusty/saucy/g' -i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list sudo apt-get update sudo apt-get install -y boot-repair && (boot-repair &) 

这实际上修复了启动的任何问题。 如果它仍然不起作用,只需将错误报告留在添加命令部分。 你会发现我已经附加了一个链接,它有screen short and clear instruction 。 如果您还不清楚某些事情,请转到链接。 玩得开心。

参考链接:关注我进一步澄清!

听起来像你已经完成了UEFI安装。 Windows 8.1不会悄悄地让你在它旁边使用Linux。 如果您绝对必须使用Windows启动管理器而不是Ubuntu的UEFI选项,如果您的主板不能接受除Windows启动管理器选项以外的任何其他内容,则需要通过打开带有管理员权限的命令提示符来编辑Windows内的Windows启动管理器并像这样使用bcdedit:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

如果您使用的是安全启动,则需要使用以下命令:

bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi

听起来像你已经完成了UEFI安装。

Windows 8.1不会悄悄地让你在它旁边使用Linux。 如果您绝对必须使用Windows启动管理器而不是Ubuntu的UEFI选项,如果您的主板不能接受除Windows启动管理器选项以外的任何其他内容,则需要通过打开带有管理员权限的命令提示符来编辑Windows内的Windows启动管理器并使用像这样的bcdedit:

 bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi 

这对我来说很好。

在ubuntu中启动。 去终端。 并使用以下命令重新安装grub:

sudo-grub-install / dev / sda

假设ubuntu安装在sda上(最有可能)。 否则将其更改为wright组件。