繁体   English   中英

Bash-为什么sfdisk在此脚本中不起作用?

[英]Bash - Why doesn't sfdisk work in this script?

更新 :根据建议,我问了超级用户社区这个问题。 我告诉他们你打招呼;)

https://superuser.com/questions/1193808/why-doesnt-this-sfdisk-script-work

这是一个痛苦的过程。 也许有些简单的东西我不见了..?

我正在尝试创建一个脚本,以使用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.

然后是手册页深处引起我注意的转储文件。 似乎建议我可以创建这些被诅咒的东西,整理它们,然后管道连接到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

我究竟做错了什么!? 谢谢 :)

我找到了一个更好的方法: sgdisk

sgdisk --clear $blkdev
sgdisk --new=0:0:0 --typecode=0:0FC63DAF-8483-4772-8E79-3D69D8477DE4 $blkdev

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM