refind 0.10.3 配置文件refind.conf简单分析

来源:互联网 发布:广州新科佳都科技 知乎 编辑:程序博客网 时间:2024/05/21 04:22
    • 本文为转载:点击打开链接
    • 以下为个人理解
    • 常用的可以修改的配置: 
      1. timeout,等待时间
      2. resolution,屏幕分辨率
      3. default_selection,默认进入的系统选项
      4. include,引导界面美化常用
      5. max_tag,最多可显示几个启动项
      6. dont_scan_dirs, dont_scan_files, dont_scan_volumes,设置引导器过滤那些目录、文件、卷类型(分区)
    • 默认的配置已经可以满足引导功能的实现,但个人感觉,至少 resolution这一项需要自己配置一下
    • 想了解详细的配置项的含义,去官网的说明页面,用“Google翻译”翻译一下,大体的意思就明白了

    配置文件的注释为“#”,我使用“//”是为了让字体显示为红色,请勿直接拷贝使用,稍稍理解一下,自己修改最佳。

    ## refind.conf# Configuration file for the rEFInd boot menu## Timeout in seconds for the main menu screen. Setting the timeout to 0# disables automatic booting (i.e., no timeout). Setting it to -1 causes# an immediate boot to the default OS *UNLESS* a keypress is in the buffer# when rEFInd launches, in which case that keypress is interpreted as a# shortcut key. If no matching shortcut is found, rEFInd displays its# menu with no timeout.# // 设置默认等待时间为20// 0 : 无限期等待// -1: 立即进入默认的系统    timeout 20  # Screen saver timeout; the screen blanks after the specified number of# seconds with no keyboard input. The screen returns after most keypresses# (unfortunately, not including modifier keys such as Shift, Control, Alt,# or Option). Setting a value of "-1" causes rEFInd to start up with its# screen saver active. The default is 0, which disables the screen saver.// 设置引导前屏保时间#screensaver 300# Hide user interface elements for personal preference or to increase# security:// eEFInd标识图#  banner      - the rEFInd title banner (built-in or loaded via "banner")// 每个标签的文字描述以及timeout设置的倒数计时器#  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"// Mac硬件测试选项#  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)// ??#  badges      - device-type badges for boot options// 所有选项#  all         - all of the above// 默认都激活# Default is none of these (all elements active)#// hideui 隐藏界面功能命令#hideui singleuser#hideui all# 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"#icons_dir myicons#icons_dir icons/snowy# 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 hostname.bmp#banner mybanner.png#banner icons/snowy/banner-snowy.png# Specify how to handle banners that aren't exactly the same as the screen# size:// 自动缩放#  noscale     - Crop if too big, show with border if too small// 全屏#  fillscreen  - Fill the screen# Default is noscale#// 背景图大小,默认自动缩放#banner_scale fillscreen# Icon sizes. All icons are square, so just one value is specified. The# big icons are used for OS selectors in the first row and the small# icons are used for tools on the second row. Drive-type badges are 1/4# the size of the big icons. Legal values are 32 and above. If the icon# files do not hold icons of the proper size, the icons are scaled to# the specified size. The default values are 48 and 128 for small and# big icons, respectively.#// 小图标大小#small_icon_size 96// 大图标大小#big_icon_size 256# 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   selection-big.bmp#selection_small selection-small.bmp# Set the font to be used for all textual displays in graphics mode.# The font must be a PNG file with alpha channel transparency. It must# contain ASCII characters 32-126 (space through tilde), inclusive, plus# a glyph to be displayed in place of characters outside of this range,# for a total of 96 glyphs. Only monospaced fonts are supported. Fonts# may be of any size, although large fonts can produce display# irregularities.# The default is rEFInd's built-in font, Luxi Mono Regular 12 point.#// 字体#font myfont.png# Use text mode only. When enabled, this option forces rEFInd into text mode.# Passing this option a "0" value causes graphics mode to be used. Pasing# it no value or any non-0 value causes text mode to be used.# Default is to use graphics mode.#// 仅文本模式,默认不开启#textonly# Set the EFI text mode to be used for textual displays. This option# takes a single digit that refers to a mode number. Mode 0 is normally# 80x25, 1 is sometimes 80x50, and higher numbers are system-specific# modes. Mode 1024 is a special code that tells rEFInd to not set the# text mode; it uses whatever was in use when the program was launched.# If you specify an invalid mode, rEFInd pauses during boot to inform# you of valid modes.# CAUTION: On VirtualBox, and perhaps on some real computers, specifying# a text mode and uncommenting the "textonly" option while NOT specifying# a resolution can result in an unusable display in the booted OS.# Default is 1024 (no change)#// 文本模式 2 ??#textmode 2# Set the screen's video resolution. Pass this option either:#  * two values, corresponding to the X and Y resolutions#  * one value, corresponding to a GOP (UEFI) video mode# Note that not all resolutions are supported. On UEFI systems, passing# an incorrect value results in a message being shown on the screen to# that effect, along with a list of supported modes. On EFI 1.x systems# (e.g., Macintoshes), setting an incorrect mode silently fails. On both# types of systems, setting an incorrect resolution results in the default# resolution being used. A resolution of 1024x768 usually works, but higher# values often don't.# Default is "0 0" (use the system default resolution, usually 800x600).##resolution 1024 768#resolution 1440 900// 屏幕分辨率->务必设置为自己电脑的分辨率resolution 1366 768#resolution 3# Launch specified OSes in graphics mode. By default, rEFInd switches# to text mode and displays basic pre-launch information when launching# all OSes except OS X. Using graphics mode can produce a more seamless# transition, but displays no information, which can make matters# difficult if you must debug a problem. Also, on at least one known# computer, using graphics mode prevents a crash when using the Linux# kernel's EFI stub loader. You can specify an empty list to boot all# OSes in text mode.# Valid options:#   osx     - Mac OS X#   linux   - A Linux kernel with EFI stub loader#   elilo   - The ELILO boot loader#   grub    - The GRUB (Legacy or 2) boot loader#   windows - Microsoft Windows# Default value: osx#// ??#use_graphics_for osx,linux# 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)// 内存测试#  memtest          - the memtest86 program, in EFI/tools, EFI/memtest86,#                     EFI/memtest, EFI/tools/memtest86, or EFI/tools/memtest// ??#  gptsync          - the (dangerous) gptsync.efi utility (requires external#                     program; see rEFInd documentation for details)// 分区#  gdisk            - the gdisk partitioning program// 苹果恢复模式#  apple_recovery   - boots the Apple Recovery HD partition, if present// windows恢复模式#  windows_recovery - boots an OEM Windows recovery tool, if present#                     (see also the windows_recovery_files option)// ??#  mok_tool         - makes available the Machine Owner Key (MOK) maintenance#                     tool, MokManager.efi, used on Secure Boot systems// ??#  csr_rotate       - adjusts Apple System Integrity Protection (SIP)#                     policy. Requires "csr_values" to be set.// 关于#  about            - an "about this program" option// 退出#  exit             - a tag to exit from rEFInd// 关机#  shutdown         - shuts down the computer (a bug causes this to reboot#                     many UEFI 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)#  fwupdate         - a tag to update the firmware; launches the fwupx64.efi#                     (or similar) program#  netboot          - launch the ipxe.efi tool for network (PXE) booting# Default is shell,memtest,gdisk,apple_recovery,windows_recovery,mok_tool,about,shutdown,reboot,firmware,fwupdate##showtools shell, gdisk, memtest, mok_tool, apple_recovery, windows_recovery, about, reboot, exit, firmware, fwupdate# Boot loaders that can launch a Windows restore or emergency system.# These tend to be OEM-specific.# Default is LRS_ESP:/EFI/Microsoft/Boot/LrsBootmgr.efi#// windows恢复文件#windows_recovery_files LRS_ESP:/EFI/Microsoft/Boot/LrsBootmgr.efi# Directories in which to search for EFI drivers. These drivers can# provide filesystem support, give access to hard disks on plug-in# controllers, etc. In most cases none are needed, but if you add# EFI drivers and you want rEFInd to automatically load them, you# should specify one or more paths here. rEFInd always scans the# "drivers" and "drivers_{arch}" subdirectories of its own installation# directory (where "{arch}" is your architecture code); this option# specifies ADDITIONAL directories to scan.# Default is to scan no additional directories for EFI drivers#// 扫描驱动目录#scan_driver_dirs EFI/tools/drivers,drivers# Which types of boot loaders to search, and in what order to display them:#  internal      - internal EFI disk-based boot loaders#  external      - external EFI disk-based boot loaders#  optical       - EFI optical discs (CD, DVD, etc.)#  netboot       - EFI network (PXE) boot options#  hdbios        - BIOS disk-based boot loaders#  biosexternal  - BIOS external boot loaders (USB, eSATA, etc.)#  cd            - BIOS optical-disc boot loaders#  manual        - use stanzas later in this configuration file# Note that the legacy BIOS options require firmware support, which is# not present on all computers.# The netboot option is experimental and relies on the ipxe.efi and# ipxe_discover.efi program files.# On UEFI PCs, default is internal,external,optical,manual# On Macs, default is internal,hdbios,external,biosexternal,optical,cd,manual##scanfor internal,external,optical,manual# By default, rEFInd relies on the UEFI firmware to detect BIOS-mode boot# devices. This sometimes doesn't detect all the available devices, though.# For these cases, uefi_deep_legacy_scan results in a forced scan and# modification of NVRAM variables on each boot. Adding "0", "off", or# "false" resets to the default value. This token has no effect on Macs or# when no BIOS-mode options are set via scanfor.# Default is unset (or "uefi_deep_legacy_scan false")#// bios兼容模式#uefi_deep_legacy_scan# Delay for the specified number of seconds before scanning disks.# This can help some users who find that some of their disks# (usually external or optical discs) aren't detected initially,# but are detected after pressing Esc.# The default is 0.##scan_delay 5# When scanning volumes for EFI boot loaders, rEFInd always looks for# Mac OS X's and Microsoft Windows' boot loaders in their normal locations,# and scans the root directory and every subdirectory of the /EFI directory# for additional boot loaders, but it doesn't recurse into these directories.# The also_scan_dirs token adds more directories to the scan list.# Directories are specified relative to the volume's root directory. This# option applies to ALL the volumes that rEFInd scans UNLESS you include# a volume name and colon before the directory name, as in "myvol:/somedir"# to scan the somedir directory only on the filesystem named myvol. If a# specified directory doesn't exist, it's ignored (no error condition# results). The default is to scan the "boot" directory in addition to# various hard-coded directories.#// 总是扫描那些目录#also_scan_dirs boot,ESP2:EFI/linux/kernels# Partitions (or whole disks, for legacy-mode boots) to omit from scans.# For EFI-mode scans, you must specify a volume by its label, which you# can obtain in an EFI shell by typing "vol", from Linux by typing# "blkid /dev/{devicename}", or by examining the disk's label in various# OSes' file browsers.# For legacy-mode scans, you can specify any subset of the boot loader# description shown when you highlight the option in rEFInd.# The default is "LRS_ESP".#// 不扫描那些驱动器#dont_scan_volumes "Recovery HD"# Directories that should NOT be scanned for boot loaders. By default,# rEFInd doesn't scan its own directory, the EFI/tools directory, the# EFI/memtest directory, the EFI/memtest86 directory, or the# com.apple.recovery.boot directory. Using the dont_scan_dirs option# enables you to "blacklist" other directories; but be sure to use "+"# as the first element if you want to continue blacklisting existing# directories. You might use this token to keep EFI/boot/bootx64.efi out# of the menu if that's a duplicate of another boot loader or to exclude# a directory that holds drivers or non-bootloader utilities provided by# a hardware manufacturer. If a directory is listed both here and in# also_scan_dirs, dont_scan_dirs takes precedence. Note that this# blacklist applies to ALL the filesystems that rEFInd scans, not just# the ESP, unless you precede the directory name by a filesystem name,# as in "myvol:EFI/somedir" to exclude EFI/somedir from the scan on the# myvol volume but not on other volumes.#// 不要扫描那些目录#dont_scan_dirs ESP:/EFI/boot,EFI/Dell,EFI/memtest86# Files that should NOT be included as EFI boot loaders (on the# first line of the display). If you're using a boot loader that# relies on support programs or drivers that are installed alongside# the main binary or if you want to "blacklist" certain loaders by# name rather than location, use this option. Note that this will# NOT prevent certain binaries from showing up in the second-row# set of tools. Most notably, various Secure Boot and recovery# tools are present in this list, but may appear as second-row# items.# The file may be specified as a bare name (e.g., "notme.efi"), as# a complete filename (e.g., "/EFI/somedir/notme.efi"), or as a# complete filename with volume (e.g., "SOMEDISK:/EFI/somedir/notme.efi").# The default is shim.efi,shim-fedora.efi,shimx64.efi,PreLoader.efi,# TextMode.efi,ebounce.efi,GraphicsConsole.efi,MokManager.efi,HashTool.efi,# HashTool-signed.efi,bootmgr.efi#// 不要扫描那些文件#dont_scan_files shim.efi,MokManager.efi# Scan for Linux kernels that lack a ".efi" filename extension. This is# useful for better integration with Linux distributions that provide# kernels with EFI stub loaders but that don't give those kernels filenames# that end in ".efi", particularly if the kernels are stored on a# filesystem that the EFI can read. When set to "1", "true", or "on", this# option causes all files in scanned directories with names that begin with# "vmlinuz" or "bzImage" to be included as loaders, even if they lack ".efi"# extensions. Passing this option a "0", "false", or "off" value causes# kernels without ".efi" extensions to NOT be scanned.# Default is "true" -- to scan for kernels without ".efi" extensions.#// 和linux相关的#scan_all_linux_kernels false# Combine all Linux kernels in a given directory into a single entry.# When so set, the kernel with the most recent time stamp will be launched# by default, and its filename will appear in the entry's description.# To launch other kernels, the user must press F2 or Insert; alternate# kernels then appear as options on the sub-menu.# Default is "true" -- kernels are "folded" into a single menu entry.##fold_linux_kernels false# Set the maximum number of tags that can be displayed on the screen at# any time. If more loaders are discovered than this value, rEFInd shows# a subset in a scrolling list. If this value is set too high for the# screen to handle, it's reduced to the value that the screen can manage.# If this value is set to 0 (the default), it's adjusted to the number# that the screen can handle.#// 引导项太多,默认将不能处理的去掉#max_tags 0# Set the default menu selection.  The available arguments match the# keyboard accelerators available within rEFInd.  You may select the# default loader using:#  - A digit between 1 and 9, in which case the Nth loader in the menu#    will be the default.#  - A "+" symbol at the start of the string, which refers to the most#    recently booted loader.#  - Any substring that corresponds to a portion of the loader's title#    (usually the OS's name, boot loader's path, or a volume or#    filesystem title).# You may also specify multiple selectors by separating them with commas# and enclosing the list in quotes. (The "+" option is only meaningful in# this context.)# If you follow the selector(s) with two times, in 24-hour format, the# default will apply only between those times. The times are in the# motherboard's time standard, whether that's UTC or local time, so if# you use UTC, you'll need to adjust this from local time manually.# Times may span midnight as in "23:30 00:30", which applies to 11:30 PM# to 12:30 AM. You may specify multiple default_selection lines, in which# case the last one to match takes precedence. Thus, you can set a main# option without a time followed by one or more that include times to# set different defaults for different times of day.# The default behavior is to boot the previously-booted OS.#// 默认进入第一个引导项#default_selection 1// 默认进入微软系统#default_selection Microsoft#default_selection "+,bzImage,vmlinuz"#default_selection Maintenance 23:30 2:00#default_selection "Maintenance,OS X" 1:00 2:30# Enable VMX bit and lock the CPU MSR if unlocked.# On some Intel Apple computers, the firmware does not lock the MSR 0x3A.# The symptom on Windows is Hyper-V not working even if the CPU# meets the minimum requirements (HW assisted virtualization and SLAT)# DO NOT SET THIS EXCEPT ON INTEL CPUs THAT SUPPORT VMX! See# http://www.thomas-krenn.com/en/wiki/Activating_the_Intel_VT_Virtualization_Feature!# for more on this subject.# The default is false: Don't try to enable and lock the MSR.##enable_and_lock_vmx false# Tell a Mac's EFI that OS X is about to be launched, even when it's not.# This option causes some Macs to initialize their hardware differently than# when a third-party OS is launched normally. In some cases (particularly on# Macs with multiple video cards), using this option can cause hardware to# work that would not otherwise work. On the other hand, using this option# when it is not necessary can cause hardware (such as keyboards and mice) to# become inaccessible. Therefore, you should not enable this option if your# non-Apple OSes work correctly; enable it only if you have problems with# some hardware devices. When needed, a value of "10.9" usually works, but# you can experiment with other values. This feature has no effect on# non-Apple computers.# The default is inactive (no OS X spoofing is done).##spoof_osx_version 10.9# Set the CSR values for Apple's System Integrity Protection (SIP) feature.# Values are one-byte (two-character) hexadecimal numbers. These values# define which specific security features are enabled. Below are the codes# for what the values mean. Add them up (in hexadecimal!) to set new values.# Apple's "csrutil enable" and "csrutil disable" commands set values of 10# and 77, respectively.#   CSR_ALLOW_UNTRUSTED_KEXTS       0x01#   CSR_ALLOW_UNRESTRICTED_FS       0x02#   CSR_ALLOW_TASK_FOR_PID          0x04#   CSR_ALLOW_KERNEL_DEBUGGER       0x08#   CSR_ALLOW_APPLE_INTERNAL        0x10#   CSR_ALLOW_UNRESTRICTED_DTRACE   0x20#   CSR_ALLOW_UNRESTRICTED_NVRAM    0x40##csr_values 10,77# Include a secondary configuration file within this one. This secondary# file is loaded as if its options appeared at the point of the "include"# token itself, so if you want to override a setting in the main file,# the secondary file must be referenced AFTER the setting you want to# override. Note that the secondary file may NOT load a tertiary file.#// 读取自己的配置,一般引导界面美化时用到#include manual.confinclude refind-theme-regular/theme.conf# Sample manual configuration stanzas. Each begins with the "menuentry"# keyword followed by a name that's to appear in the menu (use quotes# if you want the name to contain a space) and an open curly brace# ("{"). Each entry ends with a close curly brace ("}"). Common# keywords within each stanza include:#// 名字#  volume    - identifies the filesystem from which subsequent files#              are loaded. You can specify the volume by filesystem#              label, by partition label, or by partition GUID number#              (but NOT yet by filesystem UUID number).// 引导文件#  loader    - identifies the boot loader file// 读到内存文件#  initrd    - Specifies an initial RAM disk file// 图标文件#  icon      - specifies a custom boot loader icon// 系统类型#  ostype    - OS type code to determine boot options available by#              pressing Insert. Valid values are "MacOS", "Linux",#              "Windows", and "XOM". Case-sensitive.// 显示模式#  graphics  - set to "on" to enable graphics-mode boot (useful#              mainly for MacOS) or "off" for text-mode boot.#              Default is auto-detected from loader filename.// 参数#  options   - sets options to be passed to the boot loader; use#              quotes if more than one option should be passed or#              if any options use characters that might be changed#              by rEFInd parsing procedures (=, /, #, or tab).// 打开还是关闭#  disabled  - use alone or set to "yes" to disable this entry.## Note that you can use either DOS/Windows/EFI-style backslashes (\)# or Unix-style forward slashes (/) as directory separators. Either# way, all file references are on the ESP from which rEFInd was# launched.# Use of quotes around parameters causes them to be interpreted as# one keyword, and for parsing of special characters (spaces, =, /,# and #) to be disabled. This is useful mainly with the "options"# keyword. Use of quotes around parameters that specify filenames is# permissible, but you must then use backslashes instead of slashes,# except when you must pass a forward slash to the loader, as when# passing a root= option to a Linux kernel.# Below are several sample boot stanzas. All are disabled by default.# Find one similar to what you need, copy it, remove the "disabled" line,# and adjust the entries to suit your needs.# A sample entry for a Linux 3.13 kernel with EFI boot stub support# on a partition with a GUID of 904404F8-B481-440C-A1E3-11A5A954E601.# This entry includes Linux-specific boot options and specification# of an initial RAM disk. Note uses of Linux-style forward slashes.# Also note that a leading slash is optional in file specifications.// 菜单名字menuentry Linux {    // 使用的图标    icon EFI/refind/icons/os_linux.png    volume 904404F8-B481-440C-A1E3-11A5A954E601    loader bzImage-3.3.0-rc7    initrd initrd-3.3.0.img    options "ro root=UUID=5f96cafa-e0a7-4057-b18f-fa709db5b837"    // 启用或关闭    disabled}# A sample entry for loading Ubuntu using its standard name for# its GRUB 2 boot loader. Note uses of Linux-style forward slashesmenuentry Ubuntu {    loader /EFI/ubuntu/grubx64.efi    icon /EFI/refind/icons/os_linux.png    disabled}# A minimal ELILO entry, which probably offers nothing that# auto-detection can't accomplish.menuentry "ELILO" {    loader \EFI\elilo\elilo.efi    disabled}# Like the ELILO entry, this one offers nothing that auto-detection# can't do; but you might use it if you want to disable auto-detection# but still boot Windows....menuentry "Windows 7" {    loader \EFI\Microsoft\Boot\bootmgfw.efi    disabled}# EFI shells are programs just like boot loaders, and can be# launched in the same way. You can pass a shell the name of a# script that it's to run on the "options" line. The script# could initialize hardware and then launch an OS, or it could# do something entirely different.menuentry "Windows via shell script" {    icon \EFI\refind\icons\os_win.png    loader \EFI\tools\shell.efi    options "fs0:\EFI\tools\launch_windows.nsh"    disabled}# Mac OS is normally detected and run automatically; however,# if you want to do something unusual, a manual boot stanza may# be the way to do it. This one does nothing very unusual, but# it may serve as a starting point. Note that you'll almost# certainly need to change the "volume" line for this example# to work.menuentry "My Mac OS X" {    icon \EFI\refind\icons\os_mac.png    volume "OS X boot"    loader \System\Library\CoreServices\boot.efi    disabled}


0 0
原创粉丝点击