Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1018943
  • 博文数量: 162
  • 博客积分: 3887
  • 博客等级: 中校
  • 技术积分: 1617
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 19:05
文章分类

全部博文(162)

文章存档

2015年(4)

2014年(7)

2013年(10)

2012年(16)

2011年(89)

2010年(36)

分类: LINUX

2010-08-31 15:27:39

本文通过分析shell脚本程序,来学习在一个空白磁盘上怎么创建一个linux文件系统过程。
#!/bin/bash
##根据磁盘类型不同而设置,本人使用的是sata硬盘。
DEV=/dev/sda
MNTDIR=/mnt/
###Make sure the size of primary disk is 320G#######
###磁盘分区命令
fdiskstr="n\np\n1\n\n+319G\nn\np\n2\n\n\nt\n2\n82\nw\n"
#####
grubstr="root (hd1,0)\nsetup (hd1)\nquit\n"

echo "---------------------------------------------"
echo "-Warning: you are make a new disk, carefully-"
echo "---------------------------------------------"
if [ "$DEV" != "/dev/sda" ];then
  echo "-Warning: the flash disk is not in sda, maybe crash your system-"
  echo "---------------------------------------------"
  exit -1
fi

action()
{
 echo "$1"
 $1
}

hsleep()
{
  sleep $1
  sync
}
##dd的用法:转换和复制文件,根据具体设置zero是不产生任何IO,清空磁盘空间
if [ "$1" == "clean" ];then
  action "dd if=/dev/zero of=$DEV"
  sleep 1
  sync
  exit 0
fi

echo "Make disk partition table..."
action "dd if=/dev/zero of=$DEV bs=512 count=1"
hsleep 1

echo "fdisk $DEV"
###通过管道输出命令到fdisk $DEV命令,磁盘分区
echo -e "$fdiskstr" | fdisk $DEV
[ $? -ne 0 ] && exit -1
hsleep 1
###设置sda2为交换分区
mkswap /dev/sda2
if [ $? -eq 0 ];then
####在特定分区上建立linux文件系统ext3 ,块4096字节,设置-b选项,老大说可以提高磁盘读写速度。
####防止一些事情发生
  action "mkfs -t ext3 -b 4096 /dev/sda1"
else
  echo "fdisk $DEV failed."
  exit -1
fi
#######分区设置文件系统结束后,挂在分区,复制做好的文件系统到磁盘分区上
echo "Copy file-system to /dev/sda1..."
mount /dev/sda1 $MNTDIR
cp -dpRf common/* $MNTDIR
umount $MNTDIR
hsleep 1
###将buffer中数据强制写入磁盘中
sync
sleep 1
###建立grub引导
echo "Install grub..."
echo -e "$grubstr" | grub --no-floppy
hsleep 1
###检查文件系统
action "fsck /dev/sda1"


echo "Make new HR NM-3000 disk success, enjoy!"



不懂的朋友,可以给我留言。大家互相学习,进步!


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

chinaunix网友2011-01-07 18:20:53

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com

chinaunix网友2011-01-07 18:20:39

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com