0

My computer won't boot. Boot-repair info gives me this info. When I try to start up the computer it gives me the error

error: file '/boot/grub/i386-pc/normal.mod' not found. grub rescue> (Why it even shows i386-pc, the grub I have installed is x86_64?)

Hitting F11 or F12 shows Operating System Not found.

I wonder if my computer is even booting UEFI DUET.

Question:

  1. If UEFI manager gives me option for booting different OSes, do I really need any boot-loader like sysl?

1 Answer 1

1

DUET is a weird tool for enabling BIOS-based computers to boot in (U)EFI mode. It's more of a developer's tool than anything else, although it can be useful if you've got over-2TiB hard disks. Given your Boot Info Script output, it doesn't look like you need DUET, since your hard disks are all well under the 2TiB limit of the MBR partitioning system that Windows requires when booting in BIOS mode. OTOH, there are no gaps between your partitions on /dev/sda (which uses GPT), which means that converting from GPT to MBR will require resizing partitions. Overall, if you've installed DUET because you believed you needed it, it might be best to revert to an MBR/BIOS setup, despite the repartitioning needed to do this. If, OTOH, you just want to learn about EFI-mode booting, you can certainly keep trying. I'll address this latter possibility....

First, your computer is probably not booting DUET -- although it could conceivably be doing so and then launching an EFI-mode GRUB that's giving you the error. DUET gives a distinctive splash screen with the name "TianoCore" prominently displayed. Given the files on your disk, the EFI/Boot/bootx64.efi file will be launched as a boot loader after a delay, but it's not clear if that's an EFI version of GRUB, Microsoft's boot loader, or something else. (My hunch is it's Microsoft's boot loader, though.)

If you intend to boot only OSes that support EFI-mode booting, your best bet may be to forget GRUB (at least BIOS-mode GRUB); it's overkill if your only intent is to use it to launch DUET. For that, SYSLINUX is perfectly usable. I don't know where you got your DUET or what instructions you followed to install it, but this build includes a setup script and some necessary support tools. This page describes the complete setup process. When installed according to those directions, your system will boot via SYSLINUX, not GRUB. SYSLINUX will launch DUET more-or-less directly, and you'll then use DUET's boot manager, or some other boot manager (GRUB, rEFIt, rEFInd, gummiboot, etc.) to select your boot OS.

If you want to use a BIOS-mode GRUB to select between BIOS-mode OS installations and DUET (and from there EFI-mode OSes), then you should probably add a grub2 tag to your question, since a failure of BIOS-mode GRUB has nothing to do with DUET.

1
  • I got it working after reinstalling DUET (just an hour after posting, Superuser won't let me publish until 8 hours later). For some strange reason, when I try to install it through ubuntu, it was throwing me some error, and then I tried it using sysrescuecd and it worked like a charm. I guess somehow EFI got corrupted. I also have some problem, sometime when I fire up my computer it gives me error in red saying "Unknown interrupt, Halt! 16h". It occurs mostly after soft reboot. Commented Nov 13, 2012 at 7:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .