Solución 1:
Intentando automatizar fdisk
es posible, pero no es fácil de mantener. Como señalan otras respuestas, ya sea parted o sfdisk están diseñados para hacer lo que usted quiere y son más fáciles de automatizar.
separó
Para crear una partición en una línea con parted
:
parted -a optimal /dev/usb mkpart primary 0% 4096MB
como se ve en esta publicación de UNIX SE. Cada una de las partes se explica por sí misma, pero por si acaso aquí está cómo mkpart
se define:
mkpart
[tipo de pieza tipo fs nombre ] empezar fin
donde las cosas entre corchetes son opcionales, pero probablemente quieras primary
para su tipo de pieza , empezar en 0%
y termina en 4096MB
o por grande que sea tu memoria USB.
Solución 2:
Borre todo y cree una única partición:
dev='/dev/sdb'
sudo umount "$dev"
printf "o\nn\np\n1\n\n\nw\n" | sudo fdisk "$dev"
sudo mkfs.ext4 "${dev}1"
Consulte también:https://superuser.com/questions/332252/creating-and-formating-a-partition-using-a-bash-script
Solución 3:
Probablemente necesite usar el comando parted en lugar de fdisk.
Solución 4:
sfdisk
también tiene un modo no interactivo que lee la información de la partición desde la entrada estándar. parted
aunque es más flexible.
Solución 5:
Utilice sfdisk en su lugar.
La página de manual de sfdisk es un poco confusa, aquí hay algunos ejemplos específicos de cómo automatizar la configuración de particiones con sfdisk. Un ejemplo es que puede guardar la información de partición de una unidad a través de sfdisk -l
y luego volcarlo directamente en una nueva unidad.