快捷搜索:   nginx

利用syslinux引导linux系统

SYSLINUX 主要包含4个程序:syslinux, pxelinux, isolinux 和 extlinux。

    除 pxelinux 只用于从网络上启动操作系统外,其它都是用于在不同类型的文件系统上创建操作系统的引导程序。

    syslinux用于MS-DOS/Windows FAT文件系统上;

    pexlinux用于在从网络上启动操作系统;

    isolinux用于ISO 9660/El Torito CD-ROM文件系统上;

    extlinux用于Linux ext2/ext3文件系统上;

    先看syslinux的使用:

    这里以 FAT32 格式的优盘为例,插入后,若有自动挂载, 请先卸载U盘。

    然后执行

    #syslinux /dev/sdb

    上面的命令会改变U盘上的启动分区,并复制一个文件 LDLINUX.SYS 到其根目录中。

    然后将包含下面内容的 syslinux.cfg 保存到U盘根分区上。其中的root=/dev/sda4 是启动目标机上的第4个分区。同时复制内核 vmlinux 到U盘根分区上。

    DEFAULT 2.6.31sda4

    TIMEOUT 50

    LABEL 2.6.31sda4

    SAY Now booting the kernel from SYSLINUX...

    LINUX vmlinux

    APPEND rw root=/dev/sda4

    然后将目标机上设置为从U盘启动, 插入U盘,就会看到 syslinux 引导系统成功。

    extlinux 的操作对象是文件系统类型为ext2/ext3的已挂载的设备上的目录。

    先将U盘重新分区,并格式化

    #mkfs.ext3 /dev/sdb1

    #mkfs.ext3 /dev/sdb2

    这里第一个分区中操作,

    #cd /media/disk

    #extlinux .

    #cp ~/syslinux.cfg extlinux.conf

    #cp kernel .

    因为 exlinux 生成的引导文件只是保存在U盘中的普通文件,需要改变MBR,来指向它。

    所以要用 syslinux 包中附带的 mbr 覆盖U盘原来的mbr。并需要用 fdisk 将要启动的分区的 boot flag 设置为 on。

    #cat /usr/lib/syslinux/mbr.bin > /dev/sdb

    # fdisk /dev/sdb1

    t

    a

    1

    因 extlinux 与 syslinux 所用的配制文件只是名字不同,内容完全一样,所以可简单的复制一份过来

本文作者:未知

顶(1)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论