您当前的位置:首页 > 计算机 > 系统应用 > 操作系统

rEFInd引导Win10 Ubuntu Deepin macOS Phoenix Fyde cent openSUSE Kylin ChromeOS RedFlag)时menuentry的详细配置

时间:03-15来源:作者:点击数:

注意:本文中的有些截图时较早前截取的,和最新的截图中的分区有些不同,这是因为之前装cloudready时导致整个磁盘被格式化,从头开始重新安装了所有的系统,但不影响描述原理

先上一张最终的效果图

问题一:下图为rEFInd默认安装后出现的引导菜单:第一第二个还算正常;第三个图标表示未知的操作系统,可能就进不去,也可能进去就是个无效的页面;第四个是linux图标,但是进去很可能是grub引导界面,还需要再选择一次才能进入操作系统,而且通过第四个图标进去的操作系统其实就是第二个图标所指示的Ubuntu,明显有点冗余。

如果你的磁盘上有多个操作系统内核,rEFInd也会把所有的内核列出来(比如我的ubuntu所在的磁盘分区就有两个linux内核,vmlinuz-5.8.0-48-generic和vmlinuz-5.8.0-25-generic),会显得引导菜单有很多个操作系统,这不是我们所期望的

问题二:通过选择某个OS子菜单后进入的其实是grub引导界面,还得再选择一次,才能进入操作系统,导致进入某个OS系统过慢

怎样解决上述这两个问题呢?我先上一段配置,然后逐条分析配置项

(代码段中的uuid可能和其他小节描述的uuid有所不同,这是因为之前装cloudready时导致整个磁盘被格式化,从头开始重新安装了所有的系统)

#
# refind.conf
# Configuration file for the rEFInd boot menu
#

timeout 60

dont_scan_dirs /EFI/Microsoft/Boot,/EFI/Boot,/EFI/ubuntu,/EFI/UOS,/EFI/PhoenixOS,/EFI/PhoenixOS/boot,/EFI/fydeos,/EFI/CLOVER,/EFI/kylin,/EFI/opensuse,/EFI/centos,/EFI/redflag,/EFI/RedFlag_Linux_Desktop_V11.0

#dont_scan_files

scan_all_linux_kernels false

#fold_linux_kernels false

default_selection 1

include themes/rEFInd-minimal/theme.conf




menuentry "Windows" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_win.png
	loader /EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "CentOS" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_centos.png
	volume 9CC38149-EA82-4584-AAB6-734C4010A065
	loader /vmlinuz-4.18.0-240.e18.x86_64
	initrd /initramfs-4.18.0-240.e18.x86_64.img
    options "root=UUID=f9394421-19e2-447e-9928-9f9cc6a6eef8 ro crashkernel=auto resume=UUID=4f60d357-9dfb-4557-be49-552bf26fb8b9 rhgb quiet "
	disabled
	
}

menuentry "CentOS(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_centos.png
	loader /EFI/centos/grubx64.efi
	
}

menuentry "Ubuntu" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_ubuntu.png
	volume 4055E8D2-7086-4102-9E21-146197698D87
	loader /vmlinuz-5.8.0-25-generic
	initrd /initrd.img-5.8.0-25-generic
    options "root=UUID=caef5804-37c2-4717-87e8-2e20de8cf6ae ro  quiet splash"

}

menuentry "Ubuntu(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_ubuntu.png
	loader /EFI/ubuntu/grubx64.efi
	disabled

}

menuentry "OpenSUSE" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_opensuse.png
	volume 77549760-46AB-4047-9B2A-0D9E96CA70AB
	loader /vmlinuz-5.3.18-lp152.72-default
	initrd /initrd-5.3.18-lp152.72-default
	options "root=UUID=d5031186-2bf2-4a4c-ae1c-114c9a949c34  splash=silent resume=/dev/disk/by-id/nvme-Samsung_SSD_980_1TB_S649NJ0R350885D-part10 mitigations=auto quiet"
}

menuentry "OpenSUSE(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_opensuse.png
	loader /EFI/opensuse/grubx64.efi
	disabled

}

menuentry "Deepin" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_deepin.png
	volume 406177AE-77BA-4D4B-9D17-7EE140BBCDCC
	loader /vmlinuz-5.10.18-amd64-desktop
	initrd /initrd.img-5.10.18-amd64-desktop
	options "root=UUID=7daaea21-9067-4022-ab67-7b286c75dbd0 ro splash quiet"
}

menuentry "Deepin(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_deepin.png
	loader /EFI/UOS/grubx64.efi
	disabled

}


menuentry "Kylin" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_kylin.png
	volume 67C7AE31-40CB-45A4-8574-EA8803787639
	loader /vmlinuz-5.10.0-3-generic
	initrd /initrd.img-5.10.0-3-generic
	options "root=UUID=185f74e8-d18d-4903-8243-302c28793c65 ro  quiet splash loglevel=0 resume=UUID=5b25f24e-b655-471f-88f1-64dd6bb6f966 audit=0 security=none"
}

menuentry "Kylin(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_kylin.png
	loader /EFI/kylin/grubx64.efi
	disabled

}

menuentry "RedFlag" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_redflag.png
	volume 5604D06A-AE60-484F-BA14-ECCB3097E5F5
	loader /vmlinuz-4.19.0-16-amd64
	initrd /initrd.img-4.19.0-16-amd64
	options "root=UUID=a33c3abb-986d-417c-8ef5-fa864a8fb00e ro  quiet splash resume=UUID=49901fc4-538a-46fb-8c25-bb3c05f3917d"
}

menuentry "RedFlag(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_redflag.png
	loader /EFI/redflag/grubx64.efi
	disabled

}


menuentry "FydeOS" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_fydeos.png
	volume FEC7D7FF-2B69-474B-89A1-D2CA9F80CC52
	loader /boot/vmlinuz-13729.22.12.13
	initrd /boot/dual_boot_ramfs.cpio.xz
    options "init=/sbin/init root=/dev/nvme0n1p15 boot=local rootwait noresume noswap ro loglevel=7 console= i915.modeset=1 cros_efi cros_debug  fydeos_dualboot"

}

menuentry "FydeOS(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_fydeos.png
	loader /EFI/fydeos/bootx64.efi
	disabled

}

menuentry "ChromeOS" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_chrome.png
	volume 73108A43-715C-AD4E-BB15-A72A6CF8213B
	loader /syslinux/vmlinuz.A
    options "init=/sbin/init boot=local rootwait ro noresume noswap loglevel=7 noinitrd console=  i915.modeset=1 cros_efi cros_debug       root=PARTUUID=328F6BDB-CE13-F846-8EB0-A5A6578575AD"
	disabled

}

menuentry "ChromeOS(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_chrome.png
	volume 73108A43-715C-AD4E-BB15-A72A6CF8213B
	loader /efi/boot/bootx64.efi

}

menuentry "PhoenixOS" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_phoenix.png
	loader /EFI/PhoenixOS/kernel
	initrd /EFI/PhoenixOS/initrd.img
    options " quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/PhoenixOS vga=788 i8042.nokbd=1"

}

menuentry "PhoenixOS(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_phoenix.png
	loader /EFI/PhoenixOS/boot/bootx64.efi
	disabled

}

menuentry "OSX" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_mac.png
	loader /EFI/CLOVER/CLOVERX64.efi
	
}

menuentry "Linux" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_linux.png
	loader /EFI/Boot/grubx64.efi
}

关于refind.conf的配置项可以参见官网的配置项介绍http://www.rodsbooks.com/refind/configfile.html

如果觉得英文看起来有些费劲,可以参考论坛里这篇文章,还算详细refind 0.10.3 配置文件refind.conf简单分析

timeout ,我这里设置的是60,// 设置默认等待时间// 0 : 无限期等待 // -1: 立即进入默认的系统//大于0的数值表示等待的秒数

dont_scan_dirs     rEFInd不去扫描的目录,我设置为 /EFI/Microsoft/Boot,/EFI/Boot,/EFI/ubuntu,/EFI/UOS,/EFI/PhoenixOS,/EFI/PhoenixOS/boot,/EFI/fydeos,/EFI/CLOVER 这几个,因为我的ESP分区是下图这样的,另外说一句,linux系统下ESP分区是挂载在/boot/efi/目录下的。

这里之所以设置这个是因为稍后我要自己配置menuentry

#dont_scan_files     rEFInd不去扫描的文件,设置上面的目录后就不需要设置特定的文件了,所以这里注释了

scan_all_linux_kernels     rEFInd是否去扫描所有的linux内核,我这里设置为false,同样是因为稍后我要自己配置menuentry,不设置时默认为true,比如我的ubuntu所在的磁盘分区就有两个linux内核,vmlinuz-5.8.0-48-generic和vmlinuz-5.8.0-25-generic,那么菜单就会显示两个linux子菜单

#fold_linux_kernels     是否去折叠扫描到的linux内核,比如我的ubuntu所在的磁盘分区就有两个linux内核,vmlinuz-5.8.0-48-generic和vmlinuz-5.8.0-25-generic,不折叠时,菜单就会显示两个linux子菜单,折叠后就会只显示一个最新的,这里只是为了探索这个配置项的含义,并没有去使用,所以注释了

default_selection 1     默认哪个OS子菜单处于选中状态,这里设置为1,对应于我的配置就是win10系统

include themes/rEFInd-minimal/theme.conf     导入相关的主题配置theme.conf,其实theme.conf里面的配置项完全可以在refind.conf里面配置,关于theme.conf里面的配置项不再详细说明,还是比较简单的,参见上文分享的两篇链接

# Minimal refind theme

# Hide user interface elements for personal preference or to increase
# security:
#  banner      - the rEFInd title banner (built-in or loaded via "banner")
#  label       - boot option text label in the menu
#  singleuser  - remove the submenu options to boot Mac OS X in single-user
#                or verbose modes; affects ONLY MacOS X
#  safemode    - remove the submenu option to boot Mac OS X in "safe mode"
#  hwtest      - the submenu option to run Apple's hardware test
#  arrows      - scroll arrows on the OS selection tag line
#  hints       - brief command summary in the menu
#  editor      - the options editor (+, F2, or Insert on boot options menu)
#  all         - all of the above
# Default is none of these (all elements active)
#
hideui singleuser,hints,arrows,badges

# Set the name of a subdirectory in which icons are stored. Icons must
# have the same names they have in the standard directory. The directory
# name is specified relative to the main rEFInd binary's directory. If
# an icon can't be found in the specified directory, an attempt is made
# to load it from the default directory; thus, you can replace just some
# icons in your own directory and rely on the default for others.
# Default is "icons".
#
icons_dir themes/rEFInd-minimal/icons

# Use a custom title banner instead of the rEFInd icon and name. The file
# path is relative to the directory where refind.efi is located. The color
# in the top left corner of the image is used as the background color
# for the menu screens. Currently uncompressed BMP images with color
# depths of 24, 8, 4 or 1 bits are supported, as well as PNG images.
#
banner themes/rEFInd-minimal/background.png

# Tells rEFInd whether to display banner images pixel-for-pixel (noscale)
# or to scale banner images to fill the screen (fillscreen). The former is
# the default.
#
banner_scale fillscreen

# Custom images for the selection background. There is a big one (144 x 144)
# for the OS icons, and a small one (64 x 64) for the function icons in the
# second row. If only a small image is given, that one is also used for
# the big icons by stretching it in the middle. If only a big one is given,
# the built-in default will be used for the small icons.
#
# Like the banner option above, these options take a filename of an
# uncompressed BMP image file with a color depth of 24, 8, 4, or 1 bits,
# or a PNG image. The PNG format is required if you need transparency
# support (to let you "see through" to a full-screen banner).
#
selection_big   themes/rEFInd-minimal/selection_big.png
selection_small themes/rEFInd-minimal/selection_small.png

# Which non-bootloader tools to show on the tools line, and in what
# order to display them:
#  shell           - the EFI shell (requires external program; see rEFInd
#                    documentation for details)
#  gptsync         - the (dangerous) gptsync.efi utility (requires external
#                    program; see rEFInd documentation for details)
#  apple_recovery  - boots the Apple Recovery HD partition, if present
#  mok_tool        - makes available the Machine Owner Key (MOK) maintenance
#                    tool, MokManager.efi, used on Secure Boot systems
#  about           - an "about this program" option
#  exit            - a tag to exit from rEFInd
#  shutdown        - shuts down the computer (a bug causes this to reboot
#                    EFI systems)
#  reboot          - a tag to reboot the computer
#  firmware        - a tag to reboot the computer into the firmware's
#                    user interface (ignored on older computers)
# Default is shell,apple_recovery,mok_tool,about,shutdown,reboot,firmware
#
showtools shutdown,reboot,exit

下面开始介绍本文的重点

win10引导配置

menuentry "Windows" {
    icon /EFI/refind/themes/rEFInd-minimal/icons/os_win.png
    loader /EFI/Microsoft/Boot/bootmgfw.efi
}

这是引导win10的,比较简单

ubuntu引导配置

menuentry "Ubuntu" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_ubuntu.png
	loader /EFI/ubuntu/shimx64.efi
	disabled

}
#这是一

menuentry "Ubuntu" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_ubuntu.png
	volume 720B2437-28D8-44DB-AC11-B7A73E74624F
	loader /vmlinuz-5.8.0-48-generic
	initrd /initrd.img-5.8.0-48-generic
    options "root=UUID=d157bead-cb19-45cd-a75c-8c50671df920 ro  quiet splash"

}
#这是二

这是引导Ubuntu的,我先前用两种方式都做了引导,第一种目前已经禁用(disabled),之所以禁用第一种是因为引导进入的是grub界面,略显繁琐

先说说第一种,它和之前win10的引导是同一种方式,也是直接寻找ESP分区里面的相关引导文件

关于grubx64.efi,mmx64.efi,shimx64.efi的区别参见rEFInd - Arch Linux 中文维基各类efi文件介绍 | 小霸王 (gitee.io)主要是和secure boot有关的,签名和非签名的引导程序

上图的grub.cfg配置之所以如此简单是因为通过环境变量的设置将grub的相关配置链接到了其他地方,参见下图

怎样链接的呢?是通过上面的grub2命令search.fs_uuid(=search --fs_uuid) 此命令是将root环境变量设置为ubuntu下的/boot

关于grub2命令相关内容参见GRUB2教程

上面画红色下划线的145DB11B-4FC8-4105-A948-5EDA0144F494是什么呢?查看ubuntu的/etc/fstab文件可以看到是ubuntu的/boot挂载点的文件系统UUID

虽然这种方式也可以引导,但是引导进入了grub界面,还需要再选择一次才能进入操作系统,略显繁琐,当然有一种方式是修改ubuntu下的/etc/default/grub文件中的timeout=0来快速跳过grub界面,但还是会出现一下的

接下来说第二种方式,第二种方式是直接通过linux内核引导进入系统,不会经过grub界面而直接进入操作系统,但是配置比较麻烦,现在说一下各个配置项

其实配置项和grub2配置项比较像,下图为ubuntu下/boot/grub/grub.cfg文件中关于Ubuntu主菜单的配置,基本可以用到refind.conf的配置中

其中vmlinuz-5.8.0-48-generic 和 initrd.img-5.8.0-48-generic 在ubuntu的/boot目录下可以找到

这里要特别注意的是volume的配置,这个UUID是分区的UUID,不是文件系统的UUID,我起初就因为配置错误导致引导失败,下图绿色对勾所示位置的UUID就是分区UUID

而grub里面配置的是文件系统UUID

为了这个UUID可真是折腾了一番,最终从外网查到了,链接是uefi - rEFInd boot-manager - 'volume' as GUID? - Super User

为了不能前往外网的用户贴上图片一张

volume设置的值是将root环境变量设置为ubuntu下的/boot

另外要特别注意volume的位置,上图也有说明,我将volume放在icon后loader前,那么icon的路径定位不需要基于volume,而loader以及之后的配置项的路径定位则要依赖于volume

关于loader和initrd的路径定位需要注意的是ubuntu下的/boot的分区情况

如果/boot有单独的分区,我在安装系统时给/boot单独分了区,就是volume的UUID(720B2437-28D8-44DB-AC11-B7A73E74624F)所指示的分区

由于volume设置的值是将root环境变量设置为ubuntu下的/boot,而内核文件vmlinuz-5.8.0-48-generic和initrd.img-5.8.0-48-generic在ubuntu的/boot目录下,那么就写成

loader /vmlinuz-5.8.0-48-generic

initrd /initrd.img-5.8.0-48-generic

如果/boot没单独划分分区,那么这个分区 就与根目录(/)分区相关,volume设置的值(另一个UUID)是将root环境变量设置为ubuntu下的/

而内核文件vmlinuz-5.8.0-48-generic和initrd.img-5.8.0-48-generic在ubuntu的/boot目录下,那么就写成

	loader /boot/vmlinuz-5.8.0-48-generic
	initrd /boot/initrd.img-5.8.0-48-generic

options选项中的root=UUID=d157bead-cb19-45cd-a75c-8c50671df920 ,这个UUID是ubuntu下根目录(/)的文件系统UUID

deepin引导配置

menuentry "Deepin" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_deepin.png
	loader /EFI/UOS/shimx64.efi
	disabled

}
#这是一


menuentry "Deepin" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_deepin.png
	volume 3608A634-47D8-4A09-945B-5D3484A42A1E
	loader /vmlinuz-5.10.18-amd64-desktop
	initrd /initrd.img-5.10.18-amd64-desktop
	options "root=UUID=3505e55a-a6e8-4c6e-9b09-3664ec4df439 ro splash quiet"
}
#这是二

这是引导deepin的,我先前用两种方式都做了引导,第一种目前已经禁用(disabled),之所以禁用第一种是因为引导进入的是grub界面,略显繁琐

deepin的引导配置和上面Ubuntu的配置完全一样,只是修改成deepin系统对应的参数就行,所以在这里就只上传deepin对应的图片

第一种配置有关图片

第二种配置有关图片

PhoenixOS(基于Android-x86)引导配置

menuentry "PhoenixOS" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_phoenix.png
	loader /EFI/PhoenixOS/boot/bootx64.efi
	disabled

}

menuentry "PhoenixOS" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_phoenix.png
	loader /EFI/PhoenixOS/kernel
	initrd /EFI/PhoenixOS/initrd.img
    options " quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/PhoenixOS vga=788 i8042.nokbd=1"

}

这是引导PhoenixOS的,我先前用两种方式都做了引导,第一种目前已经禁用(disabled),之所以禁用第一种是因为引导进入的是grub界面,略显繁琐

ESP分区下PhoenixOS的文件结构是下图这样的

PhoenixOS的refind配置是参考grub.cfg进行配置的,PhoenixOS安装时没有单独给/boot划分分区,而是直接放到了ESP分区,所以可以看到PhoenixOS的kernel和initrd.img都是在esp分区下的/EFI/PhoenixOS/目录下,不需要额外重新指定volume参数,这和上面的ubuntu,deepin是不同的。

FydeOS(基于ChromiumOS)引导配置

menuentry "FydeOS" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_fydeos.png
	volume FEC7D7FF-2B69-474B-89A1-D2CA9F80CC52
	loader /boot/vmlinuz-13729.22.12.13
	initrd /boot/dual_boot_ramfs.cpio.xz
    options "init=/sbin/init root=/dev/nvme0n1p15 boot=local rootwait noresume noswap ro loglevel=7 console= i915.modeset=1 cros_efi cros_debug  fydeos_dualboot"

}

menuentry "FydeOS(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_fydeos.png
	loader /EFI/fydeos/bootx64.efi
	disabled

}

这是引导FydeOS的,我先前用两种方式都做了引导,FydeOS(grub)目前已经禁用(disabled),之所以禁用FydeOS(grub)是因为引导进入的是grub界面,略显繁琐

ESP分区下FydeOS的文件结构是下图这样的

FydeOS的refind配置是参考grub.cfg进行配置的

grub中相关的文件可以在FydeOS的boot目录和fydeos目录中找到

grub中/fydeos/fydeos_dual_boot.img被挂载到loopdev

linux (loopdev,gpt12)/syslinux/vmlinuz.A 这个配置项就是从/fydeos/fydeos_dual_boot.img镜像中找到vmlinuz.A,而vmlinuz.A文件中又是vmlinuz-13729.22.12.13,所以我在此处将refind中loader设置为 /boot/vmlinuz-13729.22.12.13 ,initrd 就是用grub文件中的配置,refind中options 也使用grub文件中的配置。

refind中volume可以设置为UUID,也可以设置为label值FYDEOS-DUAL-BOOT,同样的options参数中的root变量可以设置为对应的UUID,也可以设置为label值,本文中为root=/dev/nvme0n1p15

OSX(黑苹果)引导配置(clover引导黑苹果,refind引导clover)

menuentry "OSX" {
    icon /EFI/refind/themes/rEFInd-minimal/icons/os_mac.png
    loader /EFI/CLOVER/CLOVERX64.efi
    
}

ESP分区下clover的文件结构是下图这样的

配置比较简单,原理就是clover引导黑苹果,refind引导clover。

centOS引导配置

#这里如果使用UUID的方式不能引导成功,可以改成root=/dev/sdaX这种方式
#X为你自己的电脑安装的centos系统的根目录所挂载的磁盘分区编号
menuentry "CentOS" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_centos.png
	volume 9CC38149-EA82-4584-AAB6-734C4010A065
	loader /vmlinuz-4.18.0-240.e18.x86_64
	initrd /initramfs-4.18.0-240.e18.x86_64.img
    options "root=UUID=f9394421-19e2-447e-9928-9f9cc6a6eef8 ro crashkernel=auto resume=UUID=4f60d357-9dfb-4557-be49-552bf26fb8b9 rhgb quiet "
	disabled
	
}


menuentry "CentOS(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_centos.png
	loader /EFI/centos/grubx64.efi
	
}

配置原理参见上述方法,不再详述

centOS的XFS文件系统在DiskGenius不能识别文件结构,如下图

openSUSE引导配置

menuentry "OpenSUSE" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_opensuse.png
	volume 77549760-46AB-4047-9B2A-0D9E96CA70AB
	loader /vmlinuz-5.3.18-lp152.72-default
	initrd /initrd-5.3.18-lp152.72-default
	options "root=UUID=d5031186-2bf2-4a4c-ae1c-114c9a949c34  splash=silent resume=/dev/disk/by-id/nvme-Samsung_SSD_980_1TB_S649NJ0R350885D-part10 mitigations=auto quiet"
}

menuentry "OpenSUSE(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_opensuse.png
	loader /EFI/opensuse/grubx64.efi
	disabled

}

配置原理参见上述方法,不再详述

Kylin(银河麒麟)引导配置

menuentry "Kylin" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_kylin.png
	volume 67C7AE31-40CB-45A4-8574-EA8803787639
	loader /vmlinuz-5.10.0-3-generic
	initrd /initrd.img-5.10.0-3-generic
	options "root=UUID=185f74e8-d18d-4903-8243-302c28793c65 ro  quiet splash loglevel=0 resume=UUID=5b25f24e-b655-471f-88f1-64dd6bb6f966 audit=0 security=none"
}

menuentry "Kylin(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_kylin.png
	loader /EFI/kylin/grubx64.efi
	disabled

}

配置原理参见上述方法,不再详述

原生chromeOS引导配置

menuentry "ChromeOS" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_chrome.png
	volume 73108A43-715C-AD4E-BB15-A72A6CF8213B
	loader /syslinux/vmlinuz.A
    options "init=/sbin/init boot=local rootwait ro noresume noswap loglevel=7 noinitrd console=  i915.modeset=1 cros_efi cros_debug       root=PARTUUID=328F6BDB-CE13-F846-8EB0-A5A6578575AD"
	disabled

}
#暂时不可用

menuentry "ChromeOS(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_chrome.png
	volume 73108A43-715C-AD4E-BB15-A72A6CF8213B
	loader /efi/boot/bootx64.efi

}

配置原理参见上述方法,不再详述

RedFlag引导配置

menuentry "RedFlag" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_redflag.png
	volume 5604D06A-AE60-484F-BA14-ECCB3097E5F5
	loader /vmlinuz-4.19.0-16-amd64
	initrd /initrd.img-4.19.0-16-amd64
	options "root=UUID=a33c3abb-986d-417c-8ef5-fa864a8fb00e ro  quiet splash resume=UUID=49901fc4-538a-46fb-8c25-bb3c05f3917d"
}

menuentry "RedFlag(grub)" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_redflag.png
	loader /EFI/redflag/grubx64.efi
	disabled

}

Linux引导配置

menuentry "Linux" {
	icon /EFI/refind/themes/rEFInd-minimal/icons/os_linux.png
	loader /EFI/Boot/grubx64.efi
}

之所以加此配置是因为前面的配置都把grub界面去掉了,在此特意加了一个配置是为了留一个进入grub界面的接口

关于/EFI/Boot/grubx64.efi的详解参见关于Bootmgfw.efi、Bootx64.efi的详解

最后,关于refind.conf的其他配置项感兴趣的话可以参照前面提到的refind的官网

补充一点的是,在装多个linux系统时,后装的Linux系统的grub2会覆盖掉先装的linux系统的grub2,因此,/EFI/Boot/grubx64.efi,/EFI/ubuntu/shimx64.efi,/EFI/UOS/shimx64.efi,/EFI/ubuntu/grubx64.efi,/EFI/UOS/grubx64.efi 这几个引导程序引导的grub2界面是完全一样的。比如我的电脑deepin后装于ubuntu,所以grub2界面是deepin的grub2界面。后来我又将grub2界面修复为ubuntu的grub2界面,当然还可以修复回deepin的grub2界面。其实就是在装完某个linux系统后先到esp分区把对应的grubx64.efi,shimx64.efi,grub.cfg文件备份下来,后装的linux系统肯定会把自己的grub文件覆盖掉之前的grub文件,这时候如果要恢复原先的grub文件,之前的备份就派上用场了。

最后的最后,再附上一篇外网关于清理refind引导的多余的OS菜单的链接Linux Multi-boot with Refind – TeejeeTech

附上几张图片

还有一篇github上的一篇,链接GitHub - castelldev/refind-castell: A custom theme for multiboot systems. Requires rEFInd UEFI bootloader.

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门