第一種 : 使用 syslinux 及 fat16/32 檔案系統 ( USB 在 WinXP 下可用 )
(在 M6 Linux 下可以用 gparted /dev/sda 進行分割區的分割及格式化 )
製作環境 : 執行 Linux 的 PC 或 Notebook ,要有一個 CD 及 USB 可用
(1) 分別掛載 USB 及 LiveCD ,假定分別將 USB 及 LiveCD 掛載到
/media/usbdisk 及 /media/cdrom 目錄之下,且 usb 佔用的 device 為 /dev/sda
(2) 移除 USB 上所有的檔案
rm -rf /media/usbdisk/*
(3) 將 LiveCD 所有的檔案及目錄複製到 USB 中
cp -aRfp /media/cdrom/* /media/usbdisk
(4) 將 /media/usbdisk/boot 目錄下的檔案全部移到 /media/usbdisk 下
cd /media/usbdisk/boot
mv * /media/usbdisk
(5) 複製或將 isolinux.cfg 改名為 syslinux.cfg
cd /media/usbdisk
cp isolinux.sys syslinux.cfg
(6) 調整各項參數之目錄,去除 boot/ 字串
perl -pi -e 's/boot\///g' syslinux.cfg
perl -pi -e 's/boot\///g' splash.cfg
(7) 卸載 USB 及 LIveCD
umount /media/usbdisk
umount /media/cdrom
(8) 設定 USB 為可開機
syslinux /dev/sda1
(9) 完成 !! Reboot 測試 USB
-------------------------------------------------------------
第二種 : 使用 extlinux 及 ext2/3 檔案系統 ( USB 在 WinXP 下無法讀取 )
Livecd 還有三種用法,可以做成usbflash或是用2.5吋外接式硬碟,
3.5吋外接式硬碟,或是直接copy到ide硬碟。做法及原理都一樣。
把硬碟切成2或3個partition, 假設代號是sda1, sda2, sda3
通常我都是把sda1及sda3設成ext3的格式,sda2設成vfat格式。
用extlinux 做bootloader.
最重要的是要把mbr重建
dd if=/dev/zero of=/dev/sda bs=512 count=1
切割硬碟
fdisk
install-mbr /dev/sda --force
然後把整個livecd 拷進硬碟。
cp -aRfp /media/cdrom/* /media/sda1
把bootloader裝上硬碟
extlinux /media/sda1/boot
編輯extlinux.conf。內容跟isolinux.cfg或syslinux.cfg差不多。放到/media/sda1/boot
umount /media/sda1
然後我通常是把一些設定放到sda2.
如果是大型硬碟,我會另切sda3,把路徑設到sda3,存資料。
( 感謝 Byron 提供第二種製作 LiveUSB 的方法 )