星期三, 11月 18, 2009

如何製作能安裝Windows 7的USB隨身碟

我決定將正式版的Windows 7裝進Asus 1000HE;但因為沒有外接式光碟機,因此要將Windows 7安裝光碟的內容複製到USB隨身碟,並且利用USB隨身碟來開機、安裝。

[2011/10/5更新] 更簡單的Windows 7安裝USB隨身碟製作法,是利用微軟的免費工具Windows 7 USB/DVD Download Tool。《如何製作能安裝Windows 8的USB隨身碟》約略提到這支免費工具的用法,雖然該文係針對Windows 8討論,但這支工具本來就是用在Windows 7。

以下我將會說明3種製作Windows 7安裝隨身碟的方法:一種常見於網路、另兩種更為簡便。但我也必須提醒,隨身碟經過格式化,會導致其原本資料無法或難以復原。開始之前我先大致歸納,基本上,要完成的事情包括:

  • 讓USB隨身碟能夠開機
  • 將Windows 7安裝光碟的內容複製到USB隨身碟
  • 將電腦設定成能以USB裝置開機(本文不會說明這點,請參考自己機器或主機板的手冊,或直接詢問廠商)

因此需要:

  • 能以USB裝置開機的電腦
  • 容量至少4GB的USB隨身碟(Windows 7 x86大約需要2.5 GB、x64需要3 GB左右)
  • Windows 7安裝光碟或ISO檔
  • Windows XP或Windows 7環境(我只在這兩種環境試過,但若能適用Windows 7,應該也適用Vista--不過這只是經驗推測)

在Windows 7環境製作

網路上許多文章--包括TechNet Magazine的Use a USB Key to Install Windows 7—Even on a Netbook,都提及在Windows 7可以利用DiskPart來處理隨身碟(包括格式化,因此請先備份隨身碟裡的重要檔案),然後再將Windows 7安裝光碟的內容複製到USB隨身碟即可。以下是TechNet Magazine《Use a USB Key to Install Windows 7—Even on a Netbook》的作法。再次強調,雖然Windows XP也有DiskPart,但以下只能用在Windows 7。

  1. 將隨身碟接上電腦,並確定已正確接上。
  2. 以系統管理員身份開啟『命令提示字元』。
  3. 執行diskpart
  4. 執行list disk,這會列出電腦所有的實體磁碟。
  5. 觀察列出結果,並記下隨身碟的磁碟編號。隨身碟的磁碟編號通常在後面,甚至是最後一個,此外也可以容量來識別。例如我這個例子是「磁碟3」。
  6. 根據隨身碟的磁碟編號,執行select disk {n},n是隨身碟的磁碟編號。以我為例,即需執行select disk 3。
  7. 執行clean,這會清理隨身碟,因此不會再有任何分割區。
  8. 執行create partition primary,這會在隨身碟建立主分割區。
  9. 執行select partition 1,這會選取隨身碟唯一的分割區。
  10. 執行active,這會將上一步所選取的分割區設為「使用中」,也就等於告知BIOS或EFI,這個分割區是可以用來開機的系統分割區或系統磁碟區。
  11. 執行format fs=fat32 quick,這會以快速模式將隨身碟格式化成FAT32檔案系統。
  12. 執行assign,這會將磁碟代號指定給剛在隨身碟建立、格式化過的分割區。
  13. 執行exit,這會結束diskpart、並關閉它的視窗。

接著,請將Windows 7安裝光碟的內容全部複製到USB隨身碟。完成複製之後,這支USB隨身碟就可以開機、安裝Windows 7。接下來要做的,是將這支隨身碟插入電腦,然後設定電腦BIOS,讓電腦能以USB裝置開機。之後螢幕就會顯示Windows 7安裝畫面,依照畫面指示即可安裝Windows 7。

更簡單的作法

不過我發現更簡單的作法。以下的作法適用Windows 7環境,請記得將其中的{drive letter:}換成你自己的隨身碟磁碟代號:

  1. 將隨身碟接上電腦,並確定已正確接上。
  2. 以系統管理員身份開啟『命令提示字元』,以下步驟3需在命令提示字元輸入指令。
  3. 將USB隨身碟快速格式化成NTFS:format {drive letter:} /q /fs:ntfs
  4. 將Windows 7安裝光碟的內容全部複製到USB隨身碟(這就不一定要用命令提示字元,利用檔案總管拖放即可)。。

完成!現在可以用這支隨身碟來開機、安裝Windows 7。

在Windows XP環境製作

上述的4步驟大致也能用在Windows XP環境,只是要略作修改;我在差異處加了底線:

  1. 將隨身碟接上電腦,並確定已正確接上。
  2. 開啟『命令提示字元』,以下步驟3~5需在命令提示字元輸入指令。
  3. 將USB隨身碟快速格式化成FAT32format {drive letter:} /fs:fat32 /q
  4. 將隨身碟的檔案系統轉換成NTFSconvert {drive letter:} /fs:ntfs
  5. 執行Windows 7安裝光碟boot資料夾裡的bootsect,才能讓隨身碟開機bootsect /nt60 {drive letter:}
  6. 將Windows 7安裝光碟的內容全部複製到USB隨身碟(同樣的,這就不一定要用命令提示字元,利用檔案總管拖放即可)。

完成!現在這支隨身碟也能用來開機、安裝Windows 7。

x64版本的Windows 7安裝隨身碟

要注意的是上述步驟5的bootsect,如果是在x86環境(不論Windows 7或Windows XP),要製作x64版本的Windows 7安裝隨身碟,不能執行x64 Windows 7安裝光碟boot資料夾裡的bootsect,因為這支bootsect是64位元,不能在32位元環境執行。解決的方法應該是執行x86 Windows 7安裝光碟裡的bootsect(不過我沒有實際試過)。

56 意見:

lala 提到...

關於更簡單的作法-XP環境,為何不能直接format /fs:ntfs 還得先format成fat32再convert呢?

賴榮樞 提到...

Lala您好:

因為XP環境內建的格式化功能無法直接將隨身碟格式化成NTFS。

匿名 提到...

我試是可以的啊,只是要把「快速移除最佳化」給關掉。

不過這個更簡單的作法做出來的無法在我的兩台NB(nc4200,2530p)使用,最後還是用Windows 7 USB/DVD Download Tool做出來的。

賴榮樞 提到...

當然,將隨身碟的「快速移除最佳化」改成「效能最佳化」,可以直接格式化成NTFS。

不過隨身碟畢竟經常會插入、拔開,保持「快速移除最佳化」可以直接拔開,而不需先執行「安全地移除硬體」。所以沒有說明您提及的方法。

很抱歉文中更簡單的作法無法用在您的電腦,也感謝您告知。不過文中所述對我的確可行。

匿名 提到...

我的電腦可以讀的到USB,不過在diskpart的list disk裡沒有USB耶 怎麼會這樣

賴榮樞 提到...

您好:

如果機器或USB隨身碟運作正常,應該不至於發生如您的情況。我會建議可能要先確認您的USB隨身碟是否故障、不穩或相容程度;或許可以將這支USB隨身碟拿到另一部機器測試,並再拿另一支隨身碟測試這部機器。

匿名 提到...

bootsect不是內部或外部的指令........
這要怎麼解決??

賴榮樞 提到...

您好:

請切換到 Windows 7 安裝光碟 boot 資料夾,再執行資料夾裡的 bootsect。

匿名 提到...

所以去光碟機執行 bootsect 然後再回命令去打 bootsect/nt60 J: ??

賴榮樞 提到...

您好:

都在『命令提示字元』環境執行;步驟2已經提及:以下步驟3~5需在命令提示字元輸入指令。

匿名 提到...

不過bootsect /nt60 {drive letter:} 打上去他會說bootsect 不是內部或外部指令

賴榮樞 提到...

您好:
您的狀況應該是出於不熟悉DOS相關指令;研判可能情況如下:沒有切換到正確資料夾,或者打錯指令。

下雨的妍 提到...

真是糟糕我卡在驟3格式化這邊,我用的是隨身碟但要用clean清理時出現『Diskpart 發生錯誤: 存取被拒。如需詳細資訊,請參閱系統事件記錄檔。』這是什麼樣的情形丫~ 我用了二支隨碟碟都是這個問題。如果我直接用系統格式化然後烤貝win7的檔案不知道可行否?

下雨的妍 提到...

為何我用完後~ 我的4g隨身碟只有1.92g的容量,跟本無法將我的win7放進去= =而且我要怎樣才能讓我的隨身碟變回原來的樣子

賴榮樞 提到...

下雨的妍您好:

(1)我必須知道系統事件記錄檔才有可能協助您處理第一個問題。
(2)只要您是在Windows 7執行的話,應該可以。
(3)請問您用了什麼而導致4G隨身碟只剩1.92G的容量?而且您的隨身碟原來是什麼樣子?

很抱歉,格式化之後的隨身碟,往往難以或無法還原其資料,這雖是使用電腦的常識,但本文仍應註明。

下雨的妍 提到...

抱歉~ 因為我在灌時小朋友在一旁吵鬧而讓我忽略了我拿的是2G的隨身碟~ 以上我所提到的問題都沒問題了,第一次提到的問題我去微軟下載了Diskpart軟體就解決了。我已經把我的小EEEPC灌成了WIN7了~ 謝謝您PO的教學^^~很有幫助。

賴榮樞 提到...

下雨的妍您好:

很高興拙著對您有幫助。

匿名 提到...

解決的方法應該是執行x86 Windows 7安裝光碟裡的bootsect
試過以後還是一樣ㄟ
bootsect不是內部或外部的指令........
64BIT還是不能安裝ㄟ
有其他辦法嗎

賴榮樞 提到...

抱歉,我不是很懂您的問題,先就看懂的部分回答。但若出現「不是內部或外部指令」錯誤訊息,通常是因為沒有切換到正確資料夾,或者打錯指令。

匿名 提到...

請問一下 可以把開機進dos的隨身碟跟安裝windows 7的隨身碟 做在一起嗎??

賴榮樞 提到...

我也很想達到這樣一魚兩吃的結果,但一直沒有時間研究。直覺應該是可以。抱歉,未能具體回覆您。

匿名 提到...

如果使用EXFAT格式的話也可行嗎?@@
還是會發生問題呢?

賴榮樞 提到...

我沒有試過。如果您願意測試,非常希望您於此留言分享結果。謝謝。

Flower 提到...
作者已經移除這則留言。
Flower 提到...

請問同樣的方法也可以做一個xp的安裝隨身碟嗎

賴榮樞 提到...

Flower您好:

很可惜,同樣的作法並不適用於Windows XP。

電腦白痴 提到...

請問如果是新組的電腦要怎麼做呢?

賴榮樞 提到...

抱歉,我不懂您問題的意思,新組的電腦尚未安裝作業系統嗎?

logo 提到...

我是遵照 "在Windows 7環境製作" 的方法
一切順利OK
謝謝指導!

DS 提到...

XP底下開CMD,list part沒有顯示隨身碟的資訊耶@@

賴榮樞 提到...

@DS:

Windows XP底下開CMD,list part沒有顯示隨身碟的資訊,是正常的。Windows XP環境的製作,請參考文中《在Windows XP環境製作》。

匿名 提到...

5.執行Windows 7安裝光碟boot資料夾裡的bootsect,才能讓隨身碟開機:bootsect /nt60 {drive letter:}

drive letter 是指 有WIN7安裝光碟的 光碟機標碼是嗎??

賴榮樞 提到...

@匿名:

不是光碟機,是隨身碟的。

匿名 提到...

太感謝了,新買的NB也沒光碟機,想重裝乾淨的WIN7旗艦版,今天回家趕快來試試,謝謝唷!

姥姥 提到...

我用隨身硬碟照老師的方法做,選"升級"的時候跑出以下的錯誤訊息:

"相容性報告"

使用Windows安裝光碟啟動電腦。請先移除安裝光碟並重新啟動您的電腦,這樣Windows才會正常啟動。接著插入安裝光碟並重新啟動升級(請勿選取[自訂(進階)]來執行升級。[自訂(進階)]會安裝一份新的Windows,並刪除您的程式與設定)。

我開命令提示字元可以讀得到哪些安裝檔案,是有哪裡出問題嗎?還是這種方法只能全新安裝,不能升級?

賴榮樞 提到...

@姥姥

『相容性報告』交談窗應該有『下一步』按鈕,按下之後應該可以升級安裝。

另外提醒您,如相容性報告所述,安裝過程若重開機,必須將開機設定從USB改回原本硬碟開機。

Soul 提到...

您好,請問有任何方法或工具程式,可以製作出「可開機並安裝windows、以及包括一些系統救援工具」的USB嗎?
我在網上找了好久,不然就是製作「可開機並安裝windows」的USB,不然就是製作「可開機並包含工具程式(可能還包含win PE, Linux live)」的USB, 但就是沒有看到兩者兼具者的方法。

請問是我異想天開嗎?

賴榮樞 提到...

雖然我未曾實際動手試過,但這應該不是異想天開。USB隨身碟的確可以多重開機,以下是值得參考的資料:

http://www.911cd.net/forums//index.php?showtopic=18846

http://tinyapps.org/blog/misc/201005080700_boot_any_iso_from_usb.html

http://www.msfn.org/board/topic/69211-a-multiple-partition-usb-stick-with-multi-boot-os/

Cookies 提到...

賴大哥您好,已經用這篇文章灌成功過很多次系統了,受益良多^^
我這有個想法,一般隨身硬碟我們可以把它分割成幾個槽,那應該也可以直接分出容量等同於光碟大小的槽,這樣選擇完 disk 之後再選擇該槽,設成 active 並格式化之後放入檔案,如此應該也能達到相同的效果吧@@
就跟普通內接硬碟在做的事情是一樣的~

賴榮樞 提到...

@Cookies:
謝謝你。基本上應該是如此,建議你動手試試,而且多找幾部不同BIOS的電腦試試。

阿修修 提到...

我照了步驟做後來設定USB開機之後
Invalid partition table 是為什麼呢?
我的USB是不是出了甚麼毛冰

賴榮樞 提到...

@阿修修:你隨身碟的磁碟分割表出問題了,如果再試過還是同樣的狀況,可能就得換支隨身碟來試了。

roy 提到...

我卡在第4步 我的機子列出來的只有一個磁碟機.....

賴榮樞 提到...

@roy
建議你確認USB隨身碟能正常運作,或者換個USB插槽再試。

匿名 提到...

對不起我對於簡單的方法那一欄看不清楚
如果我的隨身碟是F槽 那嚜我的指令要怎嚜打 可以打完整的給我看嗎 sor我是新手

賴榮樞 提到...

format f: /q /fs:ntfs

amelia 提到...

您好,我想用隨身碟備分系統映像檔,也已經成功將隨身碟改為NTFS格式,但在建立系統映像檔時卻顯示『磁碟機不是有效的備份裝置』,不能進行下一步。
隨身碟大小32G,不過已經用去一半,大小可能有點不夠。請問會是這個原因嗎?

賴榮樞 提到...

@ amelia
應該是。

匿名 提到...

抱歉 我想問XP最後的步驟是執行boot資料夾裏的bootsect.exe? 如果是我已經執行了 可是它顯現不是正確WIN32的應用程式耶..

且DOS那邊打完最後步驟也是顯現"不是內部或外部命令可執行的程式或批次檔"

賴榮樞 提到...

1.是。你執行的可能x64的程式,或許該檢查光碟。

2.出現這種訊息通常是「工作路徑不對」,例如執行的程式不在目前的工作路徑。

徐守屹 提到...

您好請問一下,如果我目前在windows7 64位元環境裡執行將windows7 X64映像檔 燒入USB隨身碟式ok的吧?

賴榮樞 提到...

應該可以吧,但我並未親身試過。

匿名 提到...

我在xp中可以將usb順利格式化了也轉成ntfs 可是我要打開下載的資料包bootsect的時候卻沒辦法打開 我的電腦在系統沒看到x64 應該是x32的吧 我想請問這個問題怎麼解決 不然我不能用bootsect /nt60 {drive letter:}

賴榮樞 提到...

抱歉,我無法瞭解「可是我要打開下載的資料包bootsect的時候卻沒辦法打開」的意思。

匿名 提到...

您好,

在"更簡單的作法"一節, 您提到將隨身碟 format 為 NTFS, 即可開機.

在"在Windows XP環境製作"一節, 您也提到, 將隨身碟 format 成 FAT32 之後, 要再 convert 為 NTFS.

那為何您引述的 TechNet 作法卻是將隨身碟 format 為 FAT32 呢?

David

賴榮樞 提到...

非常感謝您留言,但很抱歉,此文年代已久,若干細節已經模糊。不論 FAT32 或 NTFS 都能運作,僅存的印象似乎與 diskpart 有關。