On Wed, Aug 10, 2011 at 8:01 PM, robert <[email protected]> wrote: > Ok. Here's the problem. > > Running a debian-based o/s, in /etc/grub.d/40_custom (set to rwx-r_x-r_x) > > I have this: > #!/bin/sh > exec tail -n +3 $0 > menuentry "Sysrescue" { > set root=(hd1,2) > linux /sysrcd/rescuecd subdir=sysrcd > initrd /sysrcd/initram.igz > } > > then > $sudo update-grub > > well and good. "Sysrescue" shows up in the grub boot menu > > However, when I select that menu item, I get: > error: hd1,2 cannot get C/H/S values > error: you need to load the kernel first > > but, when I boot to a grub prompt and issue the following commands: > grub>set root(hd1,2)
The syntax is "set root=(hd1,2)" not "set root(hd1,2)" (not to mention that it's more reliable to search by UUID). This could be the source of the difference between executing the menu entry and using the grub shell (by having a typo that causes $root not to be changed you are likely allowing it to keep its current value, which is likely the correct one and "(hd1,2)" is incorrect). Even if that is not the exact difference you are almost certainly typing something different at the grub shell compared to what is in your grub.cfg as there should be no difference in the way they these lines would be interpreted (other than needing to run "boot" explicitly at the grub shell). > grub>linux /sysrcd/rescuecd subdir=sysrcd > grub>initrd /sysrcd/initram.igz > grub>boot > > everything goes swimmingly. machine boots to the requested o/s > > any suggestions? > > Thanks in advance. > > Robert > > _______________________________________________ > Help-grub mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/help-grub > _______________________________________________ Help-grub mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-grub
