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檔案系統下,或則先用隨身碟備份。
掛載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.com)
原文連結:http://www.linuxidc.com/Linux/2010-05/26118.htm