我在第二个内置驱动器 (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 并确保它存在来确保该部分正确。