语境
HP Pavilion 15 笔记本电脑,当我购买时预装了 Windows 8。昨天我对硬盘进行了分区,并安装了全新的 Debian 8,一切正常,如下表:
root@debian:/# fdisk -l
...
Device Start End Sectors Size Type
/dev/sda1 2048 821247 819200 400M Windows recovery environ
/dev/sda2 821248 1353727 532480 260M EFI System
/dev/sda3 1353728 1615871 262144 128M Microsoft reserved
/dev/sda4 1615872 731095039 729479168 347,9G Microsoft basic data
/dev/sda5 1425111040 1465147391 40036352 19,1G Microsoft basic data
/dev/sda6 731095040 1419251711 688156672 328,1G Linux filesystem
/dev/sda7 1419251712 1425108991 5857280 2,8G Linux swap
....
问题
当我按下电源按钮时,它会启动 Windows 8 而不是 grub,也不让我选择操作系统。
更多数据
我的系统启动规格:
- 快速启动 -> 禁用
- 安全启动 -> 禁用
- 传统启动 -> 禁用
- EFI启动->启用
所以我无法选择要启动的操作系统,因为它会自动启动 Win 8,但是如果我按 F9 按钮并进入 BIOS 的“启动顺序”,则会显示以下内容:
Boot Option Menu:
- OS boot Manager -> if pressed starts Windows 8
- debian -> if pressed starts Grub (that's what i want)
- Boot from EFI File -> it starts the navigation of a folder that let you choose the .efi file
- Notebook Hard Drive -> I don't remember but I think starts Windows 8
所以这里发生了奇怪的事情......看看我的 efibootmgr:
root@debian:~# efibootmgr
BootCurrent: 003D
Timeout: 0 seconds
BootOrder: 0002,3002,0003,2001,2002,2003
Boot0002* Windows Boot Manager
Boot0003* debian
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3002* Internal Hard Disk or Solid State Disk
如果我尝试使用以下命令更改运行顺序: efibootmgr -o 0003,0002
这些更改将被忽略,Windows 8 仍会启动而不提供选择。
在这链接 有人说制造商硬编码了/EFI/Windows/Boot
之前检查过的事实/EFI/debian
,因此这可能是一个问题,因为 efi 总是首先查找 Windows。
因此,我将我的/dev/sda2
(EFI 系统)安装到一个/target
文件夹中以查看发生了什么,如下所示:
root@debian:/target# ls
boot BOOTSECT.BAK EFI
root@debian:/target/EFI# ls
Boot debian HP Microsoft
root@debian:/target/EFI# ls debian
grubx64.efi
root@debian:/target/EFI# ls Microsoft
Boot
root@debian:/target/EFI# ls Microsoft/Boot/
BCD boot.stl es-ES ko-KR qps-ploc
BCD.LOG bootx64.efi et-EE lt-LT Resources
BCD.LOG1 bootx64.efi.grb lv-LV ro-RO
BCD.LOG2 Fonts memtest.efi ru-RU
bg-BG en-US <otherlanguages>
bkpbootmgfw.efi
bootmgfw.efi
bootmgr.efi
BOOTSTAT.DAT
在这链接某人解决了移动并将其重命名为此/EFI/debian/grubx64.efi
的问题/EFI/Microsoft/Boot/bootmgfw.efi
但我害怕:
- 此操作后我可以恢复 Windows 吗?
- 安全吗?
- 有人可以向我解释一下这个问题吗?并告诉我解决办法?
谢谢!
答案1
看这里 https://forums.linuxmint.com/viewtopic.php?f=46&t=296423&p=1648791#p1648791
并且有一个 Ubuntu 论坛的链接
...“操作系统启动管理器”经过硬编码以加载 Microsoft EFI 文件,并且始终在任何其他本地 EFI 文件之前运行。 ...
答案2
我解决了,问题如描述的那样这里,我按照所有步骤解决了。