点评:以红帽为例,双引导型USB朗科构建了USB Linux启动盘。



下载相关软件:E3,英属维尔京群岛,Linux内核。



编译内核



启动第一台计算机主板必须支持USB盘,USB和USB是用来启动的。



我把linux-2.4.20为例。一定要注意,当你编译





本文以红帽为例,介绍了一种双引导型USB朗科构建的USB Linux启动盘。



下载相关软件:E3,英属维尔京群岛,Linux内核。



编译内核



启动第一台计算机主板必须支持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 CD / tmp mkinitrd / / initrd.gz会2.4.20-usb # # TMP







2。解压initrd.img文件和修改启动脚本linuxrc





# gunzip initrd.gz会山- O环 / / / mnt initrd TMP / initrd # # CP / sbin / / / BusyBox MNT initrd / / /箱CD MNT initrd / bin LN的busybox # # #睡六 / / / initrd MNT linuxrc







添加以下内容:





echo'wait 3秒3…睡眠。







三.再生initrd.img文件



默认生成initrd文件大(4MB),为了加快USB启动,它必须减少。具体操作如下:





# mkdir -p / mnt / initrdusb CD / tmp DD # #如果= / dev /零= / / initrdusb TMP BS = 1m数= 1 m initrdusb # mke2fs # 0山- O环 / / / tmp initrdusb mnt / initrdusb CP一 / / / * MNT initrd / mnt / initrdusb # # umount /mnt / / / initrd umount /mnt initrdusb CD / tmp # # # gzip - 9 initrdusb CP initrdusb.gz / / initrd-2.4.20-usb.img #启动







4。编译的测试内核是否正常启动。



编译内核测试是正常的开始,以及相关信息可以看到USB在启动过程中。



一个U盘



1。USB分成两个分区



Linux分区的大小完全取决于安装了哪些系统维护工具,其结果如下:





modprobe USB存储fdisk L / dev / SDA # #盘/ dev / SDA:16头,63个部门,126缸单位= 1008×512字节的设备启动开始结束块ID系统/ dev /安装1102 51376 + 6 FAT16 / dev / SDA2 linux 1031261209683缸







注意:如果你需要使用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色0x17 0x70默认0标题Windows 98 rootnoverify(hd0,0)makeactive chainloader,hd0,0,0x17,标题。







安装蛴螬,具体操作如下:





蛴螬蛴螬(hd1,1)>根>设置(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: /仓出口路径#!山- N T过程没有 /proc 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:





#山- T O代码= 938 VFAT iocharset = cp936 / dev / hda5 / mnt / 2dos CD / mnt / 2dos modprobe ifconfig eth0 eepro00 # # # 192.168.1.10默认网关地址192.168.1.1 # #平192.168.10.5 #数控192.168.10.5焦油XF - 5555 |







如果使用格式化的S命令建立USB Windows 98启动盘,可以采用其他的方式,具体操作如下:





# mkdosfs F 16 / dev / sda1 XXD C 16 / dev /安装不| #







然后以35字节的记录内容引导记录32(在这种情况下,60910100,4字节的记录数量的脂肪面积的总扇区),制作启动盘的工具,利用朗科提供的Windows 98光盘启动盘,然后使用Linux BVI编辑或修改开机两HEX文件工具记录32 ~ 35字节的原始内容。这样,我们可以实现三开始(的名副其实的Windows双引导Linux启动~ ~ ~)