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