admin 管理员组

文章数量: 887016

Ubuntu下硬盘安装Windows 7

所需工具、文件

Windows 7安装镜像;
我下载的是7600.16385.090713-1255_x64fre_client_zh-cn_Retail_Ultimate-GRMCULXFRER_CN_DVD.iso,3.1G。


Grub4Dos
用于引导Windows安装,后来听说Grub2也行,还要更方便一些,但我没可能再装一遍,以下还是以grub4dos为例;
EasyBCD
用于在Windows安装完成后找回启动Ubuntu的菜单.
备份MBR
$ sudo dd if=/dev/sda of=/backup/mbr.img bs=512 count=1
 
至关重要。Ubuntu的安装过程会保留Windows启动项,但Windows的安装过程却很霸道,安装后需导入MBR才能找回Ubuntu启动项。
Windows下无法访问Ubuntu里的文件,所以需要把这个备份文件复制到Windows文件系统下,或则先用U盘备份。
 
挂载Windows 7 ISO
$ sudo mount /iso/7600.16385.090713-1255_x64fre_client_zh-cn_Retail_Ultimate-GRMCULXFRER_CN_DVD.iso /mnt -o loop
即把Windows 7 ISO挂载到/mnt,打开这个目录,把里边的所有文件复制到一个NTFS分区的根目录下——不能是将用于安装Windows 7的分区,亦即,需要预先准备两个Windows分区。
 
我这里因为原本就是Windows与Ubuntu并存,Windows下有C、D、E盘,C盘准备用来安装Windows 7,以上安装文件就复制到了E盘根目录下。
 
添加启动菜单
打开载下来的Grub4dos.zip,把其中的grub.exe解压出来。
修改/boot/grub/menu.lst,添加如下几行
 
title grub4dos
root (hd0,3)
kernel /home/grub.exe
boot
 
第二行的0,3需根据实际情况修改,可查看menu.lst里原有的部分,找到Ubuntu的选项复制成一样的即可。
如我原有启动项第一项是:
 
title Ubuntu 9.10, kernel 2.6.31-16-generic
root (hd0,3)
 
第三行的/home/grub.exe需修改成刚解压出的grub.exe所在路径。
 
重启安装
重启,在操作系统选单里选择grub4dos,屏幕一闪再度进入操作系统选单,按c进入命令行grub>,依次输入以下指令:
 
grub>find --set-root /bootmgr
grub>chainloader /bootmgr
grub>boot
 
随即进入Windows 7安装引导界面,一路装下去即可。
 
恢复MBR
Windows安装完成后,多系统选单不见了,此时需要恢复MBR。我安装前在网上找到的几篇文章里有指明,可以在Windows下以如下指令恢复:
echo c:\"linux.lnx"=linux >> boot.ini
遗憾的是Windows 7里好像根本就没有boot.ini,试了一下,此法无效。
 
无奈只好用下了一份easyBCD,安装之后运行,添加LINUX启动项。C盘下会生成c:\nst\nst_linux.mbr文件,删除之,把此前备份的mbr.img复制到这个位置,重命名为nst_linux.mbr。
 
重启在多系统选单选择linux选项,即可看见原来的Ubuntu多系统选单。进入Ubuntu之后,再彻底还原MBR。
$ sudo dd if=/backup/mbr.img of=/dev/sda bs=446 count=1
 
grub4dos 下载
 

grub4dos-0.4.4-2009-01-11-src.zip 12-Jan-2009 06:16 1.4M

grub4dos-0.4.4-2009-01-11.zip 12-Jan-2009 06:19 807k

 


 
本篇文章来源于 Linux公社网站( www.linuxidc)  原文链接: http://www.linuxidc/Linux/2010-05/26118.htm

本文标签: 硬盘 Ubuntu Windows