我带来了来自 StackOverflow 的问候!:D
https://stackoverflow.com/questions/43109790/bash-how-do-i-use-sfdisk
这是一个痛苦的过程。也许我忽略了一些简单的事情……?
我正在尝试创建一个脚本,以自动对具有 gpt 表和 1 个占用所有空间的分区的磁盘进行分区。应该非常简单直接。
我发现该sfdisk
命令是(据称)脚本友好版本fdisk
。
到目前为止我得到的最好的结果是:
sfdisk --color=always --wipe always --no-reread --no-act --label gpt /dev/sdc
分区类型是Linux Filesystem
(对于数据驱动器来说,这是一个好的选择吗?)。它的 GUID 是0FC63DAF-8483-4772-8E79-3D69D8477DE4
当我运行上述命令时,我得到了一个交互式提示。这对我的脚本来说有点问题 ;)
手册页中描述的输入/输出格式是什么?
<name>: <value>, <name>: <value>, ...
这似乎建议我做类似的事情:
echo 'label: gpt' | --color=always --wipe always --no-reread --no-act /dev/sdc
但遗憾的是,这比上面的更失败::(
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.
然后是我从手册页深处发现的转储文件。它似乎暗示我可以创建这些该死的东西,对其进行 cat 处理,然后通过管道传输到 sfdisk。(嗯?)幸运的是,我无法对其中的大部分进行硬编码,因此该解决方案对我来说不起作用:
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
我做错了什么!?谢谢 :)
答案1
我找到了一个更好的方法:sgdisk
sgdisk --clear $blkdev
sgdisk --new=0:0:0 --typecode=0:0FC63DAF-8483-4772-8E79-3D69D8477DE4 $blkdev