|
本帖最后由 rkr077 于 2016-12-21 11:54 编辑
自己写的,懒得复制了
rkr077.blog.163.com/blog/static/2685220052016111711549385
GRUB4DOS是GRUB1的便携版和增强版,不是GNU官方的,不支持UEFI。目前的Linux系统都以采用GRUB2,GRUB2支持UEFI,配置文件和命令等都和GRUB4DOS有所不同。最初Linux系统采用LILO作为引导加载器,2002年左右,GNU的GRUB逐步代替了LILO。GRUB2是GRUB的重写版本,支持模块化、多语言、多种文件系统,自2015年绝大多数Linux已采用GRUB2,GRUB2以前的GRUB就被称为GRUB Legacy或GRUB1,GRUB2的版本号>=0.98,GRUB1的版本号<=0.97。除了GRUB2外,支持UEFI的还有Xorboot EFI等等。
UEFI BIOS默认会启动U盘(必须是FAT文件系统)\EFI\boot\bootx64.efi文件。至于光盘,UEFI BIOS无法识别UDF文件系统,因此光盘需要一个特殊的EFI轨道。有的主板本来就包含UEFI Shell(通过UEFI Shell可以自由加载EFI文件,加载UEFI驱动程序,执行系统诊断等等,此种UEFI BIOS最为灵活),有的主板支持浏览文件系统设备并加载指定的.efi文件,有的主板则这两种都不支持。ArchLinux的安装ISO文件也包含UEFI Shell程序。
说到无损将MBR Windows转换为EFI Windows,不重装系统,经本人在虚拟机的测试,以下方法应该是可行的(Win7):
1.使用一个WinPE启动,使用DiskGen、傲梅等支持无损GPT转换的工具对硬盘进行转换(一定要支持无损转换!)
2.将第一个分区的大小缩小,新建一个EFI分区和128MB的MSR分区
3.用bcdboot工具修复系统的引导,最后在BIOS中设置系统启动模式为UEFI即可。
注意以上方法是有危险的,真要这么做的话建议先在虚拟机里实验一次(VMware等虚拟机是支持UEFI模拟的,不过VirtualBox/KVM的UEFI不支持Win7),UEFI对系统性能仅有不大的提升,不作死就不会死! |
|