Table of Contents
syslinux/extlinux制作usb启动盘
isolinux,syslinux,pxelinux,extlinux的区别
isolinux 用于cdrom启动
pxelinux 用于网络启动
syslinux/extlinux 用于u盘或者cf卡启动
不过貌似syslinux现在越来越强大,任何都可以支持,cdrom,usb,gpxe,memdisk引导等。
什么是extlinux
extlinux是由syslinux派生来的,可以从ext2和ext3,btrfs, linux文件系统启动系统。
其工作方式和syslinux差不多,只是做了了很小的修改。
也就是说,使用extlinux先要格式化为fat32文件系统,然后直接安装。
既可以当usb启动盘,同时又不影响u盘使用。
extlinux
(1) 下载syslinux的包。已经编译好可以直接运行。
http://www.kernel.org/pub/linux/utils/boot/syslinux/
ubuntu发行版只需要apt-get install syslinux extlinux -y
(2) 插上U盘,并挂载上。(注意:必须先挂载上分区,这和syslinux相反!)
(3) 解开syslinux程序包,到extlinux所在的目录,执行:
./extlinux -i /mnt/usbdisk/
其中 -i表示安装,如果已经安装过extlinux,参数可用-u表示更新安装。第二个参数表示安装的路径。
将当前盘保存到主分区表,并且设为启动分区可执行:
cat mbr.bin >/dev/sdb
mbr.bin在syslinux程序包可以找到。
写extlinux引导配置文件extlinux.conf。
格式和syslinux一样,只是名字不同。从iso文件中复制syslinux.cfg出来就可以了。
cp isolinux.cfg extlinux.conf
设置为启动分区
parted /dev/sdx toggle 1 boot
分区
using gparted, or from a terminal:
For EXT2/3/4 (adjust accordingly), it would be:
# cfdisk /dev/sdx # mkfs.ext4 /dev/sdx1 # e2label /dev/sdx1 USB_STICKFor FAT32, install the dosfstools package and run:
# cfdisk /dev/sdx # mkfs.vfat -F32 /dev/sdx1 # dosfslabel /dev/sdx1 USB_STICK
参考archlinux的usb制作
#Where somefolder is the USB drive's mount point. Do not skip this step. cd /media/somefolder/arch/boot/syslinux #Type it exactly as you see it, including the dot. extlinux --install . dd bs=440 conv=notrunc count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sdx parted /dev/sdx toggle 1 boot
syslinux安装到u盘
syslinux --directory /boot/syslinux/ --install /dev/sdb1
syslinux.conf
syslinux 按照如下顺序搜索配置文件
/boot/syslinux/syslinux.cfg /syslinux/syslinux.cfg /syslinux.cfg