Linux Bash-为什么不';SFT磁盘在这个脚本中工作吗?
更新:根据建议,我向超级用户社区提出了这个问题。我告诉他们你打招呼;) 这是一个痛苦的过程。也许我遗漏了一些简单的东西 我正在尝试创建一个脚本,用一个gpt表和一个占用所有空间的分区自动对磁盘进行分区。应该非常简单和直截了当 我找到了Linux Bash-为什么不';SFT磁盘在这个脚本中工作吗?,linux,bash,Linux,Bash,更新:根据建议,我向超级用户社区提出了这个问题。我告诉他们你打招呼;) 这是一个痛苦的过程。也许我遗漏了一些简单的东西 我正在尝试创建一个脚本,用一个gpt表和一个占用所有空间的分区自动对磁盘进行分区。应该非常简单和直截了当 我找到了sfdisk命令,它是(据推测)对脚本友好的fdisk版本 到目前为止,我得到的最好结果是: sfdisk --color=always --wipe always --no-reread --no-act --label gpt /dev/sdc 还有分区类型
sfdisk
命令,它是(据推测)对脚本友好的fdisk版本
到目前为止,我得到的最好结果是:
sfdisk --color=always --wipe always --no-reread --no-act --label gpt /dev/sdc
还有分区类型的问题,即Linux文件系统
(这是数据驱动器的一个好选择吗?)。其GUID为0FC63DAF-8483-4772-8E79-3D69D8477DE4
当我运行上述命令时,会得到一个交互式提示。这对我的脚本来说有点问题;)
手册页中描述的输入/输出格式是什么
:,:,…
这似乎是在建议我做以下事情:
echo'label:gpt'|--color=always--wipe always--no reread--no act/dev/sdc
但是,唉,这比上述更难失败(
然后是我在手册页深处听到的转储文件。它似乎表明我可以创建这些被诅咒的东西,对它们进行分类,然后通过管道传输到sfdisk。(Un?)幸运的是,我不能硬编码大部分内容,因此解决方案对我不起作用:
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
-f
应该这样做,因为我不明白为什么它不起作用时,我犹豫是否要强制采取行动。互动提示是怎么回事?输出格式(:,:,…
)建议我执行类似于echo'label:gpt'| sfdisk…
?刚刚尝试了您的命令,ok-f
(单独)在这里没有意义。是的,问题是您没有指定分区表。您需要通过管道将其传输到命令。一个简单的开始是:(1)在测试系统上使用交互式命令手动创建分区(2)通过sfdisk-d/dev/testdev>part.table.txt
转储分区表。查看part.table.txt
您将了解这些命令的外观。可选(3):使用sfdisk-f/dev/foo
将其转储到其他磁盘。确定。我做到了。我把生成文件的内容放在我的问题中。谢谢你的帮助,勇敢的灵魂!祝您旅途愉快:)
sgdisk --clear $blkdev
sgdisk --new=0:0:0 --typecode=0:0FC63DAF-8483-4772-8E79-3D69D8477DE4 $blkdev