为Linux制作U盘(USB)引导盘
点评:USB闪存设备(USB)唯一的密钥大小,为32mb和64MB的存储容量。由于其明度,细化的优点,易用性和便携性,尤其是当比较软盘容量更大,安全性和可靠性,加快阅读速度,越来越多的人使用这种装置代替软盘和软盘目前PC机之间交换文件,新的主板BIOS支持你USB闪存设备(USB)唯一的密钥大小,为32mb和64MB的存储容量。由于其明度,细化的优点,易用性和便携性,尤其是当比较软盘容量更大,安全性和可靠性,加快阅读速度,越来越多的人使用这种装置代替软盘和软盘盘目前PC机之间交换文件,新主板的BIOS支持USB软盘和硬盘的启动方式,这对系统的维护和安装Windows 98更加方便。但是,厂家只提供生产工具,使Windows 98的启动盘,不为linux启动盘的制作工具提供。在USB linux启动盘对于系统维护人员来说,驱动和具有更实际的意义,可以使用Linux构建一个小内核,建立网络环境,并快速确定网络故障排除和文件传输。本文以红帽8为例,介绍了一种双引导型USB朗科构建的usb Linux启动盘。
下载相关软件:E3,英属维尔京群岛,liuux内核。
编译内核
启动第一台计算机主板必须支持USB盘,USB和USB是用来启动的。
我把linux-2.4.20为例。编译时,小心不要编写不必要的模块,如驱动模块如声卡驱动,使编译的内核尽可能小。由于USB启动的支持,SCSI必须usbcore,USB存储、回环、设备支持,RAM磁盘支持initrd编译进内核。
很多人问,USB存储模块已经包含在内核和为什么initrd.img文件设置的这是由于初始化过程比USB / sbin /初始化慢,因为内核已经启动完成,USB还完成初始化工作,因此没有加载根文件系统,然后执行/ sbin / init命令不能成功。通过initrd.img文件的建立,在内核的启动initrd.img文件加载到内存中,等待3秒完成USB初始化,然后执行/ sbin / init.the具体操作步骤如下。
1。建立initrd.img文件
# mkdir -p / mnt / initrd
#光盘 /甲氧苄啶
# mkinitrd / / initrd.gz会2.4.20-usb TMP
2。解压initrd.img文件和修改启动脚本linuxrc
# gunzip initrd.gz会
#山- O环 / / / tmp initrd MNT /初始化
# CP / sbin / / / BusyBox MNT initrd /箱
#光盘 / / / bin MNT initrd
LN的睡眠# busybox
#六 / / / linuxrc MNT initrd
添加以下内容:
echo'wait 3。秒…
3
三.再生initrd.img文件
默认生成initrd文件大(4MB),为了加快USB启动,它必须减少。具体操作如下:
# mkdir -p / / initrdusb MNT
#光盘 /甲氧苄啶
DD如果= / dev /零= / / initrdusb TMP BS = 1m #数= 1
# mke2fs M 0 initrdusb
#山- O环 / / / tmp initrdusb mnt / initrdusb
CP - / / / * MNT initrd / mnt / initrdusb #
# umount /mnt initrd /
# umount /mnt initrdusb /
#光盘 /甲氧苄啶
# gzip - 9 initrdusb
# CP initrdusb.gz / / initrd-2.4.20-usb.img启动
4。编译的测试内核是否正常启动。
编译内核测试是正常的开始,以及相关信息可以看到USB在启动过程中。
一个U盘
1。USB分成两个分区
Linux分区的大小完全取决于安装了哪些系统维护工具,其结果如下:
# modprobe USB存储
# fdisk L / dev / SDA
磁盘16个扇区,63个扇区,126个气缸
单位=1008×512字节的圆柱体
设备启动启动结束块id系统
/ dev /安装1102 51376 + 6 FAT16
/ dev / SDA2 1031261209683 Linux
注意:如果你需要使用98个扇区大小必须设置为63部门的USB启动Windows,用fdisk X,领导部门和扩展命令修改柱参数。
2。建立和生成ext2分区
# mke2fs m 0 / dev / SDA2
# mkdir -p / mnt / SDA2
#安装 / dev / SDA2 / mnt / SDA2
# CD / mnt / SDA2
三.设置引导目录
复制编译内核和initrd-2.4.20-usb.img文件启动目录,复制编译模块库/模块目录,复制 / / GRUB启动引导文件目录,编辑启动 / / GRUB menu.lst文件,具体内容如下。
超时10
颜色0x70 0x17
默认值为0
标题的Windows 98
Rootnoverify(hd0,0)
makeactive
chainloader + 1
GNU / Linux Redhat 8标题(2.4.20-usb)
根(hd0,1)
内核/启动/ vmlinuz-2.4.20-usb RO根= / dev / SDA2
initrd / / initrd-2.4.20-usb.img启动
安装蛴螬,具体操作如下:
GRUB >根(hd1,1)
GRUB >设置(hd1)
4。设置bin目录
复制系统维护工具如insmod,fsck,mkdosfs和其他公用事业根据自我需要的工作。一定要使用ldd命令来查看共享库文件,需要复制到lib目录按照原来的路径。由于有限的磁盘空间,使用BusyBox命令更换一些常用的linux命令,最主要的原因是,Busybox文件非常小,它是一个静态的链接,其中包括许多Linux常用命令(如猫,init,ifconig,路线)连接到符号文件与LN的busybox busybox编译,可以根据个人的需要,包括命令如VI,或小E3代替vi.
另外,如果你使用bash,你还必须编辑并降低 /等/ termcap和下列文件:
/ / termcap等
/ usr / / /分享terminfo L / Linux
/ usr / / /分享terminfo K /克隆+ ACS
/ usr / / /分享terminfo K /克隆+颜色
/ usr / / /分享terminfo K /克隆+ SGR
5。设置开发目录
使用CP命令复制常见的设备文件,包括控制台,tty1,tty2,tty3sda,sda1,SDA2,hda,hdb,HDA1和其他设备文件。
6。编辑器等
内容如下:
# /斌/ SH!
路径= / sbin: /箱
出口路径
挂载- T - T进程
umount / initrd
山-N-O时,RW /
山-N-O时,RW T过程没有 / proc
Ifconfig lo 127.0.0.1
7。编辑/ fstab文件等
内容如下:
/ / / dev SDA2 ext2默认11
默认值为00
应用实例
给一个传送文件的一个例子。在一个正常的Linux机器上执行(IP = 192.168.100.5):
$ tar cf - Win98数控L P 5555 |
注:您可以在机器B中使用USB引导机,telnet进入机器A上执行上述命令。
用usb启动机器上B的实现:
#山- T VFAT O代码= 938,iocharset = cp936 / dev / hda5 / / 2dos MNT
# CD / mnt / 2dos
# modprobe eepro00
# ifconfig eth0 192.168.1.10
#默认网关地址192.168.1.1
#平192.168.10.5
#数控192.168.10.5 5555焦油XF |
如果使用格式化的S命令建立USB Windows 98启动盘,可以采用其他的方式,具体操作如下:
# mkdosfs F 16 / dev /安装
XXD C 16 / dev /安装不| #
然后以35字节的记录内容引导记录32(在这种情况下,60910100,4字节的记录数量的脂肪面积的总扇区),制作启动盘的工具,利用朗科提供的Windows 98光盘启动盘,然后使用Linux BVI或二进制文件编辑工具来修改引导记录从32 35个字节的原始内容。这样,我们可以达到三的启动方式(Windows双引导Linux的启动名副其实)。