基本安装

基本安装

几天前,我用 coreboot 刷新了我的 x230教程

现在,当我安装时芬图 使用它的GPT 分区指南(不使用MBR分区),我收到以下错误:

EFI variables are not supported on this system

这是否意味着 Coreboot/SeaBIOS 仅使用 MBR 分区?

答案1

为了回答这个问题,核心引导+SeaBIOS支持GPT分区

强调拥有 UEFI 或 BIOS 固件与启动磁盘可以拥有的分区表类型正交的评论是正确的:

  • UEFI支持MBR和GPT
  • BIOS 支持 MBR 和 GPT1
  • coreboot+SeaBIOS 支持 MBR 和 GPT1

¹您只需在 BIOS 和 coreboot+SeaBIOS 上为 GPT 创建 BIOS 启动分区即可。

我最近买了一台带有 coreboot+SeaBIOS 的 Librem 14 笔记本电脑,我也想知道同样的事情:coreboot 会对使用 GPT 分区造成一些特殊障碍吗? (在搜索引擎中搜索这个问题让我想到了这个问题!) 令人高兴的是,我可以报告使用经典的 BIOS/GPT 布局对我来说很有效。

基本安装

遗憾的是,我从未安装过 Gentoo(我使用的发行版是 Arch),而且我不知道为什么你的系统会抱怨 EFI 变量,但希望我可以提供一些可跨发行版安装传输的信息:

  • 我用了基本 BIOS/GPT 分区方案,除了交换分区(我使用交换文件)。

    使用gdisk,我对驱动器进行了 GPT 分区 ( /dev/nvme0n1),创建了一个 1 MiB BIOS 启动分区,然后是跨越驱动器其余部分的根分区。

    BIOS启动分区有没有文件系统( FSTYPE)或挂载点,以及我的根分区的 ext4。

    lsblk -o name,parttypename,fstype,size,mountpoint

    NAME             PARTTYPENAME     FSTYPE        SIZE MOUNTPOINT
    nvme0n1
    ├─nvme0n1p1      BIOS boot                        1M
    └─nvme0n1p2      Linux filesystem ext4        931.5G /
    
  • 然后我安装了 GRUB:grub-install --target=i386-pc /dev/nvme0n1

    (你可能会想,'什么?!i386-pc???我使用的不是 1985 年的 32 位 CPU!' 但这是grub-install默认标志,而且它用于 x86-64 BIOS 系统的标志,包括 coreboot+SeaBIOS 系统。我在这里提到它只是为了解释它在其他来源中的出现,并阻止人们包含错误的标志,例如x86_64-efi,它仅适用于 UEFI。)

    之后,您可以通过编辑来设置任何更好的 GRUB 设置/etc/default/grub(但我没有设置任何设置)。

    然后我生成了 GRUB 配置文件:grub-mkconfig -o /boot/grub/grub.cfg

之后,我安装了显示管理器和桌面环境,启用了一些服务,然后重新启动到新的 Arch 安装。我很想列出全部我的安装的血腥细节(我大致遵循Arch 安装指南),但它们超出了这里的范围;关键信息应该是上面列出的分区方案和 GRUB 安装。

使用 LUKS 磁盘加密进行安装

要在 coreboot+SeaBIOS 上加密 GPT 磁盘,有效的设置是上面的基本设置加上加密根分区 ( p3) 并添加未加密的约 500 MiB/boot分区 ( p2)。

lsblk -o name,parttypename,fstype,size,mountpoint

NAME             PARTTYPENAME     FSTYPE        SIZE MOUNTPOINT
nvme0n1                                       931.5G
├─nvme0n1p1      BIOS boot                        1M
├─nvme0n1p2      Linux filesystem ext2          512M /boot
└─nvme0n1p3      Linux filesystem crypto_LUKS   931G
  └─cryptroot                     ext4          931G /

奖金信息

对于任何想知道如何使用上述分区方案进行此操作的人,首先将加密的根分区设置为根分区,打开它并格式化它。

cryptsetup --verify-passphrase --verbose luksFormat /dev/nvme0n1p3
cryptsetup open /dev/nvme0n1p3 cryptroot
mkfs.ext4 /dev/mapper/cryptroot

然后安装它和/boot分区...

mount /dev/mapper/cryptroot /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p2 /mnt/boot

...并且,对于 Arch 来说,通常遵循安装指南从那时起。

当需要设置引导加载程序 (GRUB) 时,与 GRUB 安装详细信息的唯一区别基本安装上面的部分是你将要想要在 中配置 GRUB 设置/etc/default/grub,您需要将GRUB_CMDLINE_LINUX顶部的 var 编辑为

GRUB_CMDLINE_LINUX="cryptdevice=UUID=XXXXXX:cryptroot root=/dev/mapper/cryptroot"

在哪里XXXXXX的 UUID 在,加密根分区,nvme0n1p3 (不是内部、解密的根分区,cryptroot):

lsblk -o name,uuid

NAME             UUID
...
└─nvme0n1p3      XXXXXX
  └─cryptroot

然后生成 GRUB 配置文件并按照以下步骤进行基本安装部分。

相关内容