但是,若常常要在不同的電腦安裝 Fedora 時,而電腦的 CPU 又不相同時(例:有 64-bit 和 32-bit),用前文 “安裝 Fedora 方法(二):以 USB 隨身碟開機”,可能就要準備兩個 USB 隨身碟了。萬一,又要安裝不同的 Fedora 版本(例:有些安裝 Fedora 14,有些要安裝 Fedora 17),那就不知道要準備幾個 USB 隨身碟了。現在的 USB 隨身碟的容量愈來愈大,是否可以將不同版本的 Fedora 都裝在同一個 USB 隨身碟中,當從 USB 隨身碟開機後,再從選單選擇想安裝的版本。
筆者遍查資料,再經過一翻嘗試,終於找到方法:可以在一個 USB 隨身碟裏,放入數個版本的 Fedora,當從 USB 隨身碟開機後,再由選單選擇欲安裝的版本。
為方便讀者不用回前文查詢,與前文重覆的步驟仍然保留。
一、下載開機檔案
下載的檔名再列表如下:CPU | 光碟機 | 網路 需求 | 網路 頻寬 | 選用 / 燒錄之 ISO 檔 |
---|---|---|---|---|
32-bit | DVD-ROM | - | - | Fedora-??-i386-DVD.iso |
32-bit | CD-ROM | 必需 | 可 | Fedora-??-i386-netinst.iso |
64-bit | DVD-ROM | - | - | Fedora-??-x86_64-DVD.iso |
64-bit | CD-ROM | 必需 | 可 | Fedora-??-x86_64-netinst.iso |
註:Fedora 14 以前的版本,設定方法應該都相似;而 Fedora 15 以後的版本則應和 Fedora 17 相似。
二、製作可開機的 USB 隨身碟
開啟「磁碟公用程式」- Fedora 14:從「應用程式」→「系統工具」→「磁碟公用程式」
- Fedora 17:從「應用程式」→「附屬應用程式」→「磁碟」
接著,先切換成 root 身份,再用 unetbootin 將『網路安裝 CD』的映像檔複製到 USB 隨身碟
其中的 Fedora-17-i386-netinst.iso 是步驟一中,所下載的光碟映像檔。按【確定】後等待一段時間,讓 unetbootin 建立必要的檔案、目錄。當出現【現在重新開機】及【退出】兩個按鈕時,就是製做完成。
因為要製作『多版本 USB 安裝隨身碟』,按【退出】鈕後,接著進行下一步驟。
注意:Fedora 的預設安裝中,並未包含 unetbootin,可以用『yum install unetbootin』這個命令加裝此套件。
三、搬移啟動及安裝檔
用『檔案管理』程式查看 USB 隨身碟的內容,可以看見在上一個步驟中,unetbootin 放入了兩種檔案:
- 根目錄:一些 USB 隨身碟開機的檔案,與 Linux 安裝的版本無關。
- 子目錄:『網路安裝 CD』的 Linux 啟動檔案,這些檔案是從 netinst.iso 取出,且關係到將來安裝的 Fedora 版本。
在 USB 隨身碟的根目錄下,建立一個名為『Fxx_xxxx』的『版本目錄』,再將前一步驟中新增加的『根目錄』中的三個檔案及所有『子目錄』,以 Fedora 17 i386 為例,其『版本目錄』為『F17_i386』:
- 根目錄:syslinux.cfg、ubnfilel.txt 和 ubnpathl.txt 三個檔案。
- 子目錄:images、isolinux 和 LiveOS 三個目錄。(有時會有四個子目錄,都要搬過去)
四、複製其它版本的安裝檔案
重覆步驟二、三,直到 unetbootin 複製妥最後一個版本時,在搬移前先暫停一下。最後一個版本的搬移過程有些不同,要留些檔案不搬移,否則 USB 隨身碟也開不了機。- 根目錄:除了 syslinux.cfg 這個檔案用複製外,ubnfilel.txt 和 ubnpathl.txt 兩個檔案都搬至『版本目錄』。
- 子目錄:新增的子目錄,如同步驟三之操作,也都搬至『版本目錄』。
五、修改 Linux 開機啟動命令
在 USB 隨身碟的根目錄中,尋找檔名為『syslinux.cfg』的檔案,這是 USB 隨身碟啟動後,第一個跳出的選單畫面的設定檔。用文字編輯器(例:gedit)打開它做些修改,每個安裝選項的內容,大致相同都為四列:label ubnentry2或加上幾個 Linux 啟動參數,如:
menu label ^Install or upgrade Fedora
kernel /images/pxeboot/vmlinuz
append initrd=/images/pxeboot/initrd.img root=UUID=4585-EA6C quiet
label ubnentry3其中,各列首文字都是『選單程式』用以辨識的保留字,
menu label Install Fedora in ^basic graphics mode.
kernel /images/pxeboot/vmlinuz
append initrd=/images/pxeboot/initrd.img root=UUID=4585-EA6C xdriver=vesa nomodeset quiet
以 Fedora 17 的 i386 版本為例,上述的兩個選單的『選項內容』改為
label: 選單程式用以識別各選項項目用,只要名稱不重覆就不會出錯。 menu label: 安裝時,選單程式顯示的選項名稱,『^』後的字母是『快速選擇鍵』。 kernel: 各版本安裝時,第一個載入的檔案 vmlinuz,是 Linux 的『作業系統核心』。 append: 在 Linux 核心之後,接著載入的模組,包含驅動程式、檔案系統等。
label ubnentry2及用顯示卡的 VESA 相容模式安裝的參數列
menu label ^Install or upgrade Fedora 17 i386
kernel /F17_i386/images/pxeboot/vmlinuz
append initrd=/F17_i386/images/pxeboot/initrd.img repo=hd:LABEL="FedoraU":/F17_i386 quiet
label ubnentry3若是正在製作 Fedora 14 i386 的安裝檔案,取代的文字(repo=……)則改為
menu label Install Fedora 17 i386 in ^basic graphics mode.
kernel /F17_i386/images/pxeboot/vmlinuz
append initrd=/F17_i386/images/pxeboot/initrd.img repo=hd:LABEL="FedoraU":/F17_i386 xdriver=vesa nomodeset quiet
stage2=hd:LABEL="FedoraU":/F14_i386
六、修改各版本的安裝檔案
在步驟三中所搬移的子目錄之檔案,都是與各安裝版本有關。正常的安裝過程中,都是假設安裝相關的檔案(包含子目錄中的)之所在位置是相對於 USB 隨身碟的『根目錄』,在步驟三的搬移操作後,這是前提已經不符合了。因此,這些指示安裝檔案的設定檔都要加以修改,共有三個檔案。版本\檔案 | ubnfilel.txt | ubnpathl.txt | BOOTX64.conf 或 BOOT.conf |
---|---|---|---|
F14_i386 | 需修改 | 需修改 | 需修改 |
F14_x86_64 | 需修改 | 需修改 | 需修改 |
F17_i386 | 需修改 | 需修改 | - |
F17_x86_64 | 需修改 | 需修改 | 需修改 |
- ubnfilel.txt 和 ubnpathl.txt 位於各『版本目錄』中,
- BOOTX64.conf 則在各『版本目錄』下的『EFI/BOOT』目錄中。
- ubnfilel.txt 和 ubnpathl.txt 檔,第一列的修改為:
LiveOS/TRANS.TBL =》 F17_x86_64/LiveOS/TRANS.TBL isolinux =》 F17_x86_64/isolinux - BOOTX64.conf 則略複雜些,要修改好幾個地方,分別在以 splashimage,kernel,和 initrd 為首的三列命令的檔案名稱前,要加上『版本目錄』名稱。以 Fedora 17 x86_64 為例:
#debug --graphics default=0 splashimage=/F17_x86_64/EFI/BOOT/splash.xpm.gz timeout 5 hiddenmenu title Fedora 17 findiso kernel F17_x86_64/images/pxeboot/vmlinuz root=hd:LABEL="FedoraU":/F17_x86_64 initrd F17_x86_64/images/pxeboot/initrd.img title Test this media & start Fedora findiso kernel F17_x86_64/images/pxeboot/vmlinuz root=hd:LABEL="FedoraU":/F17_x86_64 quiet rd.live.check initrd F17_x86_64/images/pxeboot/initrd.img
七、將 DVD.ISO 複製到 USB 隨身碟
一般而言,安裝時使用 DVD.iso 是安裝時的最佳選擇。因此,在這個步驟中,要將 DVD.iso 複製到 USB 隨身碟的『版本目錄』中。以篇末的『懶人包』為例,有這四個 iso 檔:版本目錄名 | CPU | Fedora 版本 | 複製之 DVD.iso 檔名 |
---|---|---|---|
F14_i386 | 32-bit | Fedora 14 | Fedora-14-i386-DVD.iso |
F14_x86_64 | 64-bit | Fedora 14 | Fedora-14-x86_64-DVD.iso |
F17_i386 | 32-bit | Fedora 17 | Fedora-17-i386-DVD.iso |
F17_x86_64 | 64-bit | Fedora 17 | Fedora-17-x86_64-DVD.iso |
注意:若 USB 隨身碟容量不夠,這些版本的 DVD.iso 不一定要同時放進 USB 隨身碟,只要保留『版本目錄』結構,暫時不安裝 DVD.iso 先移除,要安裝的 DVD.iso 再放進,即可彈性使用這個『多版本 USB 安裝隨身碟』。
八、以 USB 隨身碟開機、安裝
在電腦的 BIOS 裏,將開就順序設定為『USB 隨身碟』第一優先,打開電源後電腦就會從 USB 隨身碟開機。在安裝選單中,挑選適當的項目,通常的選擇為
Install or upgrade Fedora ?? ???或
Install Fedora ?? ??? in basic graphics mode.後者只有在前一選項的『圖形化安裝程式』不能正常執行時,才去選擇它。當開始安裝後,各位讀者看到的步驟,應該和用 DVD 光碟片安裝相同,就不再贅述。
九、懶人包
學習 Linux 是不能偷懶的,而這個『多版本 USB 安裝隨身碟』想要作成『懶人包』也是不太容易。就提供筆者的『幾個修改好的設定檔案』,連同它們的目錄架構,只要解開壓縮檔,將原本的檔案蓋過去就可以,應該也算是『懶人包』的一種吧!若讀者製作的版本不同,就麻煩自己修改,或是提出來討論。『懶人包』說明:
- 適用同時放入四個版本的 Fedora 之用,為 Fedora 14 和 17 版,CPU 都包含 32 位元和 64 位元。
- 本篇所有『搬移』、『複製』的步驟都做完後,不需修改任何設定檔案,將『懶人包』解壓縮,複製到 USB 隨身碟即可。
- 『懶人包』下載連結。(Google 雲端硬碟.分享)
後記:
- 2013-1-26:Fedora 18 以後的版本,本文的步驟不適用,請參考另一篇發文:適用 Fedora 18 的「可選版本 USB 安裝隨身碟」。
已測試版本:
- Fedora: 14, 17
這篇很實用,謝謝您:)
回覆刪除