今天同事拿來一台聯想的筆記本,預裝的Ubunt11.10,要我給他裝個windows7系統。 電腦沒有光驅,最先想到的是USB安裝windows7。向另一同事要了個刻好了系統U盤,但面臨一個問題,需要給硬盤分區。由於機子默認下把硬盤分為了3個區:"/"、"/swap"、"/home",沒空余空間了。這時在ubuntu自身系統下分區肯定是行不通的。我最先想到的是安裝個puppy linux,然后在putty里進行分區。原本想把puppy裝到U盤上的,后來想干脆直接在ubuntu下引導啟動puppy。
關於如何ubuntu下引導啟動puppy linux,參考這里: http://blog.kreatx.com/2011/12/16/dual-boot-puppy-linux-with-ubuntu/
其中引導項內容還應該添加一句:
set root=(hd0,msdos8) search -f --fs-uuid --set <你的存放puppy的那個分區的uuid值> //需添加這句 ...
到這里,把分區的問題解決了。插入U盤,進入win7安裝程序。問題又來了,進入安裝見面后總提示CD/DVD驅動器無法找到。Google一搜,一大堆問題反饋,大概估計是U盤中安裝文件損壞了。
接下來怎么辦呢,重新創建一個usb win7安裝器?
經歷過各種情況下win7安裝ubuntu、ubuntu引導win7、win7引導ubuntu...的我,想到了grub的強大,怕腦袋一想,能不能在ubuntu安裝win7。 經過一翻搜索之后,發現還是可行的,還有人實踐過,我在這里做個總結吧。
ubuntu下安裝windows7:
下載grub4dos, http://download.gna.org/grub4dos/grub4dos-0.4.4-2009-06-20.zip解壓,拷貝里面的grub.exe之任意分區的跟目錄 掛載window7.iso文件,拷貝全部文件至某個ntfs或FAT32分區的根目錄 重啟電腦,進入系統引導菜單,先按下上下,讓它停止自動進入系統。 停住后,按e鍵,今入命令行模式
set root =(hdx,y) //其中x代表硬盤ID,y代表分區ID。如我的是(hd0,0) linux /grub.exe
此時進入grub,依舊是命令模式
grub>find --set-root /bootmgr grub>chainloader /bootmgr grub>boot
ok,現在進入windows安裝程序。
由於我在創建新分區時,分割了/home所在的硬盤分區,導致ubuntu無法登錄進入,后采用恢復模式使用shell進行文件的拷貝。
在ubuntu恢復模式下使用shell安裝windows7
現在U盤中准備好window7 iso文件與grub.exe 進入系統引導菜單時選擇恢復模式 在選擇“Drop to root shell”。 進入root shell后,注意到整個文件系統都只讀。這時要對配置文件做一些修改的話,必須將文件系統重新掛在為可讀寫的:
#mount -n -o remount,rw /
首先查看下U盤驅動器的位置
#fdisk -l
可以看到所以硬盤驅動器,找到U盤為:/dev/sdb1 掛載U盤:
#mkdir /mnt/usb #mount -t auto /dev/sdb1 /mnt/usb
拷貝grub.exe至"/"目錄:
#cp /mnt/usb/grub.exe /
掛載iso文件,並將所有文件拷貝至某個分區根目錄(/dev/sda3,注意該分區格式必須為ntfs或FAT32,並且不是要安裝win7的目標分區):
#mkdir /mnt/win7 #mount /mnt/usb/window7.iso /mnt/win7 -o loop #mkdir /mnt/windows #mount -t auto /dev/sda3 /mnt/windows #cp -r /mnt/win7/ /mnt/windows
重啟:
#reboot