x86引导代码程序员:如何修改GPT表的Truecrypt引导加载程序代码?

x86引导代码程序员:如何修改GPT表的Truecrypt引导加载程序代码?,x86,bootloader,truecrypt,X86,Bootloader,Truecrypt,TrueCrypt(TC)引导加载程序似乎很大,因此在MBR(446字节)和MBR之后但在第一个分区之前的32KB孔之间被分割。TrueCrypt似乎是硬编码的,在扇区0之后发现32KB的洞(即纯MBR方案)。因此,当我们有一个GPT(它占据了前34个扇区/17407字节)而不是一个MBR时,这个32KB的洞应该滑得更远——事实并非如此 我认为解决方案是“简单的”,即不只是在MBR之后寻找32KB的可用空间(用于剩余的TC引导加载程序),而应该灵活地在GPT之后寻找32KB的空间。总之 // m

TrueCrypt(TC)引导加载程序似乎很大,因此在MBR(446字节)和MBR之后但在第一个分区之前的32KB孔之间被分割。TrueCrypt似乎是硬编码的,在扇区0之后发现32KB的洞(即纯MBR方案)。因此,当我们有一个GPT(它占据了前34个扇区/17407字节)而不是一个MBR时,这个32KB的洞应该滑得更远——事实并非如此

我认为解决方案是“简单的”,即不只是在MBR之后寻找32KB的可用空间(用于剩余的TC引导加载程序),而应该灵活地在GPT之后寻找32KB的空间。总之

// made up variable names
if (MBR)
{
    startOffsetTCBootloader = sizeOfMBR;
} 
else if (GPT)
{
    startOffsetTCBootloader = sizeOfGPT;
}
// plug back startOffsetTCBootloader into other calcs/jumps
虽然我有汇编和引导加载程序方面的背景,但没有一个是在x86汇编中。所以我得花点时间自己修好。另外,我正忙于其他几个项目,所以很遗憾,我现在没有时间挑选一个宠物项目。因此,这是一个对我的同事们的帮助,他们可能处于更好的位置:)

所以:有人知道如何修改吗?最好还是回到核心存储库,但是分叉不是一个好主意,因为主分支似乎没有响应

仅供参考,我确实给TC开发者写过信,但我认为我的电子邮件进入了一个黑洞。。。所以我们必须自己解决。GPT磁盘是未来的发展趋势,因此此修复程序应该具有很长的使用寿命,并且还有许多其他使用情形

有用链接:

  • Truecrypt(TC)来源:
  • Truecrypt(TC)许可证:
  • 我的用户级问题:
  • 更多技术细节(其他人):由其他人提供

  • 等等,您正在使用堆栈溢出来提交功能请求?我正在请求帮助/代码片段来帮助我克服该限制,假设更改已本地化。官方的特性请求也已经发布在TC的官方论坛上-这是一个独立的变通方法,甚至可能是一个fork。除非你个人打算设计变通方法或fork,否则堆栈溢出不是放置这个的正确位置。这里的人很乐意帮助你并向你指出正确的方向,但是我们不会完成你的整个项目。