快速业务通道

linux创建磁盘文件系统

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-15

  本文通过分析shell脚本程序,来学习在一个空白磁盘上怎么创建一个linux文件系统过程.

  #!/bin/bash

  ##根据磁盘类型不同而设置,本人使用的是sata硬盘.

  DEV=/dev/sda

  MNTDIR=/mnt/

  ###Make sure the size of primary disk is 320G#######

  ###磁盘分区命令

  fdiskstr="nnpn1nn 319Gnnnpn2nnntn2n82nwn"

  #####

  grubstr="root (hd1,0)nsetup (hd1)nquitn"

  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!"

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号