文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>linux创建磁盘文件系统

linux创建磁盘文件系统

时间:2010-08-31  来源:dagun

本文通过分析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!"



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


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载