-
-
本文为转载:
点击打开链接
- 以下为个人理解
-
常用的可以修改的配置:
- timeout,等待时间
- resolution,屏幕分辨率
- default_selection,默认进入的系统选项
- include,引导界面美化常用
- max_tag,最多可显示几个启动项
- 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.conf include 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 slashes menuentry 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 }
-
本文为转载: