¿Hay alguna forma de crear y formatear una partición usando un script bash?
Creo que se puede hacer con fdisk, pero no sé cómo alimentar los comandos del script bash en el shell de fdisk y luego salir del shell de fdisk.
Quiero crear una partición y luego formatearla en ntfs desde bash.
bash
partitioning
ntfs
fdisk
GlassGhost
fuente
fuente

sfdiskes más amigable con la automatización quefdisksfdisk
sfdiskes una versión de ScriptedfdiskEs parte de
util-linux, al igual quefdisk, por lo que la disponibilidad debería ser la misma.Se puede crear una tabla de particiones con una única partición que tome todo el disco con:
y las tablas de partición más complejas se explican a continuación.
Para generar un script de ejemplo, obtenga la configuración de uno de sus discos:
Ejemplo de salida en mi Lenovo T430 Windows 7 / Ubuntu dual boot:
Una vez que tenga el script guardado en un archivo, puede aplicarlo
sdXcon:Para la
sfdiskentrada, puede omitir los nombres de los dispositivos y usar líneas de tipo:Simplemente se ignoran si están presentes, y el nombre del dispositivo se toma del argumento de la línea de comando.
Algunas explicaciones:
label: tipo de tabla de particiones.dos(MBR) es el antiguo y ampliamente admitido,gptlo nuevo y brillante.unit: solosectores compatible. 1 sector generalmente equivale a 512 bytes. Encuentre concat /sys/block/sda/queue/hw_sector_sizeVea también: https://unix.stackexchange.com/questions/2668/finding-the-sector-size-of-a-partitiondevice: informativo solo piensolíneas de partición:
start: desplazamiento dentro del disco en el que comienza la partición.starttiene valores predeterminados muy buenos y, a menudo, se puede omitir:startes 2048, es decir, 1Mb (2048 + 512), que es un valor predeterminado sensato para la compatibilidad de discosstartpredeterminado a la primera posición no asignadasize:man sfdiskDice:The default value of size indicates "as much as possible". Entonces, para llenar el disco con una sola partición, use:/dev/sda : start=2048, type=83type: byte mágico almacenado en el sector de arranque para cada entrada de partición . Valores posibles: https://en.wikipedia.org/wiki/Partition_type En este ejemplo observamos:7(sda1,2y3): sistemas de archivos que admite Windows. Cosas de Windows preinstaladas y particiones de recuperación de Lenovo.sudo blkidLas etiquetas ayudan a identificarlos.5(sda4): partición primaria extendida, que contendrá otras particiones lógicas (porque solo podemos tener 4 particiones primarias con MBR)83(sda5,,7y8): particiones que soporta Linux. Para míhome, una y dos raíces con diferentes versiones de Ubuntu82(sd6): intercambiofdiskTambién puede leersfdisksecuencias de comandos con elIcomando, que las "fuente" durante unafdisksesión interactiva , lo que le permite una mayor personalización antes de escribir la partición.Probado en Ubuntu 16.04,
sfdisk2.27.1.Formatear y llenar las particiones de un archivo de imagen sin
sudoEsta es una buena manera de aprender a usar
sfdisksin explotar sus discos duros: https://stackoverflow.com/questions/10949169/how-to-create-a-multi-partition-sd-disk-image-without-root- privilegios / 52850819 # 52850819fuente
fdisklee desde stdin por lo que solo necesita alimentarlo con los comandos apropiados. Por ejemplo, lo siguiente borra la tabla de particiones, si hay una, y crea una nueva que tiene una única partición que es; disco completo:Te recomiendo que hagas la tarea que deseas, grabando lo que escribes para poder reproducirlo.
fuente
printflugar deechosimplemente, tener la costumbre de usar algo que se comporta de manera consistente en todos los sistemas.Puede hacerlo con solo un par de comandos, use introducciones \ n en lugar de múltiples ecos.
fuente
\nnecesita otro después delw?echotermina automáticamente la línea con una nueva línea (a menos que-nse use la opción)Puedes guión
fdisk.Eso crea una partición de 200 MB en
/dev/sdcfuente
Los comandos de canalización a fdisk funcionan bien como lo explican otras personas, pero de esta manera son un poco más elegantes y legibles:
La canalización desde un archivo (temporal) también funciona:
fuente
Cree un nuevo tipo de etiqueta de disco gpt:
sudo /sbin/parted /dev/xvdf mklabel gpt --scriptParticionar el disco:
sudo /sbin/parted /dev/xvdf mkpart primary 0% 100% --scriptfuente
fuente
El script usa fdisk para crear particiones basadas en las respuestas de otras personas.
Cambie lo siguiente en el script:
NUM_PARTITIONS = 5
PARTITION_SIZE = "+ 10G"
Ejemplo de uso se da después de la secuencia de comandos.
corre con:
sudo sh mk_partition.sh / dev / sdxxx
fuente
Puedes usar este script. Solo asegúrese de definir sus propias particiones donde
hddse define. Hay 2 espacios en blanco entre1yw; necesitan estar allí para tomar valores predeterminados.fuente