linux硬盘引导安装windows难题破解

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
人在井天
帖子: 1081
注册时间: 2009-04-29 21:22

linux硬盘引导安装windows难题破解

#1

帖子 人在井天 » 2010-02-27 17:42

人在井天
按:转载请不要删除原文链接http://blog.sina.com.cn/s/blog_49f914ab0100hfj2.html,这是对创作者基本的尊重态度


本文是对于《ubuntu硬盘引导安装windows的要点》一文http://blog.sina.com.cn/s/blog_49f914ab0100hcd7.html的补充和修正
一、对于ghost版的windows系统,可以在winpe下,或者在dos下,或者就在windows下启动ghost程序,进行安装。对于安装版的 windows,或者在winpe下,或者在dos下,都可以全新安装的。而在winpe下的安装,则是所有安装中最为便利的一种。
在linux下硬盘引导安装windows,只要能成功引导启动winpe,那么,主要的难题也就解决了的。

二、笔者只涉及过用grub或者grub2引导的linux系统,比如ubuntu9.04和fedora 12都是用grub引导的。而ubuntu9.10是用grub2引导的。对于这两种系统,只需要用grub或者grub2引导启动grub4dos,再用grub4dos引导启动winpe或者dos即可。
其它方式引导的linux系统,如果能够成功引导启动grub4dos,接下来的安装也就基本相同了。

三、引导启动grub4dos
首先下载最新版的grub4dos,谷歌一搜即得。把下载的文件解压后,从中提取出一个名为grub.exe的文件,把它放在任意盘的根目录上,这个盘可以是windows分区,也可以是linux分区。
对于grub引导的系统:
sudo vi /boot/grub/menu.lst
这个命令打开/boot/grub/menu.lst文件,然后在这个文件的末尾添加一段如下:

================
title grub4dos
root (hdx,y)
kernel /grub.exe
boot
================
重启电脑,在主引导菜单上选择grub4dos进入即可。
注意,root (hdx,y),要把这里面的x和y改成你存放grub.exe文件的硬盘编号和分区编号,比如:(hd0,8),须要注意的是,grub的硬盘编号也是从0开始的,这与grub2是一样的,但分区编号grub也是从0开始的,而grub2却是从1开始的。grub的主分区编号是0123,逻辑分区是 45........,而grub的主分区编号是1234,逻辑分区则是56..........
比如,在grub中,root (hd0,0),这个代表引导第一硬盘第一分区,而在grub2则应该是 root (hd0,1)

对于grub2引导的系统:

===================
sudo chmod +w /boot/grub/grub.cfg
sudo vi /boot/grub/grub.cfg
==========================
上面的命令,首先把grub.cfg文件的权限改为可写,然后打开这个文件,当然,通常的修改办法是脚本修改,可详查grub2配置文件的修改办法。在这个文件的末尾添加一段如下:

====================
menuentry "grub4dos" {
set root=(hdx,y)
linux /grub.exe
}
============================
同样的,要把里面的root=(hdx,y)改成你自己的。
然后重启电脑,在主引导菜单上选择grub4dos进入即可。

四、分区准备
命令行分区工具fdisk,图形界面分区工具,推荐gparted
必须先在linux下把用于安装windows的分区准备好。所以如此,则是考虑到在windows下分区,与linux分区可能不兼容的缘故。但是,只能在linux下把windows所需的分区分好,却不要格式化。原因是,在linux下格式化的fat32和ntfs分区,虽能为windows所识别,但是,却不能用它来引导windows。原因可能是没有写入能为ntldr和bootmgr所能识别的pbr.
安装windows的分区,必须有一个唯一的活动主分区。而linux系统,则不但活动的主分区不是必须的,就是主分区也并不是必须的。

至少需要准备两个分区,一个是用来存放安装程序的。一个安装windows的。

五、用grub4dos引导winpe或者dos


grub4dos的配置文件是menu.lst文件,由于grub2没有这个文件,所以自己可以在任意盘的根目录下新建一个空白文件,然后把它重命名为 menu.lst,然后在这个文件里面写入自己的启动项。对于grub,由于它自带menu.lst文件,故不能再自己新建。只需要在这个文件的末尾添加自己的启动项即可。然后在系统启动的时候,先选择启动grub4dos,然后再选择自己所添加的winpe或者dos的启动项。

引导dos,这里以引导maxdos为例
网上有现成的maxdos.img文件下载的。自己也可以提取:

先在windows下安装maxdos,然后在安装目录中找到maxs.sys,将maxs.sys改名为maxs.gz,是gzip格式;在windows下可用rar解压.把解压出来的maxdos.exe改扩展名为img即可。
把maxdos.img放到任意盘的根目录下,支持windows分区和linux分区。

menu.lst中的命令的写法是:

==========================
title maxdos.img
find --set-root --ignore-floppies /maxdos.img
map --mem /boot/maxdos.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
====================================
当然,需要把这里面的文件名maxdos.img改成你自己的
引导img文件,请参看:grub4dos硬盘引导img文件http://blog.sina.com.cn/s/blog_49f914ab0100hf0c.html

引导winpe:

把下载来的winpe的iso文件放到任意盘的根目录下,支持windows分区和linux分区。menu.lst中的命令的写法是:

===================
title winpe.iso
find --set-root /winpe.iso
map /winpe.iso (hd32) || map --mem /winpe.iso (hd32)
map --hook
chainloader (hd32)
===================
当然,需要把这里面的文件名winpe.iso改成你自己的。
引导iso文件,请参看:grub4dos硬盘引导iso文件http://blog.sina.com.cn/s/blog_49f914ab0100hf8o.html

引导img文件没有多少可说的,但是,引导winpe的iso文件却有几个要点。一是,有些winpe的iso文件虽然是可引导的光盘镜象文件,但用 grub4dos引导却会失败。可能的原因是,或者grub4dos不是最新的,改成最新的即可。或者这个iso文件不是标准iso文件,UltraISO把它转为标准的iso文件。另外,多数的winpe在用grub4dos通过iso文件引导的时候,可能并不能成功加载外置程序。所以需要去网上找到用这种方式引导可以加载外置程序的winpe.

安装xp要用支持xp的windows,安装win7要用支持win7的winpe.这些网上都有可以现成下载的。

六、进入winpe或者dos,把用来安装windows的分区格式化。
完成后,重新进入linux系统。把下载的windows安装光盘镜象解压。把文件放到用来存放windows安装程序的分区。

七、然后重新进入winpe,首先改写mbr.警告:改写mbr后,就进不了linux系统了。
然后按照winpe下安装windows的办法进行安装就是了。这方面的教程很多。

请把本文与《ubuntu硬盘引导安装windows的要点》一文http://blog.sina.com.cn/s/blog_49f914ab0100hcd7.html参看。
头像
hcym
帖子: 15634
注册时间: 2007-05-06 2:46

Re: linux硬盘引导安装windows难题破解

#2

帖子 hcym » 2010-02-27 17:57

有点绕糊涂了

不是有规范的硬盘安装嘛

grub4dos引导官网下的两个玩意
人在井天
帖子: 1081
注册时间: 2009-04-29 21:22

Re: linux硬盘引导安装windows难题破解

#3

帖子 人在井天 » 2010-02-27 18:02

hcym 写了:有点绕糊涂了

不是有规范的硬盘安装嘛

grub4dos引导官网下的两个玩意
哪里有规范的硬盘安装办法?
yueyezhan
帖子: 47
注册时间: 2008-10-16 16:19

Re: linux硬盘引导安装windows难题破解

#4

帖子 yueyezhan » 2010-05-07 3:02

如果是grub2的启动管理器的9.04之后的ubuntu,根本无需用grub4dos,就可以安装windows7或者xp
viewtopic.php?f=77&t=244515&start=45

78楼
回复