# Burg (简体中文)

翻译状态： 本文是英文页面 Burg 的翻译，最后翻译时间：2015-03-10，点击这里可以查看翻译后英文页面的改动。

BURG, Brand-new Universal loadeR from GRUB (源自 GRUB 的全新开机引导程序), 是修改自 GRUB 的另一启动器选择。它使用新的对象格式以部署在众多操作系统中，包括 Linux, Windows, OS X, Solaris, FreeBSD, 等等。BURG 能实现更好的主题，也拥有高自订性的配置系统，同时支援文字与图形模式。

警告: BURG 似乎不再被积极维护，因为上游位于 https://code.launchpad.net/~bean123ch/burg/trunk 的 bzr 源自2010年10月就再也没更新过了。我们鼓励用户切换到 GRUB(2) 或者 Syslinux.

## 安装

注意: Crunick 的二进制发布源已停止更新，所有用户必须使用 AUR 里的软件包。

目前所有的 BURG 软件包都位于 AUR 并能使用通常方法编译安装。

仅需安装两个软件包:

- burg-bios-bzrAUR 或者 burg-efi-x86_64-bzrAUR
- burg-themesAUR

提示: 升级时请阅读变更日志，那里会列出新功能和配置选项。

### 编译选项

可调参数位于 PKGBUILD 的开头，用于自定义默认选项之外的功能:

1. _mk_burg_emu (只对于 burg-bios-bzr) (默认=0) - 设置为 `1` 启用 burg-emu 但会使编译时间加倍。不需要 burg-emu 并希望缩短编译时间的用户应该保持为 `0` 不变。
2. _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 找到。目前只有四个包可用:

- burg-themesAUR
- burg-themes-extrasAUR
- persia-theme-burgAUR
- arch-theme-burgAUR

## 小技巧

### 快捷键

     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
     }

警告: 只要添加这两行的其中之一，而不是全部！

## 另见

- Discussion thread on Arch BBS
- burg at Google Code
- burg - Ubuntu Community Documentation (Wiki)

Category:

- Boot loaders (简体中文)