Burg (简体中文)
BURG, Brand-new Universal loadeR from GRUB (源自 GRUB 的全新开机引导程序), 是修改自 GRUB 的另一启动器选择。它使用新的对象格式以部署在众多操作系统中,包括 Linux, Windows, OS X, Solaris, FreeBSD, 等等。BURG 能实现更好的主题,也拥有高自订性的配置系统,同时支援文字与图形模式。
Contents
安装
目前所有的 BURG 软件包都位于 AUR 并能使用通常方法编译安装。
仅需安装两个软件包:
- burg-bios-bzrAUR 或者 burg-efi-x86_64-bzrAUR
- burg-themesAUR
编译选项
可调参数位于 PKGBUILD 的开头,用于自定义默认选项之外的功能:
- _mk_burg_emu (只对于 burg-bios-bzr) (默认=0) - 设置为
1
启用 burg-emu 但会使编译时间加倍。不需要 burg-emu 并希望缩短编译时间的用户应该保持为0
不变。 - _rm_build_dirs (默认=1) - 设置为
1
会删除编译目录以节约宝贵的空间。这不会影响 Bazaar checkout tree 或 ${srcdir} 里的其他东西。
初始化设置
主要的配置文件 burg.cfg
并不由任何软件包提供。用户们必须通过使用 update-burg 复制一份样本,手动创建或者自动生成来获取一份。见#配置部分。
如果是第一次安装,输入以下命令以安装到 MBR:
# burg-install /dev/sda --no-floppy
把 /dev/sda
换成你的硬盘设备名。
配置
BURG 是基于 GRUB 的,配置方法也相同。主要的配置文件是 /boot/burg/burg.cfg
,通常是自动生成的。也可以手动创建一个。然而,这会非常乏味,尤其是在添加图形特性时。调整和修改现有的更加可行。
生成文件的配置是 /etc/default/burg
,脚本位于 /etc/burg.d/
.
生成配置文件
可通过以下命令新建 burg.cfg
:
# burg-mkconfig -o /boot/burg/burg.cfg
Arch Linux 提供了一个快捷方式:
# update-burg
默认选项
/etc/default/burg
文件是一个 Bash 脚本并且在 burg-mkconfig 生成配置时被自动引用。默认文件就是要提供一个简单的方法让用户来控制这个过程。这些条目是 Bash 变量和数组,并且与 GRUB 使用的相同。
burg.d 脚本
/etc/burg.d/
目录包含创建 burg.cfg
时要使用的脚本,按文件名数字顺序被调用。
脚本可以通过改变文件权限模式的可执行位来打开或关闭。
脚本 40_custom
是旨在是用户可编辑的,用户也可以按自己的喜好自由创建多个脚本。记住发送给 stderr 的任何东西都在终端观察,发送给 stdout 的任何东西都逐字添加到 burg.cfg
.
预览和运行时配置
编辑配置时,我们不用重启来观察变更。如果编译时在 PKGBUILD 里启用了的话,burg-emu 命令应该是可用的。以 root 身份运行它以预览 BURG 开机时的样子。burg-emu 允许用户使用开机时 BURG 的绝大多数功能 (除了,你懂的,引导).
BURG 也支持运行时配置,比如通过菜单和 BURG 的命令行更换主题。设置以变量的形式保存于 /boot/burg/burgenv
.
主题
选择 BURG 而不是其他引导器的主要原因就是它的主题系统。要给 BURG 添加主题,复制主题到目录 /boot/burg/themes/
并更新配置。
要更换主题,在运行 BURG 时按 T
,会列出可用的主题。使用方向键高亮你想要的主题并按 Enter 来确认。一切都可在 burg-emu 里完成,不需要重启。
主题包可在 AUR 找到。目前只有四个包可用:
小技巧
快捷键
F1 / h - 帮助 F2 / t - 更改主题 F3 / r - 更改分辨率 F5 / Ctrl-x - 结束编辑 F6 - 下一个窗口 F7 - 展开己折叠项目 F8 - 切换纯文字与图形模式 F9 - 关机 F10 - 重启 f - 切换折叠与展开模式 c - 打开终端 2 - 打开两个终端 e - 编辑目前的指令 q - 退出图形模式 i - 显示主题信息 n - 同类別的下一个项目 w - 下一个 Windows 条目 u - 下一个 Ubuntu 条目 ESC - 从窗口或菜单离开
想列出完整快捷键列表,请在 BURG 里按F1
.
重要文件
以下文件和目录控制 BURG 的配置以及运行情况。
-
/boot/burg/
-
/boot/burg/burg.cfg
-
/boot/burg/burgenv
-
/etc/default/burg
-
/etc/burg.d/
探测其他系统
在某些情况下你会在另一个硬盘或分区安装其它操作系统,而你会希望它也列在 BURG 里。你可以手动往 /etc/burg.d/40_custom
里添加对应条目,像是:
对于 Windows:
menuentry "Windows 7" --class windows --class os { insmod ntfs set root='(hd0,1)' search --no-floppy --fs-uuid --set f28620c186208865 chainloader +1 }
对于启用了 plymouth 的 Debian:
menuentry 'Debian' --class debian --class gnu-linux --class gnu --class os --group group_main { insmod ext2 set root='(hd0,4)' search --no-floppy --fs-uuid --set c5e0fb03-5cbe-4b79-acdc-518e33e814ac echo 'Loading Linux 2.6.35-trunk-amd64 ...' linux /boot/vmlinuz-2.6.35-trunk-amd64 root=UUID=c5e0fb03-5cbe-4b79-acdc-518e33e814ac ro quiet splash echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-2.6.35-trunk-amd64 }
或者你可以安装 os-prober 并重新生成 /boot/burg/burg.cfg
:
# burg-mkconfig -o /boot/burg/burg.cfg
现在 BURG 就应该显示出其它操作系统的图标了。
目录化 (群组化)
如果你想使用 BURG 的折叠特性 (目录化会把菜单条目分类,例如 Arch 和 Arch Fallback 会归于同一个分类下), 你可以在 BURG 加载时按 F
.
在 burg.cfg
里,当你启用目录化时名字里包含 group 的条目会被自动折叠。
BURG 会根据条目的 class 来设置图标。例如,--class arch 是 Arch Linux 条目的组成部分,这样就会显示 Arch 的 logo.
探测 Linux 3.0
burg-mkconfig 可能不会为 Linux 3.0 菜单条目添加 initrd 行。你可以手动编辑 /boot/burg/burg.cfg
来添加,例如:
menuentry 'Arch GNU/Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os --group group_main { { # ... # ... # ... initrd /boot/initramfs-linux.img # for normal boot entry initrd /boot/initramfs-linux-fallback.img # for fallback boot entry }