| 贵州学习网—属于你的学习中心 |
|
usb闪存存储装置(优盘)由于具有轻巧精致、使用方便、便于携带等优点,特别是对比软盘具有容量较大、安全可靠、读取速度较快等特性,越来越多人使用这种装置取代了软驱与软盘,在pc之间交换文件。目前新出的主板bios都支持usb软盘和硬盘的启动方式,这样对于windows的系统维护与安装工作越来越方便。但是,厂家仅提供制作windows 98启动盘的制作工具,并不提供LINUX启动盘的制作工具。在优盘上建立linux启动盘,对于系统维护人员具有更加实用的意义,你可以使用linux 建立小巧的内核,建立网络环境,快速地判断和排除网络故障与传送文件。本文以red hat 为例,使用朗科的双启动型优盘建立优盘的linux启动盘。
下载相关软件:e3,bvi,linux内核。 编译内核 首先计算机的主板必须要支持usb硬盘的启动方式,并且所使用的优盘是启动型优盘。 我以linux-2.4.20为例说明。编译时一定要注意不要编译不必要的模块,如声卡驱动等驱动模块,使编译的内核尽可能小一些。由于要支持优盘启动,必须将scsi设备、usbcore、usb-storage、loopback device support、ram disk support和initrd等编译到内核中。 许多人会问,usb-storage模块已经包括在内核了为什么还要建立 initrd.img文件?这是由于优盘的初始化过程比执行/sbin/init慢,导致内核已经启动完成了,优盘还没有完成初始化工作,因此根文件系统没有加载,这时执行/sbin/init命令肯定不成功。通过建立initrd.img文件,在启动内核时加载initrd.img文件到内存中,等待3 秒使优盘完成初始化工作,再执行/sbin/init指令。具体操作步骤如下。 1.建立initrd.img文件 # mkdir -p /mnt/initrd # cd /tmp # mkinitrd /tmp/initrd.gz 2.4.20-usb 2.解压initrd.img文件,修改启动脚本linuxrc # gunzip initrd.gz # mount -o loop /tmp/initrd /mnt/initrd # cp /sbin/busybox /mnt/initrd/bin # cd /mnt/initrd/bin # ln -s busybox sleep # vi /mnt/initrd/linuxrc 加入如下内容: echo ’wait 3 seconds.....’ /bin/sleep 3 3.重新生成initrd.img文件 由于缺省建立的initrd文件比较大(为4mb),为了加快优盘的启动,必须减小它。具体操作如下: # mkdir -p /mnt/initrdusb # cd /tmp # dd if =/dev/zero of= /tmp/initrdusb bs=1m count=1 # mke2fs -m 0 initrdusb # mount -o loop /tmp/initrdusb /mnt/initrdusb # cp -a /mnt/initrd/* /mnt/initrdusb # umount /mnt/initrd # umount /mnt/initrdusb # cd /tmp # gzip -9 initrdusb # cp initrdusb.gz /boot/initrd-2.4.20-usb.img 4.测试编译的内核是否正常启动 测试编译的内核是否正常启动,以及在启动过程中是否可看见优盘的相关信息。 建立优盘启动盘 1.将优盘分成两个分区 留给linux分区容量大小完全取决于安装哪些系统维护工具,结果如下: # modprobe usb-storage # fdisk -l /dev/sda disk /dev/sda: 16 heads, 63 sectors, 126 cylinders units = cylinders of 1008 * 512 bytes device boot start end blocks id system /dev/sda1 1 102 51376+ 6 fat16 /dev/sda2 103 126 12096 83 linux 注意:如果需要使用优盘引导windows 98,扇区大小必须设置为63个扇区,可以通过fdisk的x命令扩展修改heads、sectors和cylinders参数。 |
责任编辑:gzu521