一、准备
1.一个硬盘
2.拷贝命令的脚本
#!/bin/bash
f_line (){
for n in {1..50} ; do
if [ $[RANDOM%2] -eq 1 ]; then
b="\e[5;40;$[RANDOM%7+31];1m*\e[0m"
echo -en "$b"
else
a="\e[40;$[RANDOM%7+31];1m*\e[0m"
echo -en "$a"
fi
done
echo
unset n
}
f_check (){
local A=/mnt/sysroot$( which $1 |tail -1|sed -rn "s/[[:space:]]*//gp")
if [ -e $A ] ; then
echo "The $1 command has been copied"
return 1
else
return 0
fi
}
f_canshu (){
if which $1 &>/dev/null ; then
return 0
else
echo "The $1 not a command or $1 is a shell builtin "
return 2
fi
}
f_cp_cmd (){
local A=$( which $1 |tail -1|sed -rn "s/^[[:space:]]*//p")
cp -n --parents $A /mnt/sysroot/
echo "$A" |sed -r "s@.*@& ==============> /mnt/sysroot&@"
f_line
}
f_cp_lib (){
local A=$( ldd `which $1` 2>/dev/null |sed -rn "/^[[:space:]]+[^[:space:]]+/s/.*=> (.*)\(.*/\1/p" |grep -v "^[[:space:]]*$" )
cp -n --parents $A /mnt/sysroot/
echo "$A" |sed -r "s@.*@& ==============> /mnt/sysroot&@"
f_line
echo -e "\n"
}
[ -e /mnt/sysroot/ ] ||{ mkdir -p /mnt/sysroot; }
A=0
while : ;do
f_line
echo "quit or input command"
read -p ">" A
[ -z $A ] && { echo "missing operand";continue; }
[ $A == quit ] && exit 0
f_canshu $A ; [ $? -ne 0 ] &&continue
f_check $A ; [ $? -ne 0 ] &&continue
f_cp_cmd $A
f_cp_lib $A
done
unset A
二、硬盘分区、格式化、挂载
1.分区
fdisk /dev/sdb
lsblk /dev/sdb
2.格式化分区
mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2
3.挂载
#创建目录, /mnt/sysroot/作为小linux的/
#/mnt/sysroot/boot/作为小linux的/boot
mkdir -p /mnt/sysroot/boot/
#挂载
mount /dev/sdb2 /mnt/sysroot/
mount /dev/sdb1 /mnt/sysroot/boot/
df
三、启动盘制作
1.安装grub/dev/sdb
grub-install --root-directory=/mnt/sysroot/ /dev/sdb
2.拷贝内核文件到/mnt/sysroot/boot
cp /media/CDROM/isolinux/vmlinuz /mnt/sysroot/boot/
3.制作initrd文件到/mnt/sysroot/boot
mkinitrd /mnt/sysroot/boot/initramfs-`uname -r`img `uname -r`
4.自己写一个grub.conf
vim /mnt/sysroot/boot/grub/grub.conf
default=0
timeout=5
title small_linux
kernel /vmlinuz-2.6.32-696.el6.x86_64 root=UUID=9a9bf39a-1d0e-4fe8-9346-030f13620d8a
initrd /initramfs-2.6.32-696.el6.x86_64.img
四、拷贝需要的工具和模块
./copycmd16.sh
#检查
ls -R /mnt/sysroot/
五、新建一个linux,把这块磁盘挂上,原来的拔出来
成功