8.4 建立開機 CD

如果使用開機管理員來啟動系統發生問題,或者開機管理員無法安裝在硬碟或磁片的 MBR 上,也可以建立一張包含 Linux 所有必要啟動檔案的開機 CD。您的系統需要有一個 CD 燒錄器。

使用 GRUB 建立可開機的 CD-ROM 只需要一個特殊形式的 stage2 (稱為 stage2_eltorito),並可以選用自定的 menu.lst。不需要典型的檔案 stage1stage2

建立開機 CD

  1. 變更至要在其中建立 ISO 影像的目錄,例如: cd /tmp

  2. 為 GRUB 建立子目錄,然後變更至新建立的 iso 目錄︰

    mkdir -p iso/boot/grub && cd iso
  3. 將核心以及stage2_eltoritoinitrdmenu.lstmessage 等檔案複製至 iso/boot/

    cp /boot/vmlinuz boot/
    cp /boot/initrd boot/
    cp /boot/message boot/
    cp /usr/lib/grub/stage2_eltorito boot/grub
    cp /boot/grub/menu.lst boot/grub
  4. 調整 boot/grub/menu.lst 中的路徑項目,使它們指向光碟機。方法是以 CD-ROM 光碟機的裝置名稱 (cd) 來取代路徑名稱中以 (hdx,y) 格式列出的硬碟設備名稱。您可能還需要調整訊息檔案、核心和 initrd 的路徑 — 它們分別需指向 /boot/message/boot/vmlinuz/boot/initrd。調整之後,menu.lst 的內容應類似於下面的範例:

    timeout 8
    default 0
    gfxmenu (cd)/boot/message
    
    title Linux
       root (cd)
       kernel /boot/vmlinuz root=/dev/sda5 vga=794 resume=/dev/sda1 \
       splash=verbose showopts
       initrd /boot/initrd

    使用 splash=silent (而非使用 splash=verbose) 讓開機訊息不要出現在開機程序中。

  5. 使用以下指令建立 ISO 影像:

    genisoimage -R -b boot/grub/stage2_eltorito -no-emul-boot \
    -boot-load-size 4 -boot-info-table -iso-level 2 -input-charset utf-8 \
    -o grub.iso /tmp/iso
  6. 使用您偏好的公用程式,將產生的檔案 grub.iso 燒錄至光碟。請勿將 ISO 影像燒錄為資料檔案;請在您的燒錄公用程式中使用燒錄光碟影像的選項。