我应该在 grub.cfg 中做哪些更改才能从第二个内部驱动器启动 Chromium OS Lime?

我应该在 grub.cfg 中做哪些更改才能从第二个内部驱动器启动 Chromium OS Lime?

我在第二个内置驱动器 (sdb) 上安装了 Chromium OS Lime,但似乎无法启动。当我尝试从第二个驱动器 (SSD) 启动它时,它会从 USB 启动,但它会带我进入命令sh:grub>行。有人知道如何修复这个问题吗?

这是 grub.cfg:

set default=0
set timeout=2

# NOTE: These magic grub variables are a Chrome OS hack. They are not portable.

menuentry "local image A" {
  linux $grubpartA/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait ro noresume noswap loglevel=1 noinitrd i915.modeset=1 cros_efi root=/dev/$linuxpartA
}

menuentry "local image B" {
  linux $grubpartB/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait ro noresume noswap loglevel=1 noinitrd i915.modeset=1 cros_efi root=/dev/$linuxpartB
}

menuentry "verified image A" {
  linux $grubpartA/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait ro noresume noswap loglevel=1 noinitrd dm_verity.error_behavior=2 dm_verity.max_bios=1024 dm_verity.dev_wait=0 i915.modeset=1 cros_efi root=/dev/dm-0 dm=\"vroot none ro,0 1740800 verity payload=PARTUUID=F11EE421-4B7A-6B45-999A-0C685CA171AF hashtree=PARTUUID=F11EE421-4B7A-6B45-999A-0C685CA171AF hashstart=1740800 alg=sha1 root_hexdigest=0001ede5fb50caae1b43d0526d23ff0cdbcea6a3 salt=51a3c604a2e8e4d4901f2d14aab6d753af2730ae47deac39c5d012dee47fd6b0\"
}

menuentry "verified image B" {
  linux $grubpartB/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait ro noresume noswap loglevel=1 noinitrd dm_verity.error_behavior=2 dm_verity.max_bios=1024 dm_verity.dev_wait=0 i915.modeset=1 cros_efi root=/dev/dm-0 dm=\"DMTABLEB\"
}

# FIXME: usb doesn't support verified boot for now
menuentry "Alternate USB Boot" {
  linux (hd0,3)/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait ro noresume noswap loglevel=1 noinitrd root=/dev/sdb3 i915.modeset=1 cros_efi
}

这是分区布局:

在此处输入图片描述

启动分区是 sbd12,即 17 MB 的 FAT 分区。H-STATE 是 sbd1,C-ROOT 是 sbd3。

这三个分区包含的内容如下:

在此处输入图片描述

3CCE-5799 是 17 MB FAT 分区。但我不确定这些有多大帮助。

答案1

我假设 grub 设备映射是正常的,并且 sda 映射到 hd0 而 sdb 是 hd1,则 grub 中的这个条目应该可以工作:

menuentry "Chrome OS SSD" {
  linux (hd1,3)/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait ro     noresume noswap loglevel=1 noinitrd root=/dev/sdb3 i915.modeset=1 cros_efi
}

从提供的文件布局来看,所有内容都在 c-root 中,所以应该没问题。唯一的问题是它试图从硬盘加载内核。/boot/vmlinuz通过在 c-root 中查看 /boot 并确保它存在来确保该部分正确。

相关内容