无忧启动论坛

标题: vbox在efi模式下如何安装win7 [打印本页]

作者: jneny    时间: 2011-11-7 02:00
标题: vbox在efi模式下如何安装win7
如题:有人在vbox 4.1.4的efi模式下gpt分区安装win7 x64成功的吗?当前我只安装上了grub2。

请指教 :)
作者: zsjyzx    时间: 2011-11-7 16:13
歇吧,不支持 win7
作者: fujianabc    时间: 2011-11-7 16:52
vbox的efi是试验品,只支持某些linux,不支持windows
作者: ones    时间: 2011-11-7 18:37
支持启动fedora live cd,好像也可以启动windows 7旗舰版吧
作者: zsjyzx    时间: 2011-11-7 20:25
我指的是不支持win7 efi 启动。
作者: zsjyzx    时间: 2011-11-7 20:38
Note that the VirtualBox EFI support is experimental and will be enhanced as EFI matures and becomes more widespread. While Mac OS X and Linux guests are known to work fine, Windows guests are currently unable to boot with the VirtualBox EFI implementation.
作者: jneny    时间: 2011-11-7 23:03
呵呵,浪费了我不少时间。
1、现在在笔记本上efi也普遍吗?但是还是采用了个bios画面?那如何判断是否是efi还是旧的bios
2、bios-gpt启动只要操作系统支持,比如linux的内核就有gpt识别功能,当然要先由grub2先识别gpt分区并引导内核,而win不支持bios-gpt
问题来了,efi-mbr模式的时候首先是需要os支持efi是吗?然后就没阻碍了。因为接下来是mbr。是这样吗?还是efi-mbr的时候它会把自己切换成旧bios模式?
3、efi,bios,mbr,gpt,他们之间有什么依赖没?比如gpt是efi里的标准之一,那么mbr必须在bios的支持下才能安装系统并且启动吗?efi-mbr下的分区能被系统识别吗?这4种情况可以混搭吗?

4、前面搜索到贴子,abc有讲过,苹果的efi 是1.x版本,但是我已经在苹果最新本上安装了x32的win7,能启动并引导。
但是查看了大部分的vista\win7\2008r2,只有64位系统(或光盘)上才有bootmgrfw.efi,和efi目录。而efi是微软和intel制订的标准。标准的efi只能支持64位系统吗? 请问苹果的bootcamp引导原理?

5、创建一个混合mbr除了gdisk (gpt disk)还有其它工具吗?试过几次老是把002扇区 的gpt分区表头清零了。有时又不会。太危险了。

6、有混合gpt的概念吗?
作者: jneny    时间: 2011-11-7 23:18
7、2T限制是bios的问题还是MBR设计的缺陷?
作者: fujianabc    时间: 2011-11-7 23:47
楼主10万个为什么?
1. 今年的SB平台和APU平台的新机器基本都支持UEFI。具体不取决于画面是图形的还是文字的,关键在于是否支持UEFI方式启动。
2. 原则上,只要操作系统和引导程序支持GPT,bios+GPT模式也可以。EFI+MBR启动一般来说并不是问题,uefi固件都能直接读取mbr硬盘里面的文件的,也不会自动切回bios模式。win7 x64我也试过可以以UEFI+MBR方式启动,不过安装程序不支持UEFI+MBR安装,会强制要求转成gpt分区表。
3. 实际上mbr/gpt和efi/bios并没有本质联系,只是操作系统开发商(主要是MS)还有硬件厂商(intel为主)把mbr/bios和gpt/efi作了区分。前面例子,某些linux支持bios+GPT,而win7 x64支持uefi+mbr启动就说明可以混搭,当然要操作系统支持混搭。
4. 苹果安装32位windows,使用的efi中的bios兼容层,所以还是模拟bios启动方式的,苹果上装x64的win7也一样。因为苹果的是efi 1.x,而windows要求uefi 2.x。uefi 2.x是原生64位的,所以只能支持64位系统,要运行32为或者16位系统只能用bios兼容层。
5. 混合分区表就是分区表同时有mbr和gpt的特征,所以既是混合mbr也是混合gpt。

7. mbr和bios都限制了2TB容量。mbr空间不够,在时空论坛有人提到bios里面访问硬盘用的是32位长整型,所以只能支持到2^32*512字节。虽然理论上可以让bios支持更大的硬盘,不过基本上所有实模式下的程序都有2T容量限制,所以意义不大
作者: 快雪时晴    时间: 2011-11-8 09:06
标题: 回复 #9 fujianabc 的帖子
科普了一回,新东西,木有接触过
作者: jneny    时间: 2011-11-8 09:48
多谢abc大大,还有几个疑问。
第3个问题,再问下。efi支持mbr和gpt的磁盘直接读取,而bios是依靠混合MBR来读取对应的gpt分区,是这样吗?就是说bios启动时不支持gpt分区的直接读取。而操作系统是否
1、时空论坛好像你也提过efi (标准版的)已经不支持dos了。因为现在都是64位的efi,为什么没有向下兼容呢?如果在标准的efi平台下还能用grub(带efi和gpt支持的)成功引导一个DOS镜像吗?
2、像用winimage打开win7  x64光盘会有两个引导信息,这种光盘用cdimage或者mkisofs工具如何制作?
efi的寻找启动文件启动的是吧?而不是用分区引导信息来启动。比如寻找固定的efi\boot\bootx64.efi? 这是64位的?还会有其它的路径吗?efi是微软也参与制定的,应该也有包含了定义微软的路径吧, 比如xxx\microsoft\xxx等?

3、苹果本是efi1.x,是使用的32位efi?  苹果本按alt键出现一个磁盘排列的菜单,这个菜单就是bootcamp提供的吗?这个信息就是在efi分区里的吗?如果第2题正确,那么制作苹果启动的efi时是否是找把bootx64.efi改成 boot.efi

4、64位efi兼容32位的efi程序吗?比如32位的grub.efi
作者: fujianabc    时间: 2011-11-8 16:59
只要引导程序支持GPT,bios下可以直接读GPT磁盘(小于2TB),比如bios下用gurb2读取GPT硬盘。操作系统更没关系了,win 2003以上哪怕是bios启动,系统内都支持GPT磁盘的。
1. pc机的efi平台都有bios兼容层的,可以正常运行dos和grub等程序
2. 这种双启动是最标准的双启动,微软的制作方法使用oscdimg的,其中etfsboot.com和efisys.bin分别是bios和uefi平台的引导文件

  1. Oscdimg -m -o -u2 -udfver102 -bootdata:2#p0,e,bC:\winpe_x86\Etfsboot.com#pEF,e,bC:\winpe_x86\Efisys.bin C:\winpe_x86\ISO C:\winpe_x86\winpex86uefi.iso
复制代码

按照标准,64位uefi默认自动执行的文件应该是\EFI\BOOT\bootx64.efi。当然有些主板可能会搜寻其他文件比如shellx64.efi等。像我现在的笔记本,bios设置是鼠标操作的,uefi启动设置里面直接有一个类似于windows打开文件的窗口,可以用鼠标来选择要执行的efi文件
3. 苹果本前两年的都是32位efi,今年的不清楚,但那个菜单应该是efi本身提供的,应该不是存在硬盘上的,而是存在主板的某个芯片里面的。原则上苹果默认启动文件是\EFI\BOOT\bootx86.efi,不过几乎找不到x86的.efi文件,现在的都是x64的efi
4. x64的uefi不兼容32位efi,反过来32位efi也不兼容64位.efi文件。而且没有32位grub.efi
作者: jneny    时间: 2011-11-9 21:16
标题: 回复 #12 fujianabc 的帖子
多谢,我用了混合在vmware8.0中启动混合MBR的ghostxp,安装版xp,重启后都报0x000000ED蓝屏。把MBR表一中的EE标志改成EF则顺利启动。ee在xp的中是不算分区的。改成EF就多增加了一个分区 后对应的boot.ini也要改成multi(0)disk(0)rdisk(0)partition(2),gptdisk生成的混合MBR是把ESP和MSR的全部容量写在MBR表第一个表位置中,

diskgen写MBR分区标志时会清除002扇区的数据,而gparted会重置001的数据,只保留第一个表中的0xee表示整个磁盘,对于linux不管MBR是什么还会去读002的数据。而win只是根据ee标志来判断,win2003企业版sp2中当采取混合MBR时,即使第一个表为ee,它还是把磁盘当成MBR磁盘

混合模式下安装完xp后,再安装ubuntu,结果grub2菜单出来了,再改下ee为ef时(是为了能够进入winxp),重启grub2进入了救援模式。不是说grub2根据绝对扇区值来寻找core.img吗?怎么还认ee标志

在vbox中efi模式启动混合MBR上的win7到BCD选项菜单界面也报错,后来diskgen3.5修改了MBR中的第一个分区表0xee为ef.才能启动XP,进入到linux后也会显示成gpt磁盘

看来混合mbr没什么实际用处
作者: fujianabc    时间: 2011-11-10 20:34
原帖由 jneny 于 2011-11-9 21:16 发表
多谢,我用了混合在vmware8.0中启动混合MBR的ghostxp,安装版xp,重启后都报0x000000ED蓝屏。把MBR表一中的EE标志改成EF则顺利启动。ee在xp的中是不算分区的。改成EF就多增加了一个分区 后对应的boot.ini也要改 ...

gpt/mbr混合分区表本来就不是标准格式,出点问题很正常。还有,vbox的efi模式不支持windows启动
作者: jneny    时间: 2011-11-10 21:49
呵呵,多谢你抽空回答这么多问题。这个是系统支持的问题就不再试了
其实我是想找个方法,让XP安装在超过2T的硬盘上,并且能顺利启动。当然能管理所有的磁盘空间更好。
作者: jneny    时间: 2011-11-11 00:45
试了rEFit中的gptsync功能,这次混合MBR能顺利进入ghostxp了。boot.ini里要改成partition(3)
gptdisk是把EFI和msr两个分区的总容量写成一个分区了。而gptsync是把EFI和msr分区分开来写了。一个是ee一个是0c,我再用bootice改写mbr为nt6.x,也能启动。看到真的分区的问题了?
在linux中也有gptsync,不知道是不是也是通过gpt更新mbr的,没试了。
;或者说gptdisk我没有操作好, 作者的网站有写说明,全是英文的。看不懂
有兴趣的朋友可以试试

gptsync.efi.zip (35.52 KB, 下载次数: 25)
作者: jneny    时间: 2011-11-11 12:56
这两个工具生成的MBR分区表不同。
我到搜索 0x000000ED表示磁盘错误,我猜想,虽然 ntldr能识别分区表没发现错误,但是发现第一个分区表中的一位置 表示的容量是efi和msr分区的总容量,启动时校验各分区的BPB值,发现了1分区表表示容量和EFI分区的BPB值不一样。导致一些错误的吧
作者: fujianabc    时间: 2011-11-11 17:01
原帖由 jneny 于 2011-11-10 21:49 发表
呵呵,多谢你抽空回答这么多问题。这个是系统支持的问题就不再试了
其实我是想找个方法,让XP安装在超过2T的硬盘上,并且能顺利启动。当然能管理所有的磁盘空间更好。

超过2T的硬盘,很多bios识别容量会有错误。另外微软也早就想借2T的硬盘来灭xp以及32位windows了,intel则要用2T硬盘灭bios
作者: zxw    时间: 2011-11-11 17:07
xp及bios迟早要消亡……
作者: jneny    时间: 2011-11-11 21:34
gptsync for linux x86/x64 gptsync_for_linux.zip (30.25 KB, 下载次数: 24)

[ 本帖最后由 jneny 于 2011-11-12 08:27 编辑 ]
作者: jneny    时间: 2012-4-8 16:34
gptsync 0.2 for mac OS X   gptsync-0.2.pkg.zip (23.33 KB, 下载次数: 25)




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3