Encontrei uma maneira melhor: sgdisk
sgdisk --clear $blkdev
sgdisk --new=0:0:0 --typecode=0:0FC63DAF-8483-4772-8E79-3D69D8477DE4 $blkdev
Eu trago saudações do StackOverflow! : D
Este tem sido um processo doloroso. Talvez haja algo simples que esteja faltando ...?
Estou tentando criar um script para particionar automaticamente um disco com uma tabela gpt e uma partição que ocupe todo o espaço. Deve ser super simples e direto ..
Eu encontrei o comando sfdisk
que é a versão (supostamente) amigável ao script de fdisk
.
O melhor que eu tenho até agora é:
sfdisk --color=always --wipe always --no-reread --no-act --label gpt /dev/sdc
Existe a questão do tipo de partição, que deve ser Linux Filesystem
(essa é uma boa opção para uma unidade de dados?). O GUID para isso é 0FC63DAF-8483-4772-8E79-3D69D8477DE4
Quando executo o comando acima, recebo um prompt interativo. Isso é um pouco problemático para o meu script;)
Qual o formato de entrada / saída descrito nas man pages?
<name>: <value>, <name>: <value>, ...
Parece sugerir que eu faça algo como:
echo 'label: gpt' | --color=always --wipe always --no-reread --no-act /dev/sdc
mas, infelizmente, que falha mais do que o acima:: (
Partitioning /dev/sdc...
Disk /dev/sdc: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes
>>> line 1: unsupported command
New situation: Leaving.
Depois, há o dumpfile que eu peguei nas profundezas das man pages. Parece sugerir que eu posso criar essas coisas amaldiçoadas, cat-los e canalizar para sfdisk. (Un?) Felizmente, não consigo codificar a maior parte disso, então a solução não funcionará para mim:
label: gpt
label-id: 236AEC41-D407-4FE5-94FA-8550C2CA10B5
device: /dev/sdc
unit: sectors
first-lba: 2048
last-lba: 5860533134
/dev/sdc1 : start= 2048, size= 5860531087, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4,uuid=8D7D48B0-8BF5-4383-B0EC-615C0E8AF4B4
O que estou fazendo de errado? Obrigado :)
Encontrei uma maneira melhor: sgdisk
sgdisk --clear $blkdev
sgdisk --new=0:0:0 --typecode=0:0FC63DAF-8483-4772-8E79-3D69D8477DE4 $blkdev
Tags bash partitioning hard-drive linux