Jump to content











Photo
- - - - -

grub4dos chainloading TrueCrypt encrypted disk produces TrueCrypt memory error


  • Please log in to reply
2 replies to this topic

#1 zjtgka

zjtgka
  • Members
  • 2 posts

Posted 17 January 2014 - 02:37 PM

Hi,

 

I'm trying to use grub4dos to boot a TrueCrypt encrypted disk.

 

The motherboard is a Gigabyte H87-D3H.

 

The first disk is set as the boot disk in the BIOS. grub4dos (0.4.5c-2014-01-17) is installed in the MBR and its files are in the first partition.

 

The second disk is a RAID volume (using the Intel firmware RAID controller) that has been whole disk encrypted (not just system encrypted) using TrueCrypt (7.1a).

 

On the grub4dos disk, menu.lst contains the following:

map             (hd0) (hd1)
map             (hd1) (hd0)
map             --hook
chainloader     (hd0)+1

The TrueCrypt bootloader loads successfully and asks for a password, however when the correct password is entered, TrueCrypt produces the following error:

BIOS reserved too much memory

The setup described above works properly on a Gigabyte P35-DS3 motherboard.

 

TrueCrypt boots properly (on the H87-D3H) if I use the BIOS to boot the TrueCrypt disk directly (instead of the grub4dos disk). Of course this means I cannot use grub4dos.

 

I would greatly appreciate any advice on how I can get this to work.

 

I will try to add more information as I go.

 

Thanks!


Edited by zjtgka, 17 January 2014 - 02:41 PM.


#2 tinybit

tinybit

    Gold Member

  • Developer
  • 1175 posts
  •  
    China

Posted 17 January 2014 - 02:52 PM

 The maps of grub4dos will take up 12K of the conventional memory. Some BIOSes also occupy a large amount of conventional memory.

 

Unluckily TrueCrypt requires some memory. With 12K occupied by grub4dos maps, the conventional memory is not enough for running TrueCrypt.

 

In my point of view, you might have to give up grub4dos, or give up TrueCrypt, or give up this machine.

 

The bootloader called WEE also can do BIOS drive maps. It is a cut-down version of grub4dos. The int13 handler of WEE only occupies 2K (or less) of conventional memory. Have a try.



#3 zjtgka

zjtgka
  • Members
  • 2 posts

Posted 17 January 2014 - 05:08 PM

Thanks for the information tinybit.

 

After reading the TrueCrypt source code it appears I am 1 KiB short on conventional memory!

 

displaymem in grub4dos reports:

Lower memory: 583K, Upper memory (to first chipset hole): 2843664K

The full error from TrueCrypt is:

BIOS reserved too much memory: 571

The 571 is a free memory value, which makes sense if the grub4dos maps use 12 KiB.

 

If I'm reading the TrueCrypt files BootDefs.h, BootSector.asm and BootMain.cpp correctly (I don't know assembly), TrueCrypt needs 572 KiB free or it will load at TC_BOOT_LOADER_LOWMEM_SEGMENT

 

Presumably that means WEE may work.


Edited by zjtgka, 17 January 2014 - 05:10 PM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users