今天同事拿來一台聯想的筆記本,預裝的Ubunt11.10,要我給他裝個windows7系統。 電腦沒有光碟機,最先想到的是USB安裝windows7。向另一同事要了個刻好了系統隨身碟,但面臨一個問題,需要給硬碟分區。由於機子預設下把硬碟分為了3個區:"/"、"/swap"、"/home",沒空餘空間了。這時在ubuntu自身系統下分區肯定是行不通的。我最先想到的是安裝個puppy linux,然後在putty裡進行分區。原本想把puppy裝到隨身碟上的,後來想乾脆直接在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值> //需添加這句...
到這裡,把分區的問題解決了。插入隨身碟,進入win7安裝程式。問題又來了,進入安裝見面後總提示CD/DVD磁碟機無法找到。Google一搜,一大堆問題反饋,大概估計是隨身碟中安裝檔案損壞了。
接下來怎麼辦呢,重新建立一個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 /bootmgrgrub>chainloader /bootmgrgrub>boot
ok,現在進入windows安裝程式。
由於我在建立新分區時,分割了/home所在的硬碟分區,導致ubuntu無法登入進入,後採用復原模式使用shell進行檔案的拷貝。
在ubuntu復原模式下使用shell安裝windows7
現在隨身碟中準備好window7 iso檔案與grub.exe 進入系統引導菜單時選擇復原模式 在選擇“Drop to root shell”。 進入root shell後,注意到整個檔案系統都唯讀。這時要對設定檔做一些修改的話,必須將檔案系統重新掛在為可讀寫的:
#mount -n -o remount,rw /
首先查看下隨身碟磁碟機的位置
#fdisk -l
可以看到所以硬碟,找到隨身碟為:/dev/sdb1 掛載隨身碟:
#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