配置带有rEFInd的UEFI Dual Boot系统
KDPV。REFInd具有常规主题的启动管理器。迄今为止,几乎每个人都听说过UEFI技术。我不会谈论它是什么以及为什么需要它。今天,我将描述安装具有完全UEFI支持的Dual Boot系统的最简单方案,并考虑单独安装和设置rEFInd启动管理器。也许您已经看过这样的手册和指南,但是我将尽力很清楚地传达我们将要做的事情和原因的本质。在其他手册中,您只是看着赌徒的“魔力”,并试图重复它,常常会犯一些基本的错误。这个话题对谁来说有趣-我要猫。通常,相反地,UEFI旨在简化引导过程,而不是使其复杂化。例如,通过此技术,计算机可以在GRUB / LILO / etc等人员的任何层进行引导,而UEFI本身可以充当加载程序。但是,此方法有其缺点,例如,您必须修改内核更新,您当然可以编写脚本,但是从总体上来说,grub2-efi
让我们为我们的操作创建一个大概列表,对于其中的一些操作来说足以阅读它并开始工作。实际上只有四点。第五和第六段是可选的。- 将Windows 10(8 / 8.1)的映像刻录到磁盘/闪存驱动器。
- 在磁盘的一部分上安装Windows 10。
- 将具有EFI支持的Linux分发映像(最多)刻录到磁盘/闪存驱动器。
- 在磁盘其余部分上安装Linux发行版。
- rEFInd的安装和配置。
- 删除GRUB并完全过渡到rEFInd。
乍一看,一切都很简单,只有4个基本要点,但有很多细微差别。错误在各个阶段都会出现:进入Legacy-bios模式,指示错误的启动分区,根本不了解自己在做什么等。最终,所有这些都会在论坛,聊天室等中带来很多痛苦。实际上,一切都是不现实的简单,您只需要了解每个阶段的工作并进行自我测试即可。首先一点理论
UEFI仅看到一个特殊的ESP分区,它通常具有100-200 MB的大小,并以FAT32格式(有时以FAT16格式)进行格式化,它包含名为la Boot,Microsoft,Fedora,Ubuntu等的文件夹。如果您尝试了足够多的操作系统,但从未格式化过此部分,则可能在其中键入了很多文件夹。例如,我有2个活动轴,大约有6个文件夹。PS CodeRush建议所有FS(如果具有适当的驱动程序)均受支持:这是不对的。UEFI将查看在特定固件实施中可使用FS驱动程序的所有部分。ESP与其他部分的不同之处仅在于:a)需要FAT驱动程序,并且b)ESP部分搜索引导加载程序,并在找到引导加载程序时自动创建适当的BootXXXX变量。
文件夹本身包含可执行的.efi文件,它们充当操作系统加载程序。您可能会在debian文件夹grubx64.efi
和Microsoft文件夹中找到该文件bootmgr.efi
。大多数Linux发行版都将ESP分区安装到/boot/efi
,即Debian引导加载程序将大致以这种方式说谎:我们/boot/efi/EFI/debian/grubx64.efi
找到了目录,然后呢?然后,您需要了解仍然存在引导顺序,可以使用该实用程序来控制该引导顺序。efibootmgr
,如果没有它,则可以通过包管理器下载它,它存在于所有标准存储库中。首先,您只需输入此命令并查看启动顺序列表以及所有UEFI记录。如果要使用该实用程序,则抽烟并阅读Internet,通常这很简单。 Evil Windows就在这里,并覆盖了我们的GRUB,并将Windows Boot Manager放在首位,因此必须对其进行还原。我只想说如何编辑记录:efibootmgr -b < > -< > < >
例如,efibootmgr -b 0 -B
删除0的记录手段PS 的CodeRush和其他评论员注意到,efibootmgr是一个非常危险的工具,并注意多的安全使用EFI Shell。实际上,GRUB根本不能被触动,因为它可能位于文件夹中EFI/< >
,您只需要恢复录音并设置第一优先级,但是如果可以chroot并输入,为什么还要挖东西grub-install
呢?在大多数情况下,他会自己做所有事情。顺便说一句,您不应忘记efibootmgr
UEFI本身也具有基本功能,它可以读取这些记录并建立优先级。但是他不知道如何浏览ESP部分并添加新条目;这些职责已分配给EFI Shell和操作系统。PS CodeRush从UEFI 2.2开始,规范就要求具备这项技能(SecureBoot出现在UEFI 2.3.1C中)。
最后:您的所有动作都efibootmgr
记录在NVRAM中!在大多数情况下,UEFI可以在每次检查损坏的NVRAM时将其恢复,并在出现故障时将其覆盖。但是,一些不道德的制造商会生产原始固件,您可以获得真正的砖头。例如,具有基于Phoenix SCT的UEFI的笔记本电脑正在苦苦搜寻!因此,在继续阅读之前,请确保您的主板或笔记本电脑型号能够抵抗此类实验。聚苯乙烯写完大部分文章后,我想起了安全启动。通常,UEFI会随身携带它,但是在大多数情况下,可以非常简单地在UEFI设置中将其关闭。许多Linux发行版都支持它,但是我仍然建议禁用它,因为它可能导致很多问题。基本理论之旅结束了。现在可以练习了
免责声明:我会立即说我更喜欢无菌条件,并使用我亲自测试的工具彻底重新安装自己。如果您将使用其他实用程序,请不要写出为什么您不在某个阶段或另一阶段工作的原因。我的版本已通过数百次重新安装给朋友和同事的测试。我们需要刻录Windows的第一件事
因为如果您第二次安装Windows,则它将覆盖引导加载程序。恢复?没问题但是,如果您可以立即明智地做所有事情,那又何必呢?但是,我将在文章结尾稍晚讨论恢复的细微差别。我认为,与Linux不同,Windows更容易编写。第一种方法可能为许多人所熟悉,您只需要以管理员身份进入cmd.exe并输入以下命令。不难发现,绝对没有魔术。我们只是将USB闪存驱动器格式化为FAT32:
之后,您只需要使用存档器打开ISO文件并将内容传输到空白USB闪存驱动器。就是这样,UEFI闪存驱动器已准备就绪。在Linux上,您可以用相同的方式进行所有操作,只需将其格式化为FAT32格式并复制内容即可。
由此产生的闪存驱动器应能完美地在任何具有UEFI支持的PC上加载。diskpart
list disk
select disk < >
clean
create partition primary
select partition 1
active
format fs fat32 quick
assign
exit
, : Windows 10 efi, , UEFI. .
但是,我更喜欢使用Rufus实用程序的第二种方法。他从不让我失望。但是,这是仅Windows的方法。在Linux系统上,使用ddresque创建可启动的Windows闪存驱动器不起作用。因此,如果第一种采用简单格式的方法没有帮助,请尝试其他实用程序。您所需要的一切:选择USB闪存驱动器,将“分区方案和系统接口类型”参数设置为“具有UEFI的计算机的GPT”,然后按开始。其余参数无需触摸。最好使用较小的闪存驱动器(8-16 GB)。当然,其中一种方法应该是顺风车,我个人在此阶段从未遇到过问题,主要是计算机支持UEFI。因此,让我们进入安装阶段
在UEFI模式下加载后,我们将按照标准方案进行所有操作,但是在选择安装类型的阶段,我们选择“专家”,也就是说,我们将自己标记该部分。我建议进行整洁的分区,尤其是在有很多磁盘的情况下。最后,选择驱动器后,删除所有现有分区。创建一个具有所需大小(例如150 GB)的分区。 (如果您希望为操作系统和文件创建两个或多个分区-没问题,请创建一个)。单击鼠标选择此部分,然后单击“下一步”。如果您做对了所有事情,Windows会要求您创建其他文件。请务必回答“是”。系统将创建三个分区。我们有两个满足系统需求,一个属于我们的EFI部分。我总是有第二个编号,我将得到4个分区,包括用户NTFS。如果安装程序不提供创建分区或仅创建分区的功能,那么您将引导至传统模式,并且需要重写USB闪存驱动器,则出了点问题。不幸的是,Windows安装程序分区编辑器的功能极其薄弱,因此为将来的Linux尝试对分区进行分区是没有意义的,我们只保留了这个地方。接下来,以正常模式安装所有组件。顺便说一句,在UEFI模式下正确安装Windows的标志之一是启动时主板/笔记本电脑/平板电脑制造商的徽标出现。在许多UEFI中(例如,来自ASUS和ASRock的),都有一个单独的设置。因此,如果没有徽标,但其他所有内容都像发条一样,则没有任何问题。我不建议您现在对Windows进行微调,因为如果出现问题,则可能必须重新安装它。
写Linux吗?
是的 登录Windows后,建议立即下载所选发行版本的映像,并通过Rufus以相同的方式对其进行刻录。的确,在Linux发行版中,Rufus可以提出很多问题,例如,他可以要求从Internet加载syslinux引导程序或选择图像记录模式:ISO或DD。我们以“是”回答所有问题。,即,是,下载最新版本的syslinux并以ISO模式记录。在Ubuntu(及其Server,Mate,GNOME的变体),Fedora,RHEL7,Debian等版本上进行了测试。双启动实际上只有一步之遥
与Windows不同,大多数发行版都很好地表明了UEFI模式。例如,Debian在其安装程序中以黑白显示系统正在UEFI模式下运行。其他发行版显示这是一个奇怪的grub引导程序,看起来“某种程度上是错误的”。我认为,如果您要安装Linux,那么您自己可能知道如何安装自己喜欢的发行版,因此,我将不关注安装单个发行版的详细信息。因为这个阶段非常简单。如果您确实以UEFI模式启动并按需安装Windows,那么Dual Boot几乎在您的口袋里。因此,在安装Linux时您需要做的所有事情:选择一个分区/dev/sda2
(在您的情况下,可能是不同的部分),并指定安装点- /boot/efi
。仅此而已。不,真的,就是这样。当然,不要忘了对ext4 / Btrfs / ReiserFS / XFS / JFS分区进行分区,将其挂载到根目录/。谁需要交换(如果需要)也可以创建它。接下来,您的发行版的安装程序将自行完成所有操作,将EFI/< >
其GRUB 安装到目录中并找到Windows(EFI/microsoft
)条目。此逻辑已在以上所有发行版中进行了测试。也就是说,我再次重复:主要是要向您的发行版显示您拥有这个宝贵的ESP分区的位置以及需要将引导加载程序扔给它的位置。它不会格式化,而只是添加GRUB。但是GRUB本身在做魔术,更改启动优先级等。我注意到有些发行版本身会在必要时挂载此部分,因为它们会看到ESP和BOOT标志。例如,在Debian安装程序中,您只需要创建一个用户部分即可。
带来美丽,设定rEFInd
到 不幸的是幸运的是,我厌倦了一种完美主义。简单的GRUB2不适合我,它非常疼且不美观。快速浏览一下,向我介绍了GRUB的“美丽”叉子BURG,但是它被废弃了,此刻死活比活着的可能性更大。幸运的是,对于UEFI机器,还有一个很好的选择-rEFInd。 rEFInd是现已废弃的rEFIt及其逻辑延续的分支。第一个主要是为Mac创建的,并且可以在Boot Camp附近使用,当前的fork没有那么狭窄的专业知识,几乎适用于任何配置。, rEFInd . Boot Manager, .efi- , UEFI /boot
. , UEFI. Multi-Boot . rEFInd .efi-, UEFI Shell. EFI/refind/refind_x64.efi
除了您可以在PC上已安装的系统之间进行选择之外,一个不错的优点是自动检测可引导闪存驱动器和磁盘。在CPDV上可以看到这一点。我有一个带有Debian的可引导USB闪存驱动器(不是安装程序,而是完整的操作系统),您可以看到一个方便的指示,它是USB闪存驱动器,而不是其他任何东西。如果您有多个核心,则可以按F2查看它们的列表。除此之外,/boot/refind_linux.conf
您可以在文件中使用不同的内核参数指定几个选项(例如,第一个是用于加载GUI的标准选项,第二个是不带视频驱动程序的安全模式等,您可以创建多个选项,默认情况下只有三个)。也到文件夹EFI/tools
您可以删除不同的.efi二进制文件,例如UEFI Shell或memtest86 +。rEFInd会自动将其选中,并在底行将其显示为实用程序。还想要吗
在Linux下安装过程非常简单。所有方法均在官方网站上进行了描述,您几乎可以从任何操作系统上进行安装。首先,请访问此页面并下载.deb或.rpm软件包。如果您有稀有的发行套件(例如Slackware或Gentoo),那么我个人将无法为您提供帮助,但是该站点具有常规的.zip归档文件和其他安装选项,因此,如果您使用这种发行版,则可能可以自行安装而无需问题。
备份EFI目录:cp -r /boot/efi/EFI /boot/EFI.bkp
下载软件包后,执行:cd Downloads
或cd
安装软件包:sudo dpkg -i < >.deb
或sudo dnf install < >.rpm
就我而言,dpkg
有时我无法拉出依赖项,如果遇到同样的困难,请安装gdebi(sudo apt-get install gdebi
)并执行sudo gdebi < >.deb
。如果您拥有RHEL或CentOS,请yum
改用dnf
。在软件包的安装日志中,您可以跟踪安装日志rEFInd,其中可能存在错误,应立即跟踪它们。但是,以我的经验,如果一切正确,就不会有错误。您可以使用实用程序检查rEFInd安装程序的结果efibootmgr
,其中rEFInd Boot Manager应该是第一优先级。如果已经安装了软件包,则可以使用以下命令再次安装rEFInd:使用以下命令refind-install
手动安装具有第一优先级的rEFInd:refind-mkdefault
重新启动。一切都很可怕,我在哪里可以得到这么多操作系统?
是的,这很可怕,再见。实际上,您只有两个操作系统。 rEFInd收集了所有.efi二进制文件,并显示了具有直接下载功能的操作系统。为了纠正这种误解,我们将删除多余的部分,编写我们的配置,然后在rEFInd上放置一个漂亮的主题。首先,通过选择一个工作启动点进入Linux。菜单中应该有一个项目,可以不使用grubx64.efi进行加载!该部分可/boot
从管理员那里更轻松地进行工作(因为该团队cd
没有特权,但sudo
它不起作用),因此我们su
输入root密码。此项不是徒然可选的,因为如果您没有足够的经验,那么您很容易破坏某些内容而不会注意到它。我建议准备一个具有正常工作的LiveCD的闪存驱动器,以便在出现意外情况时进行恢复。我们的首要任务是删除不必要的下载指令,它们可以很容易地分成6个部分,并且只有两个系统。我们进入目录:cd /boot/efi/EFI && ls
可能会有五个文件夹:BOOT,microsoft,<您的发行版>,refind和工具。如果有多余的东西,请随时删除。方法1 (通过纯化,更危险):确保通过rEFInd(!)引导并且不为此使用GRUB之后,可以安全地删除分发文件夹。重新启动并检查是否可以启动到Linux。如果可以的话,引导菜单中可能还剩下4个指令:Windows,Linux和两个(很可能)引导Linux的奇怪项目。可能会猜到这些是文件夹中的.efi二进制文件EFI/BOOT
。该文件夹可以完全删除。但是!确保您有备份。重新启动。一切都还好吗?删除GRUB:sudo apt-get remove grub2 grub2-efi grub grub-efi
或:sudo dnf remove grub2
现在您可以放置主题。某些UEFI根本看不到其他目录。因此,对于这种系统存在小的解决方法。删除BOOT文件夹,将refind文件夹重命名为BOOT文件夹,并将bootx64.efi中的refind_x64.efi文件本身重命名。重新启动。
方法2 (通过rEFInd配置更安全):此方法更安全,因为我们不会删除或触摸任何东西,所以我们将通过正确配置配置来获得结果。山姆的配置是在这里:/boot/efi/EFI/refind/refind.conf
要设置准则负载需要使用两个参数scanfor
和menuentry
,后设置应该是这样的配置:
当然,这仅仅是配置的一部分,而其他参数可以从例子中可以采取我的第一种方法的基础上的配置,带注释
另外,您可以阅读有关普利茅斯在这里。包含一个漂亮的主题,
这很简单,仅在配置的最后一行上方指向该主题的.conf文件。主题本身最好放在文件夹中# ,
scanfor manual,external,optical
# Linux
menuentry Linux {
loader /EFI/ubuntu/grubx64.efi
icon /EFI/refind/icons/os_linux.png
}
# Windows 10
menuentry "Windows 10" {
loader \EFI\Microsoft\Boot\bootmgr.efi
icon /EFI/refind/icons/os_win.png
}
# -
timeout 20
# 300 , ,
#
screensaver 300
# -
resolution 1280 1024
# Linux. Plymouth
#
use_graphics_for linux
scanfor internal,external,optical,netboot,biosexternal
#
include themes/refind-theme-regular/theme.conf
/boot/efi/EFI/refind/themes
。默认情况下,不是通过创建的mkdir
。我们转到themes目录,然后编写git clone https://github.com/munlik/refind-theme-regular.git
。在配置注册行中,include themes/refind-theme-regular/theme.conf
其他主题行可以在办公室查看。网站。在这里,您可以看到详细的安装过程,用于微调配置的参数等等。也许就这些。我们有一个漂亮的启动管理器,可以选择具有完全UEFI支持的正确操作系统。安装rEFInd的项目最复杂,因此是可选的,大多数就足够了grub2-efi
。最后,我的一段短片:肯定会有大量的文字错误出现,如果您给我写关于PM的内容,我将感到高兴。Source: https://habr.com/ru/post/zh-CN394005/
All Articles