解决方法
尝试自动化fdisk是可能的,但它不容易维护.正如其他答案所指出的那样,parted或
sfdisk设计用于执行您想要的操作并且更易于自动化.
分手
要使用parted在一行中创建分区:
parted -a optimal /dev/usb mkpart primary 0% 4096MB
如在this UNIX SE post中所见.每个部分都是不言自明的,但以下是mkpart的定义:
mkpart [part-type fs-type name] start end
方括号中的东西是可选的,但你可能想要部分类型的主要内容,从0%开始到4096MB结束或者你的USB棒大.
了sfdisk
sfdisk的输入可能比fdisk的输入更容易理解,但它是用于自动化.
#!/bin/sh # Example Usage: create_sd /dev/sdb DRIVE=$1 dd if=/dev/zero of=$DRIVE bs=1024 count=1024 SIZE=`fdisk -l $DRIVE | grep disk | awk '{print $5}'` echo disK SIZE - $SIZE bytes CYLINDERS=`echo $SIZE/255/63/512 | bc` echo CYLINDERS - $CYLINDERS { echo,9,0x0C,* echo,- } | sfdisk -D -H 255 -S 63 -C $CYLINDERS $DRIVE mkfs.vfat -F 32 -n "boot" ${DRIVE}1 mke2fs -j -L "rootfs" ${DRIVE}2
来自The Linux Daily,虽然不适合一行请求,但确实显示了如何完成.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。