I have found some related questions but none has solve my problem.
I have a laptop with a hard disk with Windows. I wanted to install Debian in a second hard disk so I attached it with a caddy and removed the Windows hard disk (just in case, you know). I then successfully installed Debian with GRUB installed in the same disk as it was the only one at that moment. Then I put back the Windows hard disk.
Now from the BIOS I can choose which drive I want to boot. The Windows drive boots perfectly, but when I choose to boot from the Debian drive it shows the GRUB menu and then a black screen with a blinking dash.
If I remove the Windows hard disk I can successfully boot Debian, so the problem must be with the GRUB configuration.
Thus, I go for the GRUB console. I detect linux is in the (hd0,5) partion and vmlinuz and initrd are reachable from the root, so I go for the usual:
grub> set root=(hd0,5) grub> linux /vmlinuz root=/dev/sda5 grub> initrd /initrd.img grub> boot
Then I can see a lot of initrd output which then goes for a bunch of
Begin: Running /scripts/local-block ... done. messages and finally fails with a
sda5 doesn't exists. Dropping to a shell like message. But well... you know... it does exist, so I'm blocked.