linux创建磁盘文件系统
本文通过分析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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |