最近更新文章
2017/11/23
AI辨識超越人力極限 惡意行為即時偵測分析
2017/11/22
齊全功能搶佔協作市場 整合平台點亮生產力
2017/11/22
對行動裝置做雲端鑑識 解析雲服務存取足跡
2017/11/21
IBM攜手星展銀推全新AI虛擬助理,更包含企金服務
2017/11/21
偵測、鑑識、回應兼備 端點安全更上層樓
2017/11/21
四個開源大數據工具 打造超高速輿情監控系統
2017/11/20
VMware協助台灣託管服務商轉型並交付新型服務
2017/11/20
打造私有雲協作平台 重新定義工作型態
2017/11/20
虛擬桌面VMware再出招 新版Horizon 7.2大提升
2017/11/19
Pure Storage 推出全新SAP自動化拷貝工具(CAT)
2017/11/17
打造智慧工廠 IPC大廠分享實戰經驗
2017/11/17
跨雲時代的轉型秘訣
2017/11/17
行為鑑識搭配防毒引擎 提升端點偵測效率
2017/11/16
威聯通科技引領雲端風潮 整合高速運算啟動AI應用
2017/11/16
Juniper Networks協助國立暨南國際大學擴充校園核心網路
2017/11/16
EDR跨足次世代防毒 挺進端點保護平台市場
2017/11/15
台灣駭客隊伍數破新高,全球駭客12月來台爭冠
2017/11/15
趨勢科技獲 2017 NSS Labs 評測,入侵偵測率的完美成績
2017/11/15
紅帽與阿里雲攜手 運用開放原始碼技術帶來更高靈活性
2017/11/15
team+攜手VMware 打造俱行動安全管理的企業協作平台
2017/11/15
多功能工作站 設備擴充好利害
2017/11/15
SAP協助如興進行數位轉型
將此篇文章跟 Facebook 上的朋友分享將此篇文章跟 Plurk 上的朋友分享將此篇文章跟 Twitter 上的朋友分享列印轉寄
2015/1/13

掌握Linux系統開機流程 規劃磁碟分割及啟動程式

Linux磁區配置從頭開始 搞定MBR、GPT與UEFI

黃明華
本文將以手動指令操作的方式來做示範,讓大家能夠清楚地分辨UEFI、GPT分割與Linux的搭配及其運作方式,進而能更順暢地操作Linux這個免費又好用的作業系統。
在圖9的畫面中當然是選擇「Arch Linux archiso x86_64 UEFI CD」選項開機,進入系統後,一樣要注意的是硬碟分割方式,在這裡GRUB與syslinux兩種開機管理程式分割方式倒是沒什麼不同,而且在UEFI模式下,GRUB與syslinux這兩者可以同時安裝同時存在。

在UEFI模式下,除了系統與swap分割外,最主要是必須多一個給EFI使用的EFI System Partition分割,一般來說,這個分割之後會掛載在「/boot」中,因此通常會建立在第一個分割,此分割的大小建議至少512MB,而且是檔案系統型態是FAT32。

筆者使用「mkpart primary fat32 0MB 512MB」來建立這個分割,然後用指令「set 1 boot on」將這個分割設定為EFI System Partition型態。若是使用gdisk分割,EFI System Partition的分割型態編號則為EF00。EFI System Partition建立後,再分別建立系統與swap分割,建立後的分割表配置如圖10所示。


▲圖10 建立後的分割表配置。


之後在格式化時,因為EFI System Partition的格式化為FAT32,因此使用「mkfs.fat -F32 /dev/sda1」指令將這個分割格式化為FAT32。格式化之後掛載系統到「 /mnt」,接著在「/mnt」下建立「boot」目錄,然後將EFI System Partition掛載到「/mnt/boot」目錄下。

然後開始利用pacstrap安裝基礎系統base以及grub、dosfstools、efibootmgr加上syslinux。如果只安裝syslinux這個開機管理員,那安裝syslinux與efibootmgr就可以,若是使用GRUB,那就得安裝grub、eifbootmgr與dosfstools這三個軟體。

接著先設定syslinux,在使用arch-chroot進入「 /mnt」內所安裝的Arch Linux系統後,用「mkdir -p /boot/EFI/syslinux」建立syslinux的EFI目錄,然後執行「cp -r /usr/lib/syslinux/efi64/* /boot/EFI/syslinux」指令將syslinux有關EFI開機的檔案拷貝到剛剛所建立的「/boot/EFI/syslinux」目錄內。

再來執行指令「efibootmgr -c -d /dev/sda -p 1 -l /EFI/syslinux/syslinux.efi -L "Syslinux"」,在UEFI中建立一個名稱為Syslinux的開機選項。其中,「-c」選項表示建立,「-d /dev/sda -p 1」表示在「/dev/sda」中的第一個分割有syslinux開機管理員,「-l /EFI/syslinux/syslinux.efi」則代表使用的是syslinux開機管理員,「-L "Syslinux"」是指在UEFI中建立的開機選項名稱。

設定完開機選項後,因為原「/boot/syslinux/syslinux.cfg」檔案主要是給傳統BIOS開機使用,因此將「/boot/syslinux/syslinux.cfg」拷貝一份到「/boot/EFI/syslinux」目錄下,接著修改syslinux.cfg這個檔案,將Arch Linux系統root分割區的UUID設定到syslinux.cfg中。額外要注意的是,因為vmlinuz-linux、initramfs-linux.img以及initramfs-linux-fallback.img這三個Linux作業系統核心啟動檔案因為位置在「/boot」,因此路徑前要再往上加一層,syslinux.cfg的設定如圖11所示。


▲圖11 syslinux.cfg的設定內容。


到這裡,就完成syslinux的設定,接著設定GRUB。GRUB比較簡單,使用指令「grub-install --target=x86_64-efi –efi-directory=/boot --bootloader-id=arch_grub --recheck –debug」指令就可以將GRUB有關UEFI的檔案安裝到「/boot」目錄下,並在UEFI內加入開機選項,其中的「--bootloader-id=arch_grub」參數就是在UEFI內加入arch_grub這個開機選項名稱。最後,使用「grub-mkconfig -o /boot/grub/grub.cfg」指令產生GRUB的開機選單設定檔,就完成GRUB的設定。

重開機後按下〔F11〕功能鍵,便可以看到Syslinux與arch_grub這兩個剛剛添加的UEFI開機選項,如圖12所示。


▲圖12 出現Syslinux與arch_grub這兩個UEFI開機選項。


這兩個選項都可以開機進入Arch Linux系統中,只是一個是進入syslinux開機管理程式選單,另一個則是進入GRUB開機管理程式選單。

efibootmgr使用與UEFI設定

可以直接輸入「efibootmgr」指令來檢視目前UEFI中的開機選項,如圖13所示。


▲圖13 透過「efibootmgr」指令來檢視UEFI內的開機選項。


此時應該可以在列表中看到Syslinux及arch_grub這兩個開機選項,可以使用efibootmgr去移除裡面的開機選項,例如要移除Syslinux就使用「efibootmgr -b 0004 -B」指令,-b是指定要移除的編號,-B則是指進行移除。不過特別要注意的是,除了自己加入的選項外,系統內建的選項就不要去移除,以免發生慘劇。

另外,也可以在開機時按下〔F2〕功能鍵,進入UEFI的系統選單中,如圖14所示。


▲圖14 按下〔F2〕鍵進入UEFI系統選單。


將Syslinux這個UEFI開機選項設定為第一個預設開機選項,之後系統就會預設由Syslinux開機選項開機進入syslinux開機管理程式選單中。

結語

到這裡做個簡單明瞭的總結,Linux本身使用傳統BIOS開機方式,也能使用GPT分割,差別只是在使用GRUB開機時,GRUB需要一個額外的BIOS Boot分割,syslinux則不需要。

而使用UEFI模式開機時,GRUB與syslinux則都需要一個額外的EFI System分割,這分割須格式化為FAT32且掛載在「/boot」目錄下,並安裝相關UEFI檔案,同時都必須透過efibootmgr在UEFI中加入開機選項。GRUB安裝程式會自動呼叫efibootmgr,syslinux則必須另外執行efibootmgr指令,並且GRUB與syslinux可以同時並存使用。

讀者本身的電腦環境與實際使用的Linux發行版可能跟筆者不同,但基本上UEFI與Linux系統及開機管理程式上的搭配應該是相同的,希望透過本文詳盡的手動指令操作示範,能讓讀者更深入了解UEFI及GPT分割與Linux的搭配與運作方式,進而能更順暢地運用Linux這個強大的作業系統。

<本文作者:黃明華,目前主要擔任雲端及儲存技術顧問,負責協助開發相關應用產品。擅長研究各式系統及程式技術,並提供相關技術支援、諮詢、導入及評估服務,特別是自由軟體/開放原始碼相關系統與技術。>

這篇文章讓你覺得滿意不滿意
送出
相關文章
SophosLabs 2018 惡意軟體預測
正確撰寫Dockerfile 製作最好用容器映像檔
從安裝設定到更新維護 部署vCSA管好虛擬平台
安裝SoftEther VPN 活用樹莓派自造翻牆機
共用系統核心資源 玩轉Windows Server容器
留言
顯示暱稱:
留言內容:
送出