2015年3月1日 星期日

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

Fedora 21 已經釋出兩個多月,由於這次的光碟分成『工作站(Workstation)』、『伺服器(Server)』和『雲技術(Cloud)』三片,讓使用者依自已的需求安裝。在這種情形下,「多版本 USB 安裝隨身碟」的製作更是需要。
  一直想寫篇「可選版本 USB 安裝隨身碟」的製作步驟,但是,這次的『工作站』光碟是『Live 光碟』,所以原有的「可選版本 USB 安裝隨身碟」製做步驟不能沿用,新的方法記錄如下:
這個程序主要是由前文的程序修改而來,為方便讀者參考,將前文相關內容複製過來,以求完整。部份截圖可能仍為舊版,請讀者包涵。

一、下載開機檔案

下載的檔名列表如下:
CPU版本分類網路
需求
網路
頻寬
選用 / 燒錄之 ISO 檔檔案大小
32-bit工作站--Fedora-Live-Workstation-i686-21-5.iso1.2 GB
伺服器--Fedora-Server-DVD-i386-21.iso2.0 GB
必需Fedora-Server-netinst-i386-21.iso482 MB
64-bit工作站--Fedora-Live-Workstation-x86_64-21-5.iso1.4 GB
伺服器--Fedora-Server-DVD-x86_64-21.iso1.9 GB
必需Fedora-Server-netinst-x86_64-21.iso424 MB
其中,『工作站』版為 Live 光碟,『伺服器』版則有兩個版:DVD 安裝光碟(檔名有 DVD)及網路安裝光碟(檔名有 netinst)。請依需要下載適當版本,以製做「可選版本 USB 安裝隨身碟」,
  • 『工作站』版依 CPU 下載適當該 ISO 檔即可。
  • 『伺服器』版除依 CPU 下載該 ISO 檔外,其網路安裝光碟也要下載。
下列步驟以 Fedora 21 在上表中所列的版本為例。

二、格式化 USB 隨身碟

開啟「磁碟公用程式」
  • Fedora 14:從「應用程式」→「系統工具」→「磁碟公用程式」
  • Fedora 18 ~ 21:從「應用程式」→「附屬應用程式」→「磁碟」
開啟「磁碟公用程式」。將 USB 隨身碟分割成一個「分割區」,且格式化為 FAT 檔案系統(:Fedora 21 的 ISO 檔大小皆小於 4GB),名稱則可自定,最好是用英文(例:FedoraUSB),安裝時才不會出錯。記住這個名稱,待會要用

註一:『右上方的齒輪』是對磁碟的的操作,一般的隨身碟格式化選『MBR/DOS』即可。下方的『+/-』是建立/刪除分割區(若已無空間則僅有『-』)。『下方的雙齒輪』是對分割區的操作,格式化時可選擇 FAT 或 Ext4。
註二:建立分割區時,指定該分割區使用的,就可以依需求建立數個分割區。
註三:新買的隨身碟,其格式可能為 Fedora 無法正確辨認,這時下方的『+/-』符號可能不會出現,先按『右上方的齒輪』將隨身碟格式化為 MBR/DOS 後,就可增刪分割區了。
註四:分割區『FedoraUSB』因為是 FAT32 檔案系統,在有些 Fedora 版本格式化時,標籤會出現全部大寫『FEDORAUSB』。

所需要的 USB 隨身碟大小與安裝選項的版本數有關,以 Fedora 21 為例列表如下:
檔案存放目錄
(版本目錄)
ISO 檔案類型CPU 類型所佔空間置入 USB 中方式
F21_WS_x86_64Live-Workstation64-bit約 1.5 GB用 UNetBootin 安裝,再搬至『版本目錄』
F21_WS_i386Live-Workstation32-bit約 1.3 GB用 UNetBootin 安裝,再搬至『版本目錄』
F21_SVR_x86_64Server-netinst64-bit約 534.6 MB用 UNetBootin 安裝,再搬至『版本目錄』
Server-DVD約 1.9 GB複製 ISO 檔至『版本目錄』
F21_SVR_i386Server-netinst32-bit約 593.4 MB用 UNetBootin 安裝,再搬至『版本目錄』
Server-DVD約 2.0 GB複製 ISO 檔至『版本目錄』
建立好的分割區要先掛載成功後,才可以進行下一步驟。

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

在「終端機」中,先切換成 root 身份,在提示符號後,鍵入 unetbootin 以執行 UNetbootin,將『網路安裝光碟』及『Live 光碟』的映像檔複製到 USB 隨身碟,
上圖中的 Fedora-Server-netinst-x86_64-21.iso 是在步驟一的過程中,所下載的光碟映像檔。按【確定】後等待一段時間,讓 UNetbootin 建立、複製必要的目錄、檔案。當出現【現在重新開機】及【結束】兩個按鈕時,就是製做完成。
因為要製作『多版本 USB 安裝隨身碟』,按【退出】鈕後,接著進行下一步驟。

註一:Fedora 的預設安裝中,並未包含 UNetbootin,可以用『yum install unetbootin』這個命令加裝此套件。
註二:如果只要安裝一個「Fedora 21 工作站」版(不需多版本),做完這個步驟就可以了。

四、搬移啟動及安裝檔

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

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

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

:根目錄中有些檔案不一定是需要的,想再節省一些空間的話,在複製最後一個版本,可將根目錄中的檔案都刪除。

六、修改 Linux 開機啟動命令

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

label ubnentry1
menu label ^1) Start Fedora 21 Live (Workstation x86_64)
kernel /F21_WS_x86_64/isolinux/vmlinuz0
append initrd=/F21_WS_x86_64/isolinux/initrd0.img root=live:LABEL=FedoraUSB rd.live.dir=/F21_WS_x86_64/LiveOS rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0
label ubnentry2
menu label ^2) Start Fedora 21 Live (Workstation i386)
kernel /F21_WS_i386/isolinux/vmlinuz0
append initrd=/F21_WS_i386/isolinux/initrd0.img root=live:LABEL=FedoraUSB rd.live.dir=/F21_WS_i386/LiveOS rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0
menu separator
label ubnentry3
menu label ^3) Install Fedora 21 (Server x86_64)
kernel /F21_SVR_x86_64/images/pxeboot/vmlinuz
append initrd=/F21_SVR_x86_64/images/pxeboot/initrd.img repo=hd:LABEL=FedoraUSB:/F21_SVR_x86_64 quiet
label ubnentry4
menu label ^4) Install Fedora 21 (Server i386)
kernel /F21_SVR_i386/images/pxeboot/vmlinuz
append initrd=/F21_SVR_i386/images/pxeboot/initrd.img repo=hd:LABEL=FedoraUSB:/F21_SVR_i386 quiet
menu separator
menu begin ^Troubleshooting
menu title Troubleshooting
label basic64
menu label ^1) Start Fedora 21 Live in basic VGA mode (WS, x86_64)
kernel /F21_WS_x86_64/isolinux/vmlinuz0
append initrd=/F21_WS_x86_64/isolinux/initrd0.img root=live:LABEL=FedoraUSB rd.live.dir=/F21_WS_x86_64/LiveOS rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 nomodeset
label basic32
menu label ^2) Start Fedora 21 Live in basic VGA mode (WS i386)
kernel /F21_WS_i386/isolinux/vmlinuz0
append initrd=/F21_WS_i386/isolinux/initrd0.img root=live:LABEL=FedoraUSB rd.live.dir=/F21_WS_i386/LiveOS rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 nomodeset
menu separator
label check64
menu label ^3)Test this media & start Fedora 21 Live (x86_64)
kernel /F21_WS_x86_64/isolinux/vmlinuz0
append initrd=/F21_WS_x86_64/isolinux/initrd0.img root=live:LABEL=FedoraUSB rd.live.dir=/F21_WS_x86_64/LiveOS rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 rd.live.check
label check64
menu label ^4)Test this media & start Fedora 21 Live (i386)
kernel /F21_WS_x86_64/isolinux/vmlinuz0
append initrd=/F21_WS_i386/isolinux/initrd0.img root=live:LABEL=FedoraUSB rd.live.dir=/F21_WS_i386/LiveOS rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 rd.live.check
menu separator
label local
menu label Boot from ^local drive
localboot 0xffff
menu separator
label returntomain
menu label Return to ^main menu.
menu exit
menu separator
menu separator
label sibsaidinblog
menu label http://sibsaidinblog-tw.blogspot.com
menu disable
menu end
menu separator
menu separator
label sibsaidinblog
menu label http://sibsaidinblog-tw.blogspot.com
menu disable
上例中,所製做的『可選版本 USB 安裝隨身碟』,包含:
  • 適用 64 位元 CPU 的「工作站」及「伺服器」
  • 適用 32 位元 CPU 的「工作站」及「伺服器」
共四個版本。

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

Fedora 21 的「工作站」版已經是 Live DVD,完成以上步驟後就可以安裝,不需要再複製 DVD.iso 檔。而「伺服器」版在前述的步驟中,只安裝它的『網路安裝光碟』。若用它安裝需要連上網路,則安裝所需時間就和網路頻寬有絕對的關係。
  一般而言,安裝時使用 DVD.iso 是安裝時的最佳選擇。因此,在這個步驟中,只要將「伺服器」版的 DVD.iso 複製到 USB 隨身碟的『版本目錄』中即可,以 Fedora 21 為例,需複製的 ISO 為:
版本目錄複製之 DVD.iso 檔名檔案大小
F21_SVR_i386Fedora-Server-DVD-i386-21.iso約 1.9 GB
F21_SVR_x86_64Fedora-Server-DVD-x86_64-21.iso約 2.0 GB
將來安裝的過程,就會和用 DVD 開機、安裝相同。

注意:若 USB 隨身碟容量不夠,這些版本的 DVD.iso 不一定要同時放進 USB 隨身碟,暫時不安裝 DVD.iso 先移除,要安裝的 DVD.iso 再放進,即可彈性使用這個『多版本 USB 安裝隨身碟』。

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

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

Install Fedora 21 (Server ???)
第一個選項是「工作站」,而第二個選項是「伺服器」。若「工作站」的 Live 光碟因『顯示卡』的驅動程式不能正確載入,而在開機後不能正常執行『圖形化桌面』時,就選擇『Troubleshooting』,有適用較舊『顯示器』用的驅動程式。
Start Fedora 21 Live in basic graphics mode (WS ???)
當開始安裝後,各位讀者看到的步驟,應該和用 DVD 光碟片安裝相同,就不再贅述。

九、相關發文


已測試版本:

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

參考資料:

沒有留言:

張貼留言

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