0

I have a working Debian installation. It boots from /sda using GRUB2, with the root partition on sda1. Its a standard install, nothing strange.

I've added a 16GB mSATA device which appears as sdc. I want to place the kernel and initrd here and boot from it, but keep the root on sda1.

Installing GRUB into sdc is not an issue. Having it properly find /boot appears to be. After booting from this disk I end up in the GRUB rescue shell, with it unable to find /boot/grub/i386-pc/normal.mod. This sequence of commands is enough to boot the system:

set root=hd2,1
set prefix=(hd2,1)/boot/grub
insmod normal
normal

Running set alone indicates that the root and prefix are still set to hd0. I do not know how to set those. The must be stored in the stage1 bootloader somewhere, but I don't see obvious options to any of the GRUB tools to set them.

Ideally, I'd be able to do this with some standard configuration so its safe against GRUB upgrades in the future.

3
  • As to why I'm doing this, the intent is to encrypt sda and use a script in the initrd to do a challenge/response sequence with a Yubikey, use those credentials to unlock the decryption key, and then mount the sda with LUKS. I've got this bit all sorted out, its just the boot that's causing me problems.
    – Rob N
    Apr 24, 2015 at 11:33
  • Has the boot order been set in BIOS? Apr 24, 2015 at 15:48
  • Yes. "After booting from this disk..."
    – Rob N
    Apr 24, 2015 at 23:50

0

You must log in to answer this question.

Browse other questions tagged .