AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[grub-efi](ubuntu)

Martin Hope
willy nuisance
Asked: 2020-12-15 02:13:52 +0800 CST

我的引导经理大乱

  • 0

我有一个非常复杂的配置。我正在尝试合成:

我有 4 个磁盘(1 个 ssd、2 个 nvme 和 1 个 HDD)和 4 个操作系统(3 个 Win10 和 1 个 ubuntu):

  • Nvme 1 (Win10-1 + Ubuntu 20.04) /dev/nvme0n1
  • 虚拟机 2 (Win10-2) /dev/nvme1n1
  • 硬盘 1(只是数据+交换)/dev/sda
  • SSD 1 (Win10-3) /dev/sdb

电脑是 UEFI。

一开始我没有问题。Grub 显示了我的 4 个启动选项。

但是我不得不重新安装 Win10-1,然后我完全失去了我的 grub。所以我只能通过 Windows 启动管理器在 Win10-1 或 Win10-2 上启动。

我尝试在实时 ubuntu 上修复 Grub 引导,但成功减轻了...这里的实际行为:


Boot 
|_______Grub
        |______*Ubuntu > boots Ubuntu
        |______*Windows Boot manager on /dev/nvme1n1
                |_______Windows Boot Manager GUI
                        |______*Win10-1 > boots Win10-1
                        |______*Win10-2
                                |_______Grub
                                        |______*Ubuntu > Grub rescue
                                        |______*Windows Boot manager on /dev/nvme1n1 > boots Win10-2

所以这对我来说是一团糟,顺便说一句,我失去了在 Win10-3 上启动的能力......

我不知道如何在 MBR 中删除这个凌乱的启动配置并回滚到这个:

Boot 
|_______Grub
        |______*Ubuntu > boots Ubuntu
        |______*Windows Boot manager on /dev/nvme0n1 > boots Win10-1
        |______*Windows Boot manager on /dev/nvme1n1 > boots Win10-2
        |______*Windows Boot manager on /dev/sdb > boots Win10-3

有没有一个神奇的工具来配置这个?

任何帮助/建议将不胜感激。

---编辑 1--- 感谢您的回答 WaterOfDark。

我已经经历了这个过程,但没有运气。

此外,Win3 没什么大不了的,因为我可以使用 EFI 选择来启动它。我在 Nvme1、Nvme2 和 SSD1 上也有 3 个 EFI 分区

也许问题出在那些分区上?也许我可以以某种方式重置 EFI 部分的内容,然后再次运行 update-grub?

我必须承认我对 EFI 的东西不是很放心。

---编辑2---

我确认 Windows 快速启动已禁用

---编辑3---

这是命令的结果:这是结果

willy@Ubuntu:~$ sudo efibootmgr
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002,000A,0000,0008,0006,000B,0007
Boot0000* Windows Boot Manager
Boot0002* ubuntu
Boot0006* UEFI: SAMSUNG SSD 830 Series, Partition 2
Boot0007* UEFI: Sabrent Rocket 4.0 1TB, Partition 1
Boot0008* Windows Boot Manager
Boot000A* ubuntu
Boot000B* UEFI OS
willy@Ubuntu:~$ sudo dmidecode -t0 | grep -Ei "BIOS boot|UEFI"
        BIOS boot specification is supported
        UEFI is supported
dual-boot mbr grub-efi nvme windows-10
  • 2 个回答
  • 232 Views
Martin Hope
Prashanth JC
Asked: 2020-12-08 23:18:41 +0800 CST

Lubuntu 20.10 - 无法注册 EFI 引导条目:不允许操作

  • 1

我正在尝试将 Lubuntu 20.10 与 Windows 7 Ultimate 一起安装。用 rufus 创建了一个可启动的 USB 并毫无问题地加载了 Lubuntu。然后开始安装并选择手动分区选项进行安装。分区前的分区如下: 分区前

然后我使用空闲空间创建了新分区,如下所示: 在分区

安装总结如下: 概括

安装引导加载程序时,它显示如下错误: 在此处输入图像描述

在 BIOS 中禁用“安全启动”并使用“替换分区”选项再次尝试安装。安装失败,出现以下错误: 在此处输入图像描述

当我尝试使用“手动分区”方法安装时,它显示以下警报。忽略并继续。Lubuntu 安装成功,但无法启动。每次 Windows 7 直接启动而不显示启动 Lubuntu 的选项。 在此处输入图像描述

已经尝试了很多次,到现在都没有成功。我对 Linux 完全陌生,对命令行故障排除技术知之甚少。请帮我完成 Lubuntu 安装,没有错误。

提前致谢 :)

boot dual-boot partitioning lubuntu grub-efi
  • 2 个回答
  • 1634 Views
Martin Hope
pip1726
Asked: 2020-12-02 23:09:06 +0800 CST

grub 安装错误。未能注册 EFI 引导条目:不允许操作。mount: /var/lib/grub/esp: 挂载点不存在

  • 3

grub-install 无法重新安装 grub:

Installing for x86_64-efi platform.
grub-install: warning: Internal error.
grub-install: error: failed to register the EFI boot entry: Operation not permitted.

我注意到在执行升级时尝试升级包 grub-efi-amd64-signed。这给出了更多信息的错误消息:

Installing grub to /boot/efi.
Installing for x86_64-efi platform.
grub-install: warning: Internal error.
grub-install: error: failed to register the EFI boot entry: Operation not permitted.
mount: /var/lib/grub/esp: mount point does not exist.

系统正在尝试在 /var/lib/grub/esp 上查找 EFI 分区

这很奇怪,因为我的 fstab 看起来是正确的,

/dev/sda7 有引导标志,/dev/sda2 有 esp 标志。我不知道为什么 grub-install 去 /var/lib 试图找到 efi 分区。即使我明确地将目录传递给 grub-install,错误仍然存​​在。

grub-install --efi-directory=/boot/efi/ --boot-directory=/boot/

是的,我尝试运行引导修复。得到以下信息:https ://paste.ubuntu.com/p/THG9p4YQgQ/

boot dual-boot partitioning grub-efi
  • 1 个回答
  • 8415 Views
Martin Hope
Chris C
Asked: 2020-11-26 09:10:15 +0800 CST

efibootmgr - 将 Win10 从一个驱动器移动到另一个驱动器,在不同驱动器上使用 EFI

  • 0

我在一个驱动器 (m.2) 上运行 Ubuntu 20.04,在另一个驱动器 (3.5" SSD) 上运行 Win10。我最近在我的系统中添加了另一个 m.2 驱动器并将我的 Win10 系统克隆到它上面。所以这就是我的驱动器的样子现在,其中 sda1 和 nvme1n1p1 是克隆:

root@cantankerous:~# lsblk -f

NAME                 FSTYPE      LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINT
sda                                                                                          
└─sda1               ntfs              9638B89D38B87E35                                      
nvme1n1                                                                                      
└─nvme1n1p1          ntfs              9638B89D38B87E35                                      
nvme0n1                                                                                      
├─nvme0n1p1          vfat              23FD-2B75                               478.1M     6% /boot/efi
└─nvme0n1p2          LVM2_member       cKt344-wOPa-y34D-j0Wg-y3wq-ZlFz-fIGpnr                
  ├─vgkubuntu-root   ext4              27945eb2-45c3-48da-b887-6391111416e3    328.4G    23% /
  └─vgkubuntu-swap_1 swap              9bdb7f2f-ac7b-4322-ae8e-38c870a190cc                  [SWAP]

我现在想摆脱 /dev/sda 。

我相信我接下来需要做的是使用efibootmgr来修改我的可启动驱动器。现在我的 EFI 文件位于 Ubuntu 所在的 nvme0n1 驱动器上。这是efibootmgr的输出:

root@cantankerous:~# efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0002,0008,0001
Boot0000* ubuntu        HD(1,GPT,9ab61c6d-62f6-474f-99c4-64eae4e5b595,0x800,0x100000)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot0001* Windows Boot Manager  HD(1,GPT,9ab61c6d-62f6-474f-99c4-64eae4e5b595,0x800,0x100000)/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.}....................
Boot0002* Hard Drive    BBS(HD,,0x0)..GO..NO........q.S.a.m.s.u.n.g. .S.S.D. .9.7.0. .E.V.O. .5.0.0.G.B....................A...........................%8Z.........4..Gd-.;.A..MQ..L.S.4.6.6.N.X.0.K.A.6.2.1.5.9.H........BO..NO........u.S.H.G.P.3.1.-.5.0.0.G.M.-.2....................A.......................................8..Gd-.;.A..MQ..L.C.S.0.9.N.5.2.4.9.1.0.2.0.9.G.3.K........BO..NO........u.S.a.m.s.u.n.g. .S.S.D. .8.5.0. .E.V.O. .2.5.0.G.B....................A.................................>..Gd-.;.A..MQ..L.2.S.5.R.X.N.H.A.0.3.4.9.1.2. .Z. . . . ........BO
Boot0008* Windows m.2   HD(1,GPT,2aba441a-2647-48c4-868c-b4ca31d4f5a3,0x800,0x3a385800)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)

我尝试使用efibootmgr创建一个新的可启动条目,但我不知道该怎么做是指定,虽然 EFI 映像位于“nvme0”上,但我需要它启动到“nvme1”。我看到这是通过 /dev/sda 使用“bcdobject=([uuid])”完成的,但我找不到任何关于如何完成的信息。

那就是,当然,假设我在正确的轨道上!

完成后,我假设os-probe将选择新驱动器,并且可以将其与grub-mkconfig集成。

谢谢你的帮助!

boot dual-boot uefi grub-efi
  • 1 个回答
  • 465 Views
Martin Hope
digrouz
Asked: 2020-11-25 08:24:06 +0800 CST

grub-install 在 ubuntu 20.04.1 上失败

  • 5

今天我确实更新了最初安装在 ZFS 上的 Ubuntu 20.04 Root之后的系统。更新时,我看到 grub 有一个更新,它无法运行包含的 grub-install。

所以我决定从指南中重播 grub 安装:

grub-install --target=x86_64-efi --efi-directory=/boot/efi \
    --bootloader-id=ubuntu --recheck --no-floppy

cp -a /boot/efi/EFI /boot/efi2
grub-install --target=x86_64-efi --efi-directory=/boot/efi2 \
    --bootloader-id=ubuntu-2 --recheck --no-floppy

(我在镜子上)

这也失败了。我仍然可以成功重启我的系统,但我猜它仍然运行旧的 grub 二进制文件。

我是唯一一个面临这个问题的人吗?它的发病率是多少?

这里还有一些信息:

 dpkg -l | grep grub
ii  grub-common                          2.04-1ubuntu26.7                      amd64        GRand Unified Bootloader (common files)
ii  grub-efi-amd64                       2.04-1ubuntu26.7                      amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 version)
ii  grub-efi-amd64-bin                   2.04-1ubuntu26.7                      amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 modules)
ii  grub-efi-amd64-signed                1.142.9+2.04-1ubuntu26.7              amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 version, signed)
ii  grub2-common                         2.04-1ubuntu26.7                      amd64        GRand Unified Bootloader (common files for version 2)

跑步 :

grub-install --target=x86_64-efi --efi-directory=/boot/efi \ --bootloader-id=ubuntu --recheck --no-floppy -vv
...
grub-install: info: writing 656 bytes of a fixup block starting at 0xe000.
grub-install: info: adding a relocation entry for 0xf010.
grub-install: info: adding a relocation entry for 0xf018.
grub-install: info: adding a relocation entry for 0xf028.
grub-install: info: adding a relocation entry for 0xf030.
grub-install: info: adding a relocation entry for 0xf040.
grub-install: info: adding a relocation entry for 0xf048.
grub-install: info: adding 393 padding fixup entries.
grub-install: info: writing 808 bytes of a fixup block starting at 0xf000.
grub-install: info: reading /usr/lib/grub/x86_64-efi/crypto.mod.
grub-install: info: reading /usr/lib/grub/x86_64-efi/gcry_crc.mod.
grub-install: info: reading /usr/lib/grub/x86_64-efi/gzio.mod.
grub-install: info: reading /usr/lib/grub/x86_64-efi/zfs.mod.
grub-install: info: reading /usr/lib/grub/x86_64-efi/part_gpt.mod.
grub-install: info: reading /usr/lib/grub/x86_64-efi/search_fs_uuid.mod.
grub-install: info: reading /boot/grub/x86_64-efi/load.cfg.
grub-install: info: kernel_img=0x556fae524f00, kernel_size=0x1a000.
grub-install: info: the core size is 0x31b40.
grub-install: info: writing 0x34000 bytes.
grub-install: info: copying `/usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed' -> `/boot/efi2/EFI/ubuntu-2/grubx64.efi'.
grub-install: info: copying `/usr/lib/shim/shimx64.efi.signed' -> `/boot/efi2/EFI/ubuntu-2/shimx64.efi'.
grub-install: info: copying `/usr/lib/shim/mmx64.efi' -> `/boot/efi2/EFI/ubuntu-2/mmx64.efi'.
grub-install: info: copying `/usr/lib/shim/BOOTX64.CSV' -> `/boot/efi2/EFI/ubuntu-2/BOOTX64.CSV'.
grub-install: info: copying `/boot/grub/x86_64-efi/load.cfg' -> `/boot/efi2/EFI/ubuntu-2/grub.cfg'.
grub-install: info: copying `/usr/lib/shim/shimx64.efi.signed' -> `/boot/efi2/EFI/BOOT/BOOTX64.EFI'.
grub-install: info: copying `/usr/lib/shim/fbx64.efi' -> `/boot/efi2/EFI/BOOT/fbx64.efi'.
grub-install: info: copying `/usr/lib/shim/mmx64.efi' -> `/boot/efi2/EFI/BOOT/mmx64.efi'.
grub-install: info: Registering with EFI: distributor = `ubuntu-2', path = `\EFI\ubuntu-2\shimx64.efi', ESP at hostdisk//dev/sdl,gpt1.
grub-install: warning: Internal error.
grub-install: error: failed to register the EFI boot entry: Operation not permitted.

我该如何解决 ?

grub2 zfs grub-efi 20.04
  • 1 个回答
  • 3630 Views
Martin Hope
N Jensen
Asked: 2020-11-25 00:40:26 +0800 CST

由于 grub-efi-amd64-signed unmet 依赖,无法更新软件

  • 6

我正在使用 Ubuntu 20.10。我大约 2 周前进行了全新安装。直到今天,我一直在定期更新我的软件,没有任何问题。

我运行了软件更新程序并收到此错误:

Transaction failed: Package dependencies cannot be resolved
 The following packages have unmet dependencies:

grub-efi-amd64-signed: 

我试图寻找解决方案,但找不到。有谁知道这个问题和解决方法?

谢谢!

软件更新程序窗口

软件更新程序中的错误消息

dependencies update-manager grub-efi
  • 1 个回答
  • 1345 Views
Martin Hope
user514014
Asked: 2020-11-03 19:10:44 +0800 CST

引导修复给出 ESP 分区错误

  • 1

最近,GRUB 引导加载程序在我的联想 Thinkpad X1 Carbon 上消失了。我通常双启动 Windows 10 和 Ubuntu,但现在它直接进入 Windows。我试图通过重新启动到 Ubuntu live-USB 并从终端启动引导修复来修复它。引导修复给出以下错误消息:“请创建一个 ESP 分区(FAT32,100MB~250MB,磁盘启动,引导标志)。这可以通过 Gparted 等工具执行。然后再试一次。”

这是引导修复的日志:https ://paste.ubuntu.com/p/yShmygxP4r/

我尝试了Unable to repair boot with Windows 8 和 Ubuntu 13.04 with gparted 的解决方案。但是,gparted 显示我在 /dev/nvme0n1p1 上有一个 260 MiB EFI 系统分区,其系统是 fat32 并且有一个引导标志。引导修复貌似无法识别这个分区。我尝试按照链接线程中的建议创建一个新的 EFI 分区。但这需要从附近的 Windows 分区前面腾出空间来腾出空间。我无法在 gparted 中执行此操作(不会让我释放空间),所以我然后重新启动回 Windows。但在 Windows 上,我无法从三个不同的分区管理器(Windows 10 磁盘管理、迷你工具分区向导、EaseUS Partition Master Free)释放 Windows 分区前面的空间。

我可以做些什么来修复 GRUB 菜单并重新启动进入我的 Ubuntu 分区的能力?

boot bootloader grub-efi boot-repair
  • 1 个回答
  • 898 Views
Martin Hope
Sina Bizbone
Asked: 2020-10-28 01:51:01 +0800 CST

热插拔 SSD 上的 Ubuntu 20.04 Grub/文件系统问题

  • 1

设置:

  • 具有热插拔单 SSD 的多台离线计算机(包含操作系统和数据的单 SSD)
  • 以 UEFI 模式安装的 Ubuntu 20.04.1(单操作系统,整个磁盘)

问题:迁移到 Ubuntu 20.04 LTS 后,在完全关闭 PC、取出 SSD(包含操作系统)并将其移动到另一台(完全相同的硬件)PC 后,我面临 grub 救援已成为常见事件。这在 16.04 LTS(非 UEFI)中没有发生,我可以正常更换 SSD。

症状:

  • 移动 SSD 后(100% 确定正确关闭),我在原始 PC 和新 PC 中都面临 grub 窗口(处于救援模式)(即操作系统已损坏)
  • 即使在手动模式下设置 grub (set root=(hd0,gpt2); linux /boot/vm...) 并调用“boot”,也会将我带到行首带有 (initramfs) 的命令行环境它建议在根分区上运行 fsck 因为校验和是错误的!
  • fsck 几乎使所有扇区无效,并且分区变得不可用。

建议:

  • 我唯一能想到的(虽然不一定是真的)是在 Ubuntu 20.04 中将 LZ4 用于 initramfs。或者它可能是 UEFI 模式的 grub 问题。由于那里的大多数人通常不会在不同的 PC 之间移动他们的操作系统磁盘,这可能是一个罕见的问题。

笔记:

  • 我不会对这些磁盘做任何奇怪的事情。由于我的所有 Windows 设置(以及以前的 Ubuntu 16.04 LTS 设置)在这些替换过程中都可以正常工作。
boot grub-efi 20.04
  • 1 个回答
  • 310 Views
Martin Hope
peter885
Asked: 2020-10-24 03:55:11 +0800 CST

无法使用 Ubuntu 20.04 从 U 盘启动

  • 0

我购买了带有 Windows 10 的 Acer Aspire 台式机。

我想在 Windows 10 旁边安装 Ubuntu 20.04,并通过 USB 连接在外部 SSD 上建立双启动。

然后我用 Ubuntu ISO 文件用 Rufus 制作了一个可启动的 USB 记忆棒。(我之前在另一个桌面上做过很多次)。在 BIOS 设置启动选项中,我无法选择“从 USB 启动”。但我可以选择“可移动设备”并将其放在上面。

我禁用了安全启动和快速启动。然后我关闭了电脑并再次启动它。没有显示带有“尝试”或“安装”选项的菜单。但是桌面启动了 Windows 10。我再次关闭桌面并使用功能键启动F12。

在那里我找到了我的 Windows 启动管理器和 U 盘。我选择了 U 盘(上面带有 Ubuntu 20,04 ISO),并在外部 SSD 上创建了我的 Ubuntu 分区。Windows10 分区不存在(可见)。当我选择继续时,系统要求我创建一个 EFI 分区。

安装完成后,我再次启动桌面。机器直接启动进入 Ubuntu。没有 grub 菜单。当我再次使用功能键启动桌面时F12,我可以在 Windows 启动管理器或 Ubuntu 之间进行选择。Ubuntu 是第一个启动选项。

所以,我的问题是:

  1. 为什么我无法在 BIOS 菜单中从 USB 启动
  2. 为什么我(以及 Gparted)看不到我的 Windows 分区?
grub2 dual-boot usb bootloader grub-efi
  • 1 个回答
  • 127 Views
Martin Hope
MikeBeaton
Asked: 2020-10-17 15:43:13 +0800 CST

如何阻止 Ubuntu 接管 Mac 上的默认操作系统,或者至少在 Ubuntu 中将 macOS 重置为默认操作系统?

  • 1

令人讨厌的是,当您在 Mac 上启动 Ubuntu 时,它会接管并成为默认操作系统,即使其他东西(例如 macOS 或 Boot Camp Windows)以前是默认操作系统。

我发现恢复 macOS 作为默认启动操作系统的唯一方法是完全启动回 macOS(在启动时使用 Alt/Option 来选择它),然后使用“系统偏好设置/启动”手动将 macOS 设置回默认值磁盘',这似乎有点过分。

我实际上要发布我自己制定的命令行答案。

但我也真的很高兴听到并投票赞成任何其他命令行或基于 GUI 的答案,这些答案可以将 macOS 重新设置为 Ubuntu 中的默认值。(或者可以首先阻止 Ubuntu 作为默认设置!)

grub2 dual-boot mac grub-efi
  • 2 个回答
  • 1017 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve