在此次相当认真的学习期间,发现一个小问题,就是把一些和启动盘制作相关的工具张冠李戴的理解错啦。是以,在经过bbs.wuyou.net+google+baidu的搜索、整理后,应用引用的手法写下这篇学习笔记并把它发出来,其目的是:希望能得到大家的帮助。如:纠错,补足不详、遗漏之处。
以用U盘启动一个PE为例,其操作应该是:
首先,需要确定U盘该用某种文件系统的格式;其次,选择与此文件系统相对应的格式化工具进行格式化并做出启动模式;第三,用引导程序安装工具安装引导工具;第四,通过引导工具的引导启动PE。
据此思路,进行如下分类:
一、文件系统
1、UDF、ISO、CDFS 等,这些是常用的光盘文件系统。
2、FAT、FAT16、FAT32、NTFS、exFAT 等,这些是常用的Windows文件系统。
3、ext2、ext3、ext4 等,这些是常用的linux文件系统。
4、FBINST 这是一种新的文件系统,是开源社区的bean提出了巧妙构思,开发出fbinst 。基本解决了BIOS下的CHS/LBA参数适应调整问题,使U盘BOOT成功率大大提高(除非碰上了极度变态的主板和BIOS)。目前为止,FBINST仍在不断的更新完善中。
[注:bean老大同时也是grub4dos和grub2开源项目在我国的开发/维护者]
二、启动模式
1、USB-FDD 软盘仿真模式,在DOS启动后U盘的盘符是A:\ ,在一些支持USB-FDD启动的机器上启动时会找不到U盘。
2、USB-ZIP 大容量软盘仿真模式,在DOS启动后U盘的盘符是A:\ ,此模式在一些比较老的电脑上是唯一可选的模式,但对大部分新电脑来说兼容性不好,特别是2GB以上的大容量U盘。
3、USB-ZIP+ 增强的USB-ZIP模式,在DOS启动后显示A:\ ,有些显示C:\ (根据电脑的BIOS支持情况不同),支持USB-ZIP/USB-HDD双模式启动,从而达到很高的兼容性。其缺点在于有些支持USB-HDD的电脑会将此模式的U盘认为是USB-ZIP来启动,从而导致在4GB以上大容量U盘的兼容性有所降低。
4、USB-HDD 硬盘仿真模式,在DOS启动后U盘的盘符是C:\ ,此模式兼容性高,但对于一些只支持USB-ZIP模式的电脑则无法启动。在对启动分区进行操作时易产生问题,如:装系统时安装程序会把启动文件写到U盘而不是硬盘的启动分区!导致系统安装失败。
5、USB-HDD+ 增强的USB-HDD模式,在DOS启动后U盘的盘符是C:\ 。
6、USB-CDROM 光盘仿真模式,兼容性比较高,新老主板一般都可以。
7、UD/FB 用FbinstTool以FBINST格式化出来的一种号称是可以万能启动的模式。目前为止,尚无统一规范的名字,但,却是最热门的一种启动模式——至少目前在本论坛是。
什么?你做的FB启动不了?——那你是遇上了10000+x 啦,去买彩票或者先换别的启动模式吧;感谢你对我的支持,我正在不断的更新完善中——FBINST如是说。呵呵,说笑啦……
三、格式化及引导文件安装工具
1、USBOOT 老字号了,不多说了。
2、HPUSBFW 也是老字号了,也不多说了。
3、量产工具 必须选择与U盘主控相对应的量产工具——废话!
4、UltraISO 这个也不用说了吧?就是大家经常说的用UI进行USB-ZIP+、USB-HDD+什么的啦;但要注意版本,好象是从9.2版开始才支持各种U+的吧?
5、1JF9ky 是lvyanan制作的一个建立和启动扩展分区隐藏系统的多系统引导程序。
6、FbinstTool 是Jianliulin针对FBINST而开发出来的图形化工具,免去了众多非高手的命令行操作之苦并使FBINST得以被更多的人所使用!详细的这里就不多说了,论坛里与此相关的帖子很多,大家可以去边看边学啦。
7、BOOTICE 是Pauly制作的一个绿色单文件程序,可稳定运行于Windows2000/XP/2003/Vista/7/2008等操作系统。BOOTICE仅仅是一个用于修改引导文件的工具,不提供额外的支持文件。也就是说,BOOTICE不提供完整的解决方案,仅仅是为使用者提供一种方便的方式去修改引导方式。
8、XORLDR XORLDR是Pauly大侠的力作,一个轻量级的多系统引导程序,使用图形化的选择菜单,可管理多达16个系统的启动。XORLDR的启动对象可以是分区的引导扇区,也可以是分区上的某个文件,还可以是指定的绝对扇区号。XORLDR可以安装在硬盘的MBR上启动,也可以安装到PBR上,还可以将配置输出后由GRUB4DOS或BOOTMGR加载启动。支持的启动类型有GRLDR/GRLDR.MBR、NTLDR/SETUPLDR.BIN/BOOTMGR、SYSLINUX的LDLINUX.BIN(3.70~4.00)、PLoP Boot Manager、MS-DOS(IO.SYS)、FreeDOS(KERNEL.SYS)以及磁盘映像文件(*.IMG;*.IMA)的模拟启动。
9、EZBOOT EZBOOT一般将其理解为做多系统合一时才能用到的东西,但这个理解有一定的偏颇。总体来说,EZBOOT是一个多启动接管程序,即光盘启动后先启动EZBOOT相关内容,而EZBOOT提供分支选项,可以根据分支选项选择启动哪些东西。EZBOOT一般能选择启动的东西只有映像类的文件,如BIN文件、IMA文件、IMG文件等。
四、引导文件
1、MS-DOS 用于引导启动MS-DOS或者Windows9X系统。
2、NTLDR 是NT loader的缩写,用于引导Windows NT、Windows 2000、Windows XP及相应的PE。
3、BootMGR 是Boot Manager的缩写,用于引导Windows Vista、Windows Server 2008和Windows 7操作系统及相应的PE。
4、GRUB4DOS GRUB4DOS是一个优秀的双(多)系统引导软件,使用GRUB4DOS可以很方便的引导各种操作系统,比如DOS、Windows、Linux等。
5、SYSLINUX 主要用于fat格式,一般制作启动U盘比较常见(windows、dos)。简单一点来说,syslinux是一个功能强大的引导加载程序,而且兼容各种介质。更加确切地说:SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。syslinux一般都需要能够将内核和文件系统放到一张软盘上的,如果文件系统很大,又不能裁减,那可就惨了。或者说想在光盘启动的时候选择多个内核/文件系统,syslinux就比较麻烦了。
6、ISOLINUX isolinux主要用于启动光盘,是SYSLINUX的孪生兄弟,都是专门用来引导可移动介质的轻量级引导程序,因为这样的介质通常不会固定只针对一种硬件,initrd当然是这两者必须支持的功能了。这两种引导程序其实是一样的,没有多大区别,只是放在不同的设备的引导区罢了。ISOLINUX只能配合Mkisofs制作ISO映像文件。因为ISOLINUX需要在ISO文件中插入一段特殊的代码:El Torito启动信息表(El Torito Boot Information Table),目前只有Mkisofs能够自动完成这项工作,而Nero和CDImage则不行。
ISOLINUX本身以非模拟方式运行于ISO 9660/El Torito CD-ROMs,这避开了软盘模拟的磁盘空间容量问题和硬盘模拟会产生的一些兼容性问题。是以能支持大文件系统。
注意:ISOLINUX只使用标准的ISO 9660文件名格式,如不支持Rock Ridge或Joliet文件名。当然,它也可以用在使用Rock Ridge和/或Joliet扩展的磁盘上。
ISOLINUX也支持“长”(level 2)ISO 9660文件名,所以,如果短格式操作系统(如MS-DOS)的兼容性不是一个问题,你可以使用“-l”或“-iso-level 2”参数控制mkisofs来生成标准长文件名(扩展至31个字符)。
ISOLINUX默认地内建两个版本:标准版和诊断版,诊断版带有额外的诊断信息。如使用ISOLINUX遇到了问题,建议使用诊断版本(isolinux-debug.bin)。
从1.65版开始,ISOLINUX支持其他操作系统的引导磁盘映像。当然,这一特性依赖于BIOS的功能,现在的大部分BIOS都支持该功能,但仍有可能在一些特殊的系统中不能正常工作。ISOLINUX仅支持下列软盘映像:
1,222,800 bytes:1 200 KB软盘(标准5.25英寸软盘)
1,474,560 bytes:1 440 KB软盘(标准3.5英寸软盘)
2,949,120 bytes:2 880 KB软盘(增强3.5英寸软盘)
其他的尺寸将被认为是硬盘映像。为了尽可能地在更多的操作系统上正常工作,硬盘映像必须要包含一个已经激活的分区。尽管如此,还是有很多BIOS不能正常支持硬盘映像。
ISOLINUX的菜单配置文件和映像配置文件是分开的:菜单配置文件中只包含显示的文本和颜色及图像控制命令,是一个文本文件,映像配置文件是一个对应于菜单配置文件的映像启动命令文件。这种安排多少有些不方便。另外,颜色和图像等的控制命令是用不可打印ASCII码控制的,必须要找到一个适当的DOS下的编辑软件以输入这些特殊的ASCII码,或用Ultraedit的“查看—ASCII字符表—插入字符”输入,但在中文Windows下的显示却乱得一团糟。
ISOLINUX本身是无法启动软盘映像文件的,它是靠MEMDISK实现的。简单地说,MEMDISK是1个常驻内存的Linux下的磁盘映像启动器,它拦截BIOS中断INT 13和INT 15的一切操作。MEMDISK对于大部分映像的工作都是正常的,但有些特殊软盘的映像,MEMDISK支持得不尽人意,如DocMemory,因此,在使用时需要反复试验。
gfxboot让SYSLINUX和ISOLINUX实现了菜单中文化,但要注意isolinux不能用官方的版本,需要下载支持gfxboot的版本(外挂式显示中文菜单?呵呵),据说是因为gfxboot不被syslinux的作者所接受!
7、PXELINUX 也是SYSLINUX的孪生兄弟,既然是孪生兄弟就只说下它的主要作用——用于pxe网络启动。
9、LILO 是LInux LOader的缩写,LILO代表Linux加载程序。LILO是一个在系统启动时运行的程序,它允许选择用于引导计算机的操作系统。可以用LILO引导几个不同的操作系统,如Linux和MS-DOS。用LILO可以定义一个默认的要引导的操作系统和一个引导该操作系统的延迟时间。例如,如果在计算机上有MS-DOS和Linux,可以配置LILO引导二者中的任何一个,然后告诉LILO,如果30秒后没有键盘介入,就引导二者中的MS-DOS;如果在30秒之内,键盘的Ctrl、Alt、Shift、Caps Lock中的任一键按下,就会出现boot:,此时按下Tab键,能获得LILO引导的操作系统的清单。配置LILO时,可以指定所有这些操作。大多数新电脑都为Microsoft Windows或Mac OS的一些版本安装了引导加载程序。如果计算机使用Linux操作系统,就必须安装一个特殊的引导加载程序。LILO在那些将Linux作为他们主要或唯一的操作系统的用户间很流行。当以通常的方式安装LILO的电脑启动或重新启动时,基本输入输出系统(BIOS)就会进行一些初步的测试,然后转移控制LILO所在的主启动记录(MBR)。LILO的主要优点是,它可以快速启动安装在主启动记录中的Linux操作系统。LILO的主要局限是,并不是所有的电脑都能容忍修改主启动记录(MBR)。在这种情况下,可以用其他的方法来使用LILO,但这需要花费较长的时间。有几种引导加载(boot loader)程序可以用来启动Linux系统,如LOADLIN(LOAD LINux)和GRUB(GRand Unified Bootloader)。
以上分类未尽详细、周密,只是个人想法,希望大家一起来完善。谢谢!
[ 本帖最后由 fjxplsy 于 2010-8-23 10:23 编辑 ]