1 HD 1 SSD,在 /sdb 上安装 Ubuntu 后,/sda1 上的 Linux Mint 不在 UEFI/Bios 中,但 sda2 和 sda3 在?如果可以,如何恢复?

1 HD 1 SSD,在 /sdb 上安装 Ubuntu 后,/sda1 上的 Linux Mint 不在 UEFI/Bios 中,但 sda2 和 sda3 在?如果可以,如何恢复?

在我看来,在sdb第一次安装 Linux Mint 之后安装 Ubuntusda应该不会对它产生任何影响,我很失望,因为花了一些时间配置 Linux Mint,我想我可以重新安装,但现在不想让它把 Ubuntu 搞乱sdb,唉。

实际上在 Bios/UEFI 中,它在 SSD 上显示 2 个“Ubuntu”,并且不显示 HD,所以就像我从具有/曾经具有 Linux mint 的 SSD 启动一样,但它启动了具有“Ubuntu”的 HD ....

重申:在启动选项中,我只看到 SSD(/sda)“SATA3_1”(我看到 SATA3_1:SanDisk SDS;ubuntu(SATA3_1:Sandisk SDS)和后一个选项的另一个重复,而对于我安装 Ubuntu 的 HD 则没有任何内容(尽管它启动到 HD),好像 Ubuntu 安装在 /sdb 上,将 MBR 写入 /sda ,这可能吗?

编辑1:

嗯,我现在看到了这个:如何双启动 Ubuntu 和 Linux Mint update-grub在 ubuntu 中没有修复任何问题,所以我想我会尝试启动修复,唉

编辑2:

好吧,那篇帖子大约是在 2011 年发布的,通过 USB 启动并运行启动修复,一键无法修复,并且 pastebin 链接是通用的,没有任何上传,此外,我确实看到了一个选项“将启动标志放在 sda1 sda2 等上,
但是,我害怕使用它,因为我不想修复 Linux Mint 只会破坏 Ubuntu……

编辑3

fdisk -l 
Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 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
Disklabel type: gpt

Device       Start       End   Sectors   Size Type
/dev/sda1     2048   1050623   1048576   512M EFI System
/dev/sda2  1050624   2050047    999424   488M Linux filesystem
/dev/sda3  2050048 234440703 232390656 110.8G Linux filesystem


Disk /dev/sdb: 298.1 GiB, 320072933376 bytes, 625142448 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
Disklabel type: gpt


Device       Start       End   Sectors   Size Type
/dev/sdb1     2048   1050623   1048576   512M EFI System
/dev/sdb2  1050624   2050047    999424   488M Linux filesystem
/dev/sdb3  2050048 625141759 623091712 297.1G Linux filesystem 

启动信息(部分)

============================== 启动信息摘要: =================================

=> /dev/sda 的 MBR 中未安装引导加载程序。=> /dev/sdb 的 MBR 中未安装引导加载程序。=> /dev/sdc 的 MBR 中未安装已知的引导加载程序。

sda1:______________________________________________________________________

File system:       vfat
Boot sector type:  FAT32
Boot sector info:  No errors found in the Boot Parameter Block.
Operating System: 
Boot files:        /EFI/ubuntu/fbx64.efi /EFI/ubuntu/fwupx64.efi
                   /EFI/ubuntu/grubx64.efi /EFI/ubuntu/mmx64.efi
                   /EFI/ubuntu/shimx64.efi

sda2:________________________________________________________________________

File system:       ext2
Boot sector type:  -
Boot sector info:
Operating System: 
Boot files:        /grub/grub.cfg

sda3:______________________________________________________________________

File system:       crypto_LUKS
Boot sector type:  Unknown
Boot sector info:

sdb1:______________________________________________________________________

File system:       vfat
Boot sector type:  FAT32
Boot sector info:  No errors found in the Boot Parameter Block.
Operating System: 
Boot files:       

sdb2:______________________________________________________________________

File system:       ext4
Boot sector type:  -
Boot sector info:
Operating System: 
Boot files:        /grub/grub.cfg

编辑 4:好的,我已阅读您出色且深思熟虑的回复,并且我对您提供的时间和帮助水平印象深刻。谢谢,因此,我的更新是这样的:我放弃了,并将 Linux Mint 重新安装到 SSD /sda ;现在,如果我想将 Ubuntu 安装到 /sdb(就像更改为 Xubuntu 一样),如果我断开 SSD 的连接并将第二个 HD 留在 /sdb 上并将 Xubuntu 安装到它,我还会遇到同样的问题吗?例如,在将 Xubuntu 安装到 /sdb 后,我将 SSD 重新连接到 /sda??

我真的没有时间去弄清楚为什么会出现这种情况,尽管我大体上理解您的意思,我破坏系统的可能性与修复系统的可能性一样大,因为我没有达到您们的调整水平 :);那样的话我就不在 /sdb 上安装基于 Ubuntu 的系统;就像我可以在其上安装 Fedora 一样(事实上我在 /sdb 上安装了 Fedora 但是它有自己的问题,或者也许您可以建议 /sdb 上还有其他系统而不需要我学习 Grub 和 MBR 语言??

不过,现在我猜,我在 UEFI 启动顺序中只能选择多个“ubuntu”,如果我不小心在 /sdb 上重新选择了“ubuntu”,我可能会再次陷入困境……叹息

EDIT 5 oldfred,是的,第一次安装 LMint 有一个加密驱动器。第二次安装 Ubuntu 时,也被加密到 /sdb 上,从那里我几乎不知道你到底在说什么。此时,请参阅我的第 4 次编辑,我已将 LMint 重新安装到 /sda 上,我不确定如何继续,LMint 现在可以正常启动,BIOS 在启动顺序中有两个看起来相同的选项,实际上它有 3 个,2 个表示 ubuntu,1 个只表示 SSD,.....我假设如果我更改为另一个“ubuntu”,它将启动“ubuntu”标准版,并且很可能会弄乱我现在正常、正常运行的 Linux Mint 安装;如果让我选择的话,我现在想将 Xubuntu 重新安装到第二个 HD 上,现在常规 Ubuntu 就在那里,我被告知这次/下次要手动编辑分区并做一些所谓的“并排”的事情,但是,我有点怀疑我是否能正确地做到这一点,我的另一个想法是从 SATA 头中移除 SSD,并将 xubuntu 安装到 sdb 上并让其自动分区,然后将 SSD 重新连接到 /sda,希望我可以启动 sda 或 sdb 并且不会出现任何问题......但是,我又担心会再次破坏 Linux mint,为此我又花了很多时间根据我的需求进行配置......非常欢迎任何进一步的反馈...... :)

答案1

首先,一个广泛的评论:你试图将特定于 BIOS 的启动知识应用于基于 EFI 的计算机。这种做法或多或少保证你最终会犯错误,因为 BIOS 和 EFI 启动过程是非常不同。特别是,你应该停止思考“启动磁盘”,而要用 EFI 术语来思考——在 EFI 下,固件启动一个文件,它位于EFI 系统分区 (ESP)。单个 ESP 可以容纳多个操作系统的引导加载程序。

现在,您的具体问题是由几个相互作用的因素造成的:

  • 不幸的是,由于 Mint 源自 Ubuntu,但 Mint 开发人员认为没有必要区分其 GRUB(Ubuntu/Mint 引导加载程序)版本,因此两个发行版的引导加载程序都尝试放在同一个位置。因此,最近安装的那个将控制引导过程。
  • 虽然你的每个磁盘都有自己的 ESP,但 Ubuntu(以及 Mint)安装程序一个错误这使得它使用它找到的第一个 ESP,即使它不在发行版的主磁盘上,或者您尝试强制它使用其他东西。请单击指向该错误的链接。如果您有 Launchpad 帐户,您可以单击该链接说它影响了您,这将增加该错误的“热度”,并使其更有可能被修复。

由于这一切,你GRUB 安装完毕(在 中/dev/sda1),并且现在通过 Mint 进行控制——但是,如果 GRUB 更新通过 Ubuntu 进行,控制权很可能会转向 Ubuntu。(这就是我所说的“启动政变”——参见我关于这个主题的页面——但额外的变化是两个发行版都试图写入相同的文件。)如果您随后更新 Mint 的 GRUB,控制权将切换回 Mint。

至少部分地分离两个操作系统的引导加载程序:

  1. 在 Mint 中,进行编辑/etc/fstab以便它安装来自 的 ESP而不是来自 到 的/dev/sdbESP 。/dev/sda/boot/efi
  2. 在 Mint 中,卸载 ESP ( sudo umount /boot/efi)。
  3. 在 Mint 中,安装新调整的 ESP(sudo mount -a),并检查以df确保安装了正确的分区。
  4. 在 Mint 中,将 GRUB 重新安装到 ESP(sudo grub-install,可能接着是sudo update-grub)。
  5. 如果您希望 Ubuntu 控制启动过程,请重新启动进入 Ubuntu 并输入sudo grub-install(可能还有sudo update-grub)以赋予它控制权。(或者,您可以输入sudo efibootmgr -v以查看当前的引导加载程序选项,然后使用 调整启动顺序,但您需要根据输出sudo efibootmgr -o #[,#,#...]找出顺序的数字( ) 。这样做需要通过分区 GUID 值识别磁盘。)#efibootmgr -v
  6. 请注意,未来很可能会发生启动政变。

不过,在我看来,GRUB 只能满足您的需求。问题是 GRUB 的启动时操作过于依赖预配置设置。也就是说,GRUB 菜单是由脚本构建的update-grub。此脚本在 GRUB 和内核更新后运行,但如果您在不控制 GRUB 的操作系统上更新内核,这些更新将不是GRUB 菜单上将一直显示该选项,直到您手动运行update-grub控制 GRUB 的操作系统,或者更新该操作系统中的内核或 GRUB。还有一个启动政变的问题,它可以被控制(请参阅我关于该主题的页面),但很容易搞不清楚到底是什么在控制,因为 Ubuntu 和 Mint 版本的 GRUB 看起来几乎完全相同。

你可能想看看我的rEFInd 启动管理器作为替代方案。与 GRUB 不同,rEFInd 每次启动时都会扫描引导加载程序和内核,因此无论您使用哪个发行版安装 rEFInd,它都会在内核更新后获取它们。您仍然有可能出现启动政变,但至少如果发生这种情况,它会很明显。此外,您可能需要进行一些重新配置,包括mkrlconf在您使用的发行版中运行不是用于安装 rEFInd 并可能进行编辑/boot/efi/EFI/refind/refind.conf以调整一些设置并隐藏(现在可能不需要的) GRUB 条目。

相关内容