LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1083|回复: 3

求一个自动分区脚本

[复制链接]
发表于 2006-6-23 16:01:57 | 显示全部楼层 |阅读模式
我自己写了一个自动分区2G硬盘的脚本:
  1. #!/bin/bash

  2. #auto individe 2G hard-disk into 3 partitions,0-100M /boot primary partiton,
  3. #100-2000M extented partition,100-500M linux swap logical partition,
  4. #500-2000M / logical partition

  5. PARTED_COMMAND=/sbin/parted
  6. FORMAT_COMMAND=/sbin/mke2fs
  7. DEVICE=/dev/hdb

  8. #delete existing partitions:
  9. for partition in 1 2 3 4
  10. do
  11.         $PARTED_COMMAND -s $DEVICE rm ${partition} > /dev/null 2>&1
  12. done

  13. #recreate disk partitions:
  14. $PARTED_COMMAND -s $DEVICE mkpartfs primary ext2 0 100
  15. $PARTED_COMMAND -s $DEVICE mkpart extended 100 2000
  16. $PARTED_COMMAND -s $DEVICE mkpartfs logical linux-swap 100 500
  17. $PARTED_COMMAND -s $DEVICE mkpartfs logical ext2 500 2000

  18. #tag boot lable
  19. $PARTED_COMMAND -s $DEVICE set 1 boot on

  20. #format partition
  21. $FORMAT_COMMAND ${DEVICE}1
  22. $FORMAT_COMMAND ${DEVICE}6
复制代码

这个脚本在FC4下分区可以成功,但是格式化不成功,在Knoppix下分区不能保证成功,我在虚拟机下自动分区一块新硬盘不能成功,但是先用fdisk手动分区后再自动分区可以成功,格式化正常。
想哪位大虾给个牛一点的脚本,谢谢
发表于 2006-6-23 20:44:50 | 显示全部楼层
Post by Arthur.Echo
我自己写了一个自动分区2G硬盘的脚本:
  1. #!/bin/bash

  2. #auto individe 2G hard-disk into 3 partitions,0-100M /boot primary partiton,
  3. #100-2000M extented partition,100-500M linux swap logical partition,
  4. #500-2000M / logical partition

  5. PARTED_COMMAND=/sbin/parted
  6. FORMAT_COMMAND=/sbin/mke2fs
  7. DEVICE=/dev/hdb

  8. #delete existing partitions:
  9. for partition in 1 2 3 4
  10. do
  11.         $PARTED_COMMAND -s $DEVICE rm ${partition} > /dev/null 2>&1
  12. done

  13. #recreate disk partitions:
  14. $PARTED_COMMAND -s $DEVICE mkpartfs primary ext2 0 100
  15. $PARTED_COMMAND -s $DEVICE mkpart extended 100 2000
  16. $PARTED_COMMAND -s $DEVICE mkpartfs logical linux-swap 100 500
  17. $PARTED_COMMAND -s $DEVICE mkpartfs logical ext2 500 2000

  18. #tag boot lable
  19. $PARTED_COMMAND -s $DEVICE set 1 boot on

  20. #format partition
  21. $FORMAT_COMMAND ${DEVICE}1
  22. $FORMAT_COMMAND ${DEVICE}6
复制代码

这个脚本在FC4下分区可以成功,但是格式化不成功,在Knoppix下分区不能保证成功,我在虚拟机下自动分区一块新硬盘不能成功,但是先用fdisk手动分区后再自动分区可以成功,格式化正常。
想哪位大虾给个牛一点的脚本,谢谢


parted程序的确在一些环境下分区有问题。
如系统以NFS作为根分区时会有问题,不知道为什么会这样,
我估计仔细分析它的源码才能知道了。
用starce查看是因为mmap出错了。
我建议你使用fdisk来写分区脚本,手册页说明了几种分区方式各有优点,应该合理使用,或许这时候该听听这个意见了,:p
[php]
fdisk /dev/hda <<EOF  || echo "Create partition on /dev/hda : Fail"
n
p
1
1
+1024M
w
EOF
[/php]
这样就把/dev/hda硬盘分上一个主分区,大小为1G了。
回复 支持 反对

使用道具 举报

发表于 2006-6-23 23:06:22 | 显示全部楼层
I think normally you would need a reboot to reload partition table to kernel, otherwise, you can't format it. If you don't want to reboot, put partprobe before the format command, and see if that will help.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-25 00:03:08 | 显示全部楼层
可以将命令写在文件中,再用fdisk来进行自动分区
可以成功!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表