歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu下硬盤安裝Windows 7

Ubuntu下硬盤安裝Windows 7

日期:2017/2/28 16:35:53   编辑:Linux教程

此前在Ubuntu下用virtualbox裝了份Windows 7,確實比以往的Windows好用許多。於是花了點時間把機子上原來與Ubuntu並存的Windows XP升級成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

Copyright © Linux教程網 All Rights Reserved