2014年1月19日 星期日

適用 Fedora 20 的「可選版本 USB 安裝隨身碟」

最近自已製作 Fedora 20 的「可選版本 USB 安裝隨身碟」時,上次說要整理的『懶人包』給忘了,在修改相關的檔案時,是有些不便。利用這次重新製作 Fedora 20 的「可選版本 USB 安裝隨身碟」的機會,想乾脆將修改的檔案放在發文中,需要時直接剪貼就好了。
這個程序主要是由前文的程序修改而來,為方便讀者參考,將前文相關內容複製過來,以求完整。部份截圖可能仍為舊版,請讀者包涵。

一、下載開機檔案

下載的檔名列表如下:
CPU光碟機網路
需求
網路
頻寬
選用 / 燒錄之 ISO 檔
32-bitDVD-ROM--Fedora-XX-i386-DVD.iso
32-bitCD-ROM必需Fedora-XX-i386-netinst.iso
64-bitDVD-ROM--Fedora-XX-x86_64-DVD.iso
64-bitCD-ROM必需Fedora-XX-x86_64-netinst.iso
上表中的『XX』為 Fedora 的版本編號。請依需要下載適當版本,下列步驟以 Fedora 20 為例。

二、製作可開機的 USB 隨身碟

開啟「磁碟公用程式」
  • Fedora 14:從「應用程式」→「系統工具」→「磁碟公用程式」
  • Fedora 18 ~ 19:從「應用程式」→「附屬應用程式」→「磁碟」
開啟「磁碟公用程式」。 將 USB 隨身碟分割成兩個「分割區」,分別格式化為 FATExt4 檔案系統,名稱則可自定,最好是用英文(例:FedoraUBoot 及 FedoraUISO),安裝時才不會出錯。記住這個名稱,待會要用
註一:『右上方的齒輪』是對磁碟的的操作,一般的隨身碟格式化選『MBR/DOS』即可。下方的『+/-』是建立、刪除分割區(若已無空間則僅有『-』)。『下方的齒輪』是對分割區的操作,格式化時可選的擇 FAT 或 Ext4。
註二:建立分割區時,指定該分割區使用的,就可以依需求建立數個分割區。
註三:新買的隨身碟,其格式可能為 Fedora 無法正確辨認,這時下方的『+/-』符號可能不會出現,先按『右上方的齒輪』將隨身碟格式化為 MBR/DOS 後,就可增刪分割區了。
註四:第一個分割區『FedoraUBoot』因為 FAT32 檔案系統,在有些 Fedora 版本格式化時,標籤會出現全部大寫『FEDORAUBOOT』。

分割區的大小與要放幾個版本有關,最近幾個版本所佔空間的大小整理列表如下:
分割區檔案
系統
容 量用 途
編號標籤名稱
sdx1FedoraUBootFAT32每個版本約需 300 ~ 350 MB儲存開機啟動檔案, 需設定為「可開機」
sdx2FedoraUISOExt4每個 DVD.iso 約 3.3 ~ 4.3 GB儲存 ISO 檔
上表中的『sdx?』是待會 UNetbootin 安裝開機啟動檔案時要用的,
  • 字母『 x 』是指『硬碟』的編號(由 a 開始,依序 b, c, ...)
  • 數字『 1, 2 』是分割後的「分割區」編號(由 1 開始,依序 2, 3, ...)
接著,在「終端機」中,先切換成 root 身份,再提示符號後,以 unetbootin 執行 UNetbootin,將『網路安裝 CD』的映像檔複製到 USB 隨身碟,
其中的 Fedora-20-i386-netinst.iso 是在步驟一的過程中,所下載的光碟映像檔。按【確定】後等待一段時間,讓 UNetbootin 建立必要的檔案、目錄。當出現【現在重新開機】及【退出】兩個按鈕時,就是製做完成。
因為要製作『多版本 USB 安裝隨身碟』,按【退出】鈕後,接著進行下一步驟。

注意:Fedora 的預設安裝中,並未包含 UNetbootin,可以用『yum install unetbootin』這個命令加裝此套件。

三、搬移啟動及安裝檔

用『檔案管理』程式查看 USB 隨身碟的內容,
可以看見在上一個步驟中,unetbootin 放入了兩種檔案:
  • 根目錄:一些 USB 隨身碟開機的檔案,與 Linux 安裝的版本無關。
  • 子目錄:『網路安裝 CD』的 Linux 啟動檔案,這些檔案是從 netinst.iso 取出,且關係到將來安裝的 Fedora 版本。
因為要在這個 USB 隨身碟中,同時放入數個不同 Fedora 版本的安裝檔案,就應將這些檔案分置在不同目錄。
  在 USB 隨身碟的根目錄下,建立一個名為『Fxx_xxxx』的『版本目錄』,再將前一步驟中新增加的『根目錄』中的三個檔案及所有『子目錄』,以 Fedora 20 i386 為例,其『版本目錄』為『F20_i386』:
  • 根目錄:syslinux.cfg、ubnfilel.txt 和 ubnpathl.txt 三個檔案。
  • 子目錄:images、isolinux 和 LiveOS 三個目錄。(有時會有四個子目錄,都要搬過去)
搬到新建的『版本目錄』,即『F20_i386』中,如下圖所示:
此時,根目錄中應是只剩幾個『系統檔案』,讀者可以不必理會它。

四、複製其它版本的安裝檔案

重覆步驟二、三,直到 unetbootin 複製妥最後一個版本時,在搬移前先暫停一下。最後一個版本的搬移過程有些不同,要留些檔案不搬移,否則 USB 隨身碟也開不了機。
  • 根目錄:除了 syslinux.cfg 這個檔案用複製外,另兩個檔案 ubnfilel.txt 和 ubnpathl.txt 也要搬至『版本目錄』,其它檔案都留著不動它們。
  • 子目錄:新增的子目錄,如同步驟三之操作,也都搬至『版本目錄』。
這個步驟很繁瑣,操作時要小心。看在將來安裝的方便上,這些辛苦應該是值得的。

五、修改 Linux 開機啟動命令

在 USB 隨身碟的根目錄中,尋找檔名為『syslinux.cfg』的檔案,這是 USB 隨身碟啟動後,第一個跳出的選單畫面的設定檔。為節省篇幅,較詳細的說明請讀者參考之前的發文(列於篇末),在這裏直接將修改後內容貼上來,方便讀者應用:
default menu.c32
prompt 0
menu title Multiple Fedora Installation USB Flash Drive
timeout 100

label

label ubnentry1
menu label ^1) Install Fedora 20 x86_64
kernel /F20_x86_64/images/pxeboot/vmlinuz
append initrd=/F20_x86_64/images/pxeboot/initrd.img repo=hd:LABEL=FedoraUISO:/F20_x86_64 quiet

label ubnentry2
menu label ^2) Install Fedora 20 x86_64 in basic graphics mode.
kernel /F20_x86_64/images/pxeboot/vmlinuz
append initrd=/F20_x86_64/images/pxeboot/initrd.img repo=hd:LABEL=FedoraUISO:/F20_x86_64 xdriver=vesa nomodeset quiet

label ubnentry3
menu label ^3) Install Fedora 20 i386
kernel /F20_i386/images/pxeboot/vmlinuz
append initrd=/F20_i386/images/pxeboot/initrd.img repo=hd:LABEL=FedoraUISO:/F20_i386 quiet

label ubnentry4
menu label ^4) Install Fedora 20 i386 in basic graphics mode.
kernel /F20_i386/images/pxeboot/vmlinuz
append initrd=/F20_i386/images/pxeboot/initrd.img repo=hd:LABEL=FedoraUISO:/F20_i386 xdriver=vesa nomodeset quiet

label
label
menu label http://sibsaidinblog-tw.blogspot.com

六、修改各版本的安裝檔案

在步驟三中所搬移的子目錄之檔案,都是與各安裝版本有關。正常的安裝過程中,都是假設安裝相關的檔案(包含子目錄中的)之所在位置是相對於 USB 隨身碟的『根目錄』,在步驟三的搬移操作後,這個前提已經不符合了。因此,這些指示安裝檔案的設定檔都要加以修改,每個版本各有兩個檔案。
版本\檔案檔 案 目 錄ubnfilel.txtubnpathl.txt
F20_x86_64FedoraUBoot/F20_x86_64需修改需修改
F20_i386FedoraUBoot/F20_i386需修改需修改
一樣將修改後的檔案直接貼上來,方便應用:

FedoraUBoot/F20_x86_64 之 ubnfilel.txt 檔

F20_x86_64/EFI/BOOT/BOOTX64.efi
F20_x86_64/EFI/BOOT/MokManager.efi
F20_x86_64/EFI/BOOT/TRANS.TBL
F20_x86_64/EFI/BOOT/fonts/TRANS.TBL
F20_x86_64/EFI/BOOT/fonts/unicode.pf2
F20_x86_64/EFI/BOOT/grub.cfg
F20_x86_64/EFI/BOOT/grubx64.efi
F20_x86_64/LiveOS/TRANS.TBL
F20_x86_64/LiveOS/squashfs.img
F20_x86_64/images/TRANS.TBL
F20_x86_64/images/efiboot.img
F20_x86_64/images/macboot.img
F20_x86_64/images/pxeboot/TRANS.TBL
F20_x86_64/images/pxeboot/initrd.img
F20_x86_64/images/pxeboot/upgrade.img
F20_x86_64/images/pxeboot/vmlinuz
F20_x86_64/isolinux/TRANS.TBL
F20_x86_64/isolinux/boot.cat
F20_x86_64/isolinux/boot.msg
F20_x86_64/isolinux/grub.conf
F20_x86_64/isolinux/initrd.img
F20_x86_64/isolinux/isolinux.bin
F20_x86_64/isolinux/isolinux.cfg
F20_x86_64/isolinux/memtest
F20_x86_64/isolinux/splash.png
F20_x86_64/isolinux/upgrade.img
F20_x86_64/isolinux/vesamenu.c32
F20_x86_64/isolinux/vmlinuz

FedoraUBoot/F20_x86_64 之 ubnpathl.txt 檔

F20_x86_64/isolinux
F20_x86_64/images/pxeboot
F20_x86_64/images
F20_x86_64/LiveOS
F20_x86_64/EFI/BOOT/fonts
F20_x86_64/EFI/BOOT
F20_x86_64/EFI

FedoraUBoot/F20_i386 之 ubnfilel.txt 檔

F20_i386/LiveOS/TRANS.TBL
F20_i386/LiveOS/squashfs.img
F20_i386/images/pxeboot/TRANS.TBL
F20_i386/images/pxeboot/initrd-PAE.img
F20_i386/images/pxeboot/initrd.img
F20_i386/images/pxeboot/upgrade-PAE.img
F20_i386/images/pxeboot/upgrade.img
F20_i386/images/pxeboot/vmlinuz
F20_i386/images/pxeboot/vmlinuz-PAE
F20_i386/isolinux/TRANS.TBL
F20_i386/isolinux/boot.cat
F20_i386/isolinux/boot.msg
F20_i386/isolinux/grub.conf
F20_i386/isolinux/initrd.img
F20_i386/isolinux/isolinux.bin
F20_i386/isolinux/isolinux.cfg
F20_i386/isolinux/memtest
F20_i386/isolinux/splash.png
F20_i386/isolinux/upgrade.img
F20_i386/isolinux/vesamenu.c32
F20_i386/isolinux/vmlinuz

FedoraUBoot/F20_i386 之 ubnpathl.txt 檔

F20_i386/isolinux
F20_i386/images/pxeboot
F20_i386/images
F20_i386/LiveOS

七、將 DVD.ISO 複製到 USB 隨身碟

一般而言,安裝時使用 DVD.iso 是安裝時的最佳選擇。因此,在這個步驟中,要將 DVD.iso 複製到 USB 隨身碟的『版本目錄』中,筆者這次測試的有這兩個 iso 檔:
CPU 類型Fedora 版本複製之 DVD.iso 檔名
32-bitFedora 20Fedora-20-i386-DVD.iso
64-bitFedora 20Fedora-20-x86_64-DVD.iso
將來安裝的過程,就會和用 DVD.iso 開機、安裝相同。製做好的『多版本 USB 安裝隨身碟』會有兩個「分割區」,檔案目錄如下圖所示。
注意:若 USB 隨身碟容量不夠,這些版本的 DVD.iso 不一定要同時放進 USB 隨身碟,暫時不安裝 DVD.iso 先移除,要安裝的 DVD.iso 再放進,即可彈性使用這個『多版本 USB 安裝隨身碟』。

八、以 USB 隨身碟開機、安裝

在電腦的 BIOS 裏,將開就順序設定為『USB 隨身碟』第一優先,打開電源後電腦就會從 USB 隨身碟開機。
    在安裝選單中,挑選適當的項目,通常的選擇為
Install or upgrade Fedora  ??  ???

Install Fedora  ??  ???  in basic graphics mode.
後者只有在前一選項的『圖形化安裝程式』不能正常執行時,才去選擇它。當開始安裝後,各位讀者看到的步驟,應該和用 DVD 光碟片安裝相同,就不再贅述。

九、相關發文

後記:

  • 2015-3- 1 :安裝 Fedora 21 請參考〝適用 Fedora 21 的「可選版本 USB 安裝隨身碟」〞。
  • 2014-3-31 :之前的修改在安裝會出現套件版本不符的情形,已將之前的修改還原。
  • 2014-2-23 :修改原先的發文中,有關 USB 隨身碟的『FedoraUISO』分割區的目錄。原本有加上各版本的目錄,為簡化製做『USB 安裝隨身碟』的時間,不用在『FedoraUISO』分割區建立各版本的目錄,改成將 ISO 檔案儲存在『FedoraUISO』分割區的『根目錄』。相關修改都已更新,可以直接剪貼使用。

已測試版本:

  • 製作 USB 隨身碟之系統:Fedora 19
  • USB 隨身碟之安裝系統 :Fedora 20

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)