USB引导盘

以U盘在系统中为/dev/sda为例 可以fdisk –l去查看
Step1:对U盘的前期工作(分区、格式化、挂载)
dd if=/dev/zero of=/dev/sda bs=1024 count=1 #bs在这为1024,其实512就够用了
fdisk /dev/sda #对U盘的分区,分区时可以用-l -a参数。分成一个主分区就可以,对这个分区标记可引导(用-a参数)
partprobe /dev/sda #扫描U盘,加载配置文件
mke2fs -j /dev/sda1 #格式化分区,-j为格式成ext3形式
mount /dev/sda1 /mnt #挂载使用,挂到/mnt下
下面就可以使用了U盘来做启动盘了
Step2:找到安装树,进入安装源文件的Server目录,找到filesystem-xx.xx.xx.rpm安装包filesystem这个包是linux 的/下目录的生成文件
cp filesystem这个安装包到/mnt下
rpm –ivh --nodeps --force --root=/mn[size=large][/size]t filesystem-xx.xx.xx.rpm
#安装filesystem到/mnt下(U盘里)
cp /bin/* /mnt/bin #拷贝/bin下的命令到U盘下(系统一般命令)
cp /sbin/* /mnt/sbin #拷贝/sbin下的命令到U盘下(管理员命令)
cp -rf /lib/* /mnt/lib/ #拷贝相应的库对U盘
step3: 找到安装树,进入安装源文件的Server目录,找到grub-0.97.xx.xx.rpm安装包
rpm -ivh --nodpes --force --noscript --root=/mnt grub-0.97.xx.xx.rpm
#安装grub到/mnt下(U盘里),其中—noscript这个参数为不出现脚本报错
cp -rf /boot/* /mnt/boot/ #grub装好后会有grub、vmlinuz-2.6.xx.xx、system.map、symvers、lost+found这些文件
cp /usr/bin/* /mnt/usr/bin/ #拷贝/usr/bin下的命令到/mnt/usr/bin下,可以不拷贝
cp /usr/sbin/* /mnt/usr/sbin/ #拷贝/usr/sbin下的命令到/mnt/usr/sbin下,可以不拷贝
下面就是编辑几个配置文件:
Step4: vim /mnt/boot/grub/device.map #把这个文件改成U盘
┗(hd0) /dev/sda #/dev/sda为你的U盘,就是fdisk -l查看到的
然后wq
Step5: vim /mnt/boot/grub/grub.conf #修改启动的配置文件
┗Default=0
Timeout=5
Title Red Hat USB linux
root (hd0,0)
kernel /boot/vmlinuz-2.6.xx.xx ro root=/dev/sda1 init=/bin/bash
#这个/boot/vmlinuz是你U盘上的;root=/dev/sda1指你的U盘(fdisk –l
查看到的) 启动的位置;init指登陆后出现的shell
Initrd /boot/initrd.img
第五步这样改就可以了,记住一定要改成自己U盘的,这个是根据自己机器的配置来的,这一步对启动要有一定的理解才行.
在这我们涉及到stage1和stage2这两个文件,其中stage1是做为一个模板嵌到mbr中的,mbr加stage1,stage1加stage2这样系统才能启动.
Step6: cp /etc/fstab /mnt/etc/fstab
cp /etc/mtab /mnt/etc/mtab #拷贝这两个文件到相应的目录然后对其编辑
vim /mnt/etc/fstab
┗/dev/sda1 / ext3 default 1 1
#我们改成这样就ok了,只写这一行就行,把其他的都删掉
然后Wq
Vim /mnt/etc/mtab
┗/dev/sda1 / ext3 rw 1 1
#我们改成这样就ok了,只写这一行,照我这样写
说明一下/dev/sda1这是根据自己的机器情况来的(强调了多次)可以去fdisk –l去查看
这四个文件我们改好了,下面我们去U盘
Step7: chroot /mnt # shell切换根(可以man chroot看下)
  ┗mknod /dev/sda b 8 0 #这个b为block 8为主设备号0为从设备号
┗mknod /dev/sda1 b 8 0
┗grub-install /dev/sda
┗exit
这几步是在/mnt下进行的,我们已经切换在根下了.下面我们手动建initrd文件(linux的驱动,我们得让它支持Usb才能做好U盘引导盘,所以我们要加上Usb的驱动)
Step8: mkinitrd --with=sd-mod --with=scsi-mod --with=uhci_hcd --with=ehci_hcd --with=usb-storage /mnt/boot/initrd.img `uname -r`
这条命令就可以建好initrd了,我们看下这五个参数,这五个参数的顺序不能变,在el4上我们要加上这五个,但是在el5上我们只加最后这一个就可以了,这要看你的机器是哪个版本的
Step9:sync #同步 (把数据刷新一下)
Step10:umount /mnt #卸载U盘
Step11:reboot #重启机器

以上就是我们Usb引导盘的制做了,在使用进我们可以加上环境变量就可以使用命令了
exports PATH=”$PATH:/sbin:/usr/bin:/usr/sbin”
备注:我们可以分析下initrd.img文件
cp /mnt/boot/initrd.img .
file initrd.img
gunzip initrd.img initrd/initrd.img
cpio -iv < initrd.img

================================================================================

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包两个:grub和filesystem, 2G U盘

制作步骤:
1、清空U盘MBR引导代码:(本机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、安装grub(grub可执行文件)
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、复制fstab和mtab到U盘相应位置,修改其内容
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`
#注意顺序不能错

9、sync #同步下数据

10、umount /mnt

11、重启,用USB引导测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值