Grub2 doesn't chainload truecrypt loader correctly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: grub2
I am working on a dual-boot system with one hard disk.
sda1 = /boot
sda2 = Windows Vista Ultima encrypted with TrueCrypt System Encryption
sda3 = Ubuntu 9.10 encrypted lvm
The grub2 entry for windows is created by the file 50_windows in the "/etc/grub.d" directory:
#! /bin/sh -e
echo "Adding Windows Vista entry" >&2
cat << EOF
menuentry "Windows Vista" {
set root=(hd0,2)
parttool (hd0,2) boot+
chainloader (hd0,1)
}
EOF
Choosing this entry in the grub2 menu the Truecrypt loader only shows the following message:
"TrueCrypt Boot Loader
Load damaged! Use Rescue Disk: Repair > Options > Restore Truecrypt Boot Loader"
But this would install the Bootloader into the MBR, where grub2 shall be. The TrueCrypt Loader is in /boot/truecrypt.mbr
Booting Ubuntu works without problems.
With grub-legacy the chainloading worked.
The menu.lst:
title Windows Vista
rootnoverify (hd0,1)
savedefault
makeactive
chainloader (hd0,0)
My Grub2 version: 1.97~beta4
tags: | added: image mbr regression |
Same problem here with an XP encrypted partition. It worked well with grub-legacy.
It seems that grub2 has some difficulties chainloading from an image file.
Looking at grub-devel mailing list (is there a similar problem under "Booting TrueCrypt Windows Hard Drive" topic) it seems related to partition or device mapping (not by grub itself, but by the chainloaded OS which maps them wrong.)
It is possible to workaround the problem only in a different configuration, where XP or Vista are on a secondary hard drive, using drivemap to swap drives (look at the mailing list).
No similar solution for XP on a different partition yet (aka the problem reported in this bug).