为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的启动名副其实)。