Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2148212
  • 博文数量: 195
  • 博客积分: 4378
  • 博客等级: 上校
  • 技术积分: 4046
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-09 11:37
个人简介

白天和黑夜只交替没交换无法想像对方的世界

文章分类

全部博文(195)

文章存档

2014年(3)

2013年(20)

2012年(18)

2011年(107)

2010年(17)

2009年(5)

2008年(20)

2007年(5)

分类: LINUX

2008-08-09 23:27:01

USB引导盘制作

 
简介:目标:通过现有LINUX系统制作出USB引导盘,达到对系统起动更深一层理解的目的。准备:rpm包两个:grub和filesystem, 2G U盘 制作步骤: 1、清空U盘MBR引导代码:(本机USB设备认作sdb) dd if=/dev/zero of=/dev/sdb bs=102 ...
 

目标:通过现有LINUX系统制作出USB引导盘,达到对系统起动更深一层理解的目的。

准备:rpm包两个:grubfilesystem 2G U

 

制作步骤:

1、清空UMBR引导代码:(本机USB设备认作sdb

       dd if=/dev/zero of=/dev/sdb bs=1024 count=1

 

2、格式化成ext3格式

       fdisk /dev/sdb        #重新分区U盘并标记为可引导

       partprobe /dev/sdb  #使分区生效

       mke2fs -j /dev/sdb1       #格式化成ext3文件系统

       mount /dev/sdb1 /mnt    #挂载到/mnt目录下

 

3、构建系统安装树(文件系统)

       rpm -ivh --force --nodeps --root=/mnt filesystem-2.4.0-1.rpm

 

       将本地系统起动必须的文件复制到U盘上:

       cp /bin/* /mnt/bin/

       cp /sbin/* /mnt/sbin/

       cp -rf /lib/* /mnt/lib/

 

4、安装grubgrub可执行文件)

       rpm -ivh --force --nodeps --root=/mnt grub-0.97-13.rpm

      

5  cp /usr/bin/* /mnt/usr/bin/

       cp /usr/bin/* /mnt/usr/sbin/

       #cp /usr/lib/* /mnt/usr/lib/     #这个目录可以不拷,只是一些库用不了,但基本的已够了(800M左右)

 

       cp -rf /boot/* /mnt/boot/

              #/mnt/boot/目录下必须的文件: ./grub  vmlinuz-2.6.23  config-2.6.18-53.el5

              # 其他的可以保留

       #修改/mnt/boot/grub目录下的相应文件内容:

              /mnt/boot/grub/device.map

              内容:(hd0)     /dev/sdb

              /mnt/boot/grub/grub.conf

              内容:    default=0

                     timeout=5

                     title USB Linux Server (2.6.23)

                      root (hd0,10)

                     #起动进入/bin/bash

                      kernel /boot/vmlinuz-2.6.23 ro root=/dev/sdb1 rhgb quiet init=/bin/bash

                      initrd /initrd.img   #一会新建,名字先定义好

 

6、复制fstabmtabU盘相应位置,修改其内容

       cp /etc/fstab /mnt/etc/fstab

              内容:/dev/sdb1    /    ext3   defaults   1 1

       cp /etc/mtab /mnt/etc/mtab

              内容:/dev/sdb1    /    ext3   rw   0 0

 

7、切换到U盘系统下,安装grub

       chroot /mnt

              mkdir /dev/sdb b 8 16

              mkdir /dev/sdb1 b 8 17

              grub-install /dev/sdb      #grub安装

       exit

 

8、建立initrd.img

       #EL5里只需usb_storage,在EL4里还要有sd-mod,scsi-mod,uhci_hcd,ehci_hcd

       mkinitrd --with=usb_storage /mnt/boot/initrd.img `unam -r`

       #注意顺序不能错

 

9sync  #同步下数据

 

10umount /mnt

 

11、重启,用USB引导测试。

 

 

 

注:这个项目只是加深对系统启动进一步的了解,企业中并不一定用的上,因为不同的机器对U盘的识别不一样,在这台机器上是/dev/sda,可能另一台就是/dev/sdb,如果真出了问题,还是光盘更好一些。不过用类似的方法可以做一些自己的发布版……

阅读(6390) | 评论(2) | 转发(2) |
给主人留下些什么吧!~~

chinaunix网友2008-08-28 16:51:29

usb引导盘里安装的相当于一个小的linux系统,而你说的通常意义上的软件软盘引导,只是grub或lilo。

chinaunix网友2008-08-26 11:22:21

博主 请指导一下 你文章所制作的USB引导盘 和软盘引导有什么不同 为什么一张1.44M的软盘也能引导系统 你的U盘需要这么多文件才能引导呢 两者原来是不是有什么不同 帮忙给新手解释一下 谢谢了啊