查一下資料,大概是太久沒用 FAT32,竟發現自已都忘了這個檔案系統的規格,它的單一檔案大小被限制在 4GB,而 Fedora-18-XXXX-DVD.iso 這兩個檔案都是 4.3GB,所以不能使用 FAT32 檔案系統,那是否可以用別的檔案系統呢?例如:Linux 常用的 Ext4。結果,用 UNetbootin 製作好的 USB 安裝隨身碟不能開機,應該是 UNetbooting 的問題。
上網查了一下資料,大都是建議使用「LiveUSB Creator」,筆者當然也試了,但不能使用多版本安裝。對於需要隨時選擇 x86_64 和 i686 這兩個安裝版本的筆者而言,是有些不方便。所幸,經過一翻嘗試,終於讓筆者找到製做這個『適用 Fedora 18 的多版本安裝隨身碟』的程序。
這個程序主要是由前文的程序修改而來,為方便讀者參考,將前文相關內容複製過來,以求完整。
一、下載開機檔案
下載的檔名列表如下:CPU | 光碟機 | 網路 需求 | 網路 頻寬 | 選用 / 燒錄之 ISO 檔 |
---|---|---|---|---|
32-bit | DVD-ROM | - | - | Fedora-XX-i386-DVD.iso |
32-bit | CD-ROM | 必需 | 可 | Fedora-XX-i386-netinst.iso |
64-bit | DVD-ROM | - | - | Fedora-XX-x86_64-DVD.iso |
64-bit | CD-ROM | 必需 | 可 | Fedora-XX-x86_64-netinst.iso |
註:Fedora 14 以前的版本,設定方法應該都相似;而 Fedora 15 以後的版本則應和 Fedora 18 相似。
二、製作可開機的 USB 隨身碟
開啟「磁碟公用程式」- Fedora 14:從「應用程式」→「系統工具」→「磁碟公用程式」
- Fedora 18:從「應用程式」→「附屬應用程式」→「磁碟」
開啟「磁碟公用程式」。 將 USB 隨身碟分割成兩個「分割區」,分別格式化為 FAT 及 Ext4 檔案系統,名稱則可自定,最好是用英文(例:FedoraUBoot 及 FedoraUISO),安裝時才不會出錯。記住這個名稱,待會要用。
註一:『右上方的齒輪』是對磁碟的的操作,一般的隨身碟格式化選『MBR/DOS』即可。下方的『+/-』是建立、刪除分割區(若已無空間則僅有『-』)。『下方的齒輪』是對分割區的操作,格式化時可選的擇 FAT 或 Ext4。
註二:建立分割區時,指定該分割區使用的,就可以依需求建立數個分割區。
註三:新買的隨身碟,其格式可能為 Fedora 無法正確辨認,這時下方的『+/-』符號可能不會出現,先按『右上方的齒輪』將隨身碟格式化為 MBR/DOS 後,就可增刪分割區了。
分割區的大小與要放幾個版本有關,最近幾個版本所佔空間的大小整理列表如下:
分割區 | 檔案 系統 | 容 量 | 用 途 | |
---|---|---|---|---|
編號 | 標籤名稱 | |||
sdx1 | FedoraUBoot | FAT32 | 每個版本約需 300 ~ 350 MB | 儲存開機啟動檔案, 需設定為「可開機」 |
sdx2 | FedoraUISO | Ext4 | 每個 DVD.iso 約 3.3 ~ 4.3 GB | 儲存 ISO 檔 |
其中的 Fedora-18-i386-netinst.iso 是在步驟一的過程中,所下載的光碟映像檔。按【確定】後等待一段時間,讓 UNetbootin 建立必要的檔案、目錄。當出現【現在重新開機】及【退出】兩個按鈕時,就是製做完成。
因為要製作『多版本 USB 安裝隨身碟』,按【退出】鈕後,接著進行下一步驟。
注意:Fedora 的預設安裝中,並未包含 UNetbootin,可以用『yum install unetbootin』這個命令加裝此套件。
三、搬移啟動及安裝檔
用『檔案管理』程式查看 USB 隨身碟的內容,可以看見在上一個步驟中,unetbootin 放入了兩種檔案:
- 根目錄:一些 USB 隨身碟開機的檔案,與 Linux 安裝的版本無關。
- 子目錄:『網路安裝 CD』的 Linux 啟動檔案,這些檔案是從 netinst.iso 取出,且關係到將來安裝的 Fedora 版本。
在 USB 隨身碟的根目錄下,建立一個名為『Fxx_xxxx』的『版本目錄』,再將前一步驟中新增加的『根目錄』中的三個檔案及所有『子目錄』,以 Fedora 18 i386 為例,其『版本目錄』為『F18_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
這裏和前文不同,請注意
label: 選單程式用以識別各選項項目用,只要名稱不重覆就不會出錯。 menu label: 安裝時,選單程式顯示的選項名稱,『^』後的字母是『快速選擇鍵』。 kernel: 各版本安裝時,第一個載入的檔案 vmlinuz,是 Linux 的『作業系統核心』。 append: 在 Linux 核心之後,接著載入的模組,包含驅動程式、檔案系統等。
以 Fedora 18 的 i386 版本為例,上述的兩個選單的『選項內容』改為
label ubnentry2及用顯示卡的 VESA 相容模式安裝的參數列
menu label ^Install or upgrade Fedora 18 i386
kernel /F18_i386/images/pxeboot/vmlinuz
append initrd=/F18_i386/images/pxeboot/initrd.img repo=hd:LABEL=FedoraUISO quiet
label ubnentry3若是正在製作 Fedora 14 i386 的安裝檔案,取代的文字(repo=……)則改為
menu label Install Fedora 18 i386 in ^basic graphics mode.
kernel /F18_i386/images/pxeboot/vmlinuz
append initrd=/F18_i386/images/pxeboot/initrd.img repo=hd:LABEL=FedoraUISO xdriver=vesa nomodeset quiet
stage2=hd:LABEL="FedoraUISO":/F14_i386而且,在 FedoraUBoot 分割區的目錄 /F14_i386 和 /F14_x86_64,也要整個複製一份到 FedoraUISO 分割區的根目錄,才不會在安裝過程中,因找不到檔案而出錯。
注意:append 這列文字中,末修正前為『inst.stage2=hd:LABEL=……』,要依上述說明依版本改為『repo=hd:LABEL=……』或『stage2==hd:LABEL=……』。
六、修改各版本的安裝檔案
在步驟三中所搬移的子目錄之檔案,都是與各安裝版本有關。正常的安裝過程中,都是假設安裝相關的檔案(包含子目錄中的)之所在位置是相對於 USB 隨身碟的『根目錄』,在步驟三的搬移操作後,這是前提已經不符合了。因此,這些指示安裝檔案的設定檔都要加以修改,共有三個檔案。版本\檔案 | ubnfilel.txt | ubnpathl.txt | BOOTX64.conf 或 BOOT.conf |
---|---|---|---|
F14_i386 | 需修改 | 需修改 | 需修改 |
F14_x86_64 | 需修改 | 需修改 | 需修改 |
F18_i386 | 需修改 | 需修改 | - |
F18_x86_64 | 需修改 | 需修改 | 不需修改(註) |
- ubnfilel.txt 和 ubnpathl.txt 位於各『版本目錄』中,
- BOOTX64.conf 則在各『版本目錄』下的『EFI/BOOT』目錄中。
- ubnfilel.txt 和 ubnpathl.txt 檔,第一列的修改為:
LiveOS/TRANS.TBL =》 F14_x86_64/LiveOS/TRANS.TBL isolinux =》 F14_x86_64/isolinux - 這裏和前文不同,請注意
BOOTX64.conf 則略複雜些,要修改好幾個地方,分別在以 splashimage,kernel,和 initrd 為首的三列命令的檔案名稱前,要加上『版本目錄』名稱。以 Fedora 14 x86_64 為例:#debug --graphics default=0 splashimage=/F14_x86_64/EFI/BOOT/splash.xpm.gz timeout 5 hiddenmenu title Fedora 18 findiso kernel F14_x86_64/images/pxeboot/vmlinuz root=hd:LABEL="FedoraUISO":/F17_x86_64 initrd F14_x86_64/images/pxeboot/initrd.img title Test this media & start Fedora findiso kernel F14_x86_64/images/pxeboot/vmlinuz root=hd:LABEL="FedoraUISO":/F14_x86_64 quiet rd.live.check initrd F14_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 |
F18_i386 | 32-bit | Fedora 18 | Fedora-18-i386-DVD.iso |
F18_x86_64 | 64-bit | Fedora 18 | Fedora-18-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 光碟片安裝相同,就不再贅述。
九、懶人包
由於有太多東西要測試,『懶人包』就過幾天再上傳了。後記:
- 2014-1-19: Fedora 20 請參考『適用 Fedora 20 的「可選版本 USB 安裝隨身碟」』。
已測試版本:
- Fedora: 14, 18
"開啟「磁碟公用程式」。將 USB 隨身碟分割成兩個「儲存區」"
回覆刪除這句話可以請詳細解說一下,操作不太順利(我用Fedora 17 Fedora18)
謝謝提醒!
刪除『磁碟公用程式』(Fedora 17 以後稱為『磁碟』)的詳細操作需要很多截圖,有些佔篇幅,所以當時將之帶過去、省略了。補上一個截圖,並加上簡單說明,先墊一下。
改天把詳細操作整理好後,再另外發個文。
謝謝你囉
刪除已經完成切割!