2011年底,Linux内核开发人员开始研究一种新方法,用于启动基于EFI系统的Linux。该方法将Linux内核变成一个EFI应用程序。一旦被加载了,该内核将接管计算机,在严格意义上有效果地绕开/忽略启动加载器(boot loader)的需求。该方法有其独特的优缺点,这些优缺点将在本文中详细阐述。(如果你对技术的细节感兴趣,请阅读 Linux Kernel Mailing
List thread on this topic.)
注意:这部分是关于编译内核的。如果你正在使用的是3.3.0 或者是更新的支持EFI stub loader的内核,那么你需要做的就是将内核以及它的初始RAM disk 复制到 ESP或是在ESP上的安装驱动(driver)(以便内核可以从EFI被读取)。但是,你必须知道如何运行(launch)内核,"Configuring and Using the EFI Stub
Loader."这里有简单介绍。
安装EFI stub loader 需要配置你的3.3.0内核 (或者更新的内核)并对其进行编译(也可以用适合的预配置好的内核),然后将内核安装到ESP(或某些EFI可以读取的分区)。如果在编译内核时不能独立完成,可以浏览下相关的网页,比如How to: Compile Linux Kernel
2.6 和 Compiling the Linux Kernel。如果你之前没有做该项工作,那就得从数千个选项中选出你所需要的选项。通用型的内核比较方便,因为它的选项可以适应几乎所有的计算机,这与版本提供者(distribution provideer)使用的相似。但是,你需要留意一两个内核配置选项:
CONFIG_EFI_STUB--- 该选项的位置在这里:accessible as Processor Type and Features
-> EFI Runtime Service Support -> EFI Stub Support。这个选项是将EFI stub loader添加到内核的重要选项,如果想使用该功能就必须勾选它。
3.从文件加载命令行并备份系统分区的例子:
命令行格式: erestore.exe /CommandFile=cmdfile.txt
cmdfile.txt文件内容(注意:只有一行,不用再写软件的可执行文件名erestore.exe,直接写命令及参数):
PartitionToImage src=0:0 srcsign=86898689 dst=0:0 dstsign=86898689 compress=1 remark="" exclude=excfile.txt CreatePart=Y iImagePartStartSector=69844992 iImagePartEndSector=83886079 CreatePrimary=N Install=Y WaitSeconds=3 /Reboot
excfile.txt文件记录了要排除的文件夹列表。每行结尾处的“Y”或“N”表示是否保留文件夹本身。为“Y”时,只排除文件夹内的所有文件,文件夹本身仍会备份,还原后将只剩下一个空文件夹。文件内容如下:
\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\Content.IE5 Y
\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5 Y
\Documents and Settings\LocalService\Local Settings\Temporary Internet Files\Content.IE5 Y
\Documents and Settings\NetworkService\Local Settings\Temporary Internet Files\Content.IE5 Y
\pagefile.sys N
\Documents and Settings\Administrator\Local Settings\Temp Y
\Documents and Settings\Default User\Local Settings\Temp Y
\Documents and Settings\LocalService\Local Settings\Temp Y
\Documents and Settings\NetworkService\Local Settings\Temp Y