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 隨身碟分割成兩個「分割區」,分別格式化為 FAT 及 Ext4 檔案系統,名稱則可自定,最好是用英文(例: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.)