grub

来自百合仙子's Wiki
跳转到导航 跳转到搜索
本页主题是当前广泛使用的 grub 2 版本,关于旧的 grub 1 版本,见 grub legacy

splash 图片

可以这样转换:

convert 源文件名 -resize 1366x768! -colors 24 output.png

相关命令

分区

为 UEFI 系统分区:[1]

# 新建两个分区,一个 2 MiB 的 BIOS boot partition,一个 512 MiB 的 EFI System
sgdisk -n 1:0:+2M -t 1:ef02 -n 2:0:+512M -t 2:ef00 /dev/sdb

安装

Arch 系统中使用

grub-install /dev/sda
# or
sudo grub-install /dev/disk/by-label/boot --boot-directory=/mnt/boot

同时安装 MBR 和 UEFI 支持:

sudo grub-install --target=i386-pc --boot-directory=/run/media/lilydjwg/boot4/boot /dev/sdc
sudo grub-install --target=x86_64-efi --efi-directory=/run/media/lilydjwg/boot4 --boot-directory=/run/media/lilydjwg/boot4/boot /dev/sdc

重新生成配置文件

Arch 系统中使用

grub-mkconfig -o /boot/grub/grub.cfg

Ubuntu 中使用

update-grub

交互

使用翻页器

set pager=1

引导 DOS

首先加载 syslinuxmemdisk,然后载入 DOS 镜像即可。[2]

linux16 /boot/memdisk
initrd16 /boot/dos.img
boot

此方法可能出错。另见 grub4dos

grub rescue

示例如下

set root=(hd0,8)
set prefix=(hd0,8)/boot/grub
insmod normal
normal

双启动U盘

分区

  • 带有 bios_grub 标志的空分区,2M
  • 带有 boot 和 efi 标志的 FAT32 分区(EFI)
  • 数据分区

命令

sudo grub-install --target=i386-pc --boot-directory=/run/media/lilydjwg/RESCUE-EFI /dev/sdb
sudo grub-install --target=x86_64-efi --efi-directory=/run/media/lilydjwg/RESCUE-EFI --boot-directory=/run/media/lilydjwg/RESCUE-EFI --removable /dev/sdb

注意事项

找不到字体文件

/boot 单独分区时会无法载入字体文件 /usr/share/grub/unicode.pf2 。可将其移到 /boot/grub 下并修改 /etc/default/grub

GRUB_FONT="/boot/grub/unicode.pf2"

操作系统检测

Arch 默认检测不到多少操作系统,可尝试安装 os-prober 软件包。

在 GPT 分区表上安装

使用 gparted 时,在磁盘最开始建立一个 1M 大小的未格式化分区,标志 bios_grub[3]

硬件兼容性

Dell 的某些主板上,grub2 会挂在 “Welcome”界面。[4]

参见

外部链接

参考资料