首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从grub2启动Windows 7

从grub2启动Windows 7
EN

Ask Ubuntu用户
提问于 2013-10-28 00:29:31
回答 3查看 64K关注 0票数 13

我想这么做是因为我想安装Windows 7,而我的BIOS菜单没有出现;它一开始跳到grub2菜单,但这是另一个故事.有办法直接从grub2启动Windows 7安装吗?

EN

回答 3

Ask Ubuntu用户

发布于 2015-09-11 22:35:07

grub4dos

引导Windows

使用grub遗留文件或grub2引导实际的i386无法工作,但是对于旧的windows版本(即XP),可以将i386文件夹从ISO解压缩到USB,然后使用grub4dos调用引导加载程序:

代码语言:javascript
复制
title windows installer via setupldr.bin
find --set-root /i386/setupldr.bin
chainloader /i386/setupldr.bin

代码语言:javascript
复制
title windows installer via /bootsect.bin
find --set-root /i386/setupldr.bin
chainloader /bootsect.bin

这可能不适用于较新的windows版本或较新的硬件,但也可以选择..。

grub2

引导Windows 7

有了grub2,像这样的东西显然可以适用于Windows 7:

代码语言:javascript
复制
menuentry "Windows 7 (bootmgr)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    ### A: either use this line or the next one, but not both
    set root='(hd0,msdos1)' 
    ### B: 
    ### search --no-floppy --set=root --fs-uuid ____INSERT_PARTITION_UUID_HERE___
    ntldr ($root)/bootmgr
}

选项A假设您的可引导USBS棍/HDD是第一个设备,并且具有msdos风格的分区表。调整以匹配您的配置。如果您的引导设备有GPT分区表,那么很可能需要使用(hd0,gpt1) (GPT在一般情况下更难设置)。

选项B使用驱动器的唯一UUID,它可以在Linuxwithsudo blkid或OSX上看到,例如diskutil info disk0s1 (或磁盘实用程序> Info)。

例如,最后一个条目可能如下所示:

代码语言:javascript
复制
menuentry "Windows 7 installer" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    search --no-floppy --set=root --fs-uuid 0E239BC6-F960-3107-89CF-1C97F78BB46B
    ntldr /bootmgr
}
票数 8
EN

Ask Ubuntu用户

发布于 2013-11-30 14:30:24

是的,你会认为像这样的东西会起作用:

代码语言:javascript
复制
menuentry "Boot Windoze" {
  search -f "--set-root /Winblows.iso"
  drivemap "/Winblows.iso" '(hd32)'
  drivemap '--hook' ''
  set root='(hd32)'
  chainloader +1
}

但Windows会对此犹豫不决。

如果您碰巧有至少4GB内存,您可以选择加载整个DVD iso在记忆盘和启动。为此,下载 SysLinux并将memdisk文件解压缩到boot目录中。然后,您需要向Grub2添加代码,如下所示

代码语言:javascript
复制
menuentry "Boot Windoze" {
  search -f "--set-root /Winblows.iso"
  insmod memdisk
  linux16 /boot/memdisk iso
  initrd16 /Winblows.iso
}

但是,我甚至不会测试代码,因为将3+ GB的数据放入内存中是完全错误的(从理想主义的角度来看)。不,我真的想要你想要的东西,但是最后我用Windows 7 USB/DVD下载工具把Windows放在USB上的一个分区上,然后链接到这个分区上。对不起,我看不出有什么别的办法。

票数 6
EN

Ask Ubuntu用户

发布于 2014-01-26 07:01:56

从技术上讲,从windows的.iso文件安装是不可能的。您可以使用grub从.iso启动,但在此之后,Windows将失去与挂载位置的联系,否则它将无法启动。因此,grub和Windows都应该知道挂载和引导。目前Windows不支持。

因此,您需要将.iso的内容提取/复制到分区的根中,然后使用grub链接加载到其中。

票数 5
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/367011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档