デバイス全体を使用する単一のパーティションの作成をスクリプト化するにはどうすればよいですか?


9

私は特にこれを使用して、Amazon EC2インスタンスのEBSボリュームをパーティション化してマウントしますが、実際には、これは新しいドライブの初期化に一般的に適用できるはずです。

質問にあるように、特定のデバイスで利用可能なすべてのスペースを使用する単一のプライマリパーティションの作成をスクリプト化したいと思います。デバイスの大きさが事前にわからないので、非常に大きくなる可能性があります(つまり、数TB)。

これを調査partedする場合、スクリプト作成に使用するのに最適なコマンドのようです。私はに沿って何かparted /dev/sdf mkpart primary 0 ENDが欲しいと思いますが、ENDがどうあるべきかを決定するためのエレガントな方法を理解するのに苦労しています。誰かがこれを行う簡単な方法を知っていますか?

回答:


11

あなたはこれを次のように行うことができます:

parted /dev/sdf --script -- mkpart primary 0 -1

5

他の答えを使おうとしたときに問題が発生しました。私にとってうまくいったのは、代わりにこのようなパーセンテージアプローチを使用することでした:

$ parted /dev/sdf --script -- mkpart primary 0% 100%

partedパーティションの配置に関する問題とその処理方法があります。これらの2つの記事では、この問題について少し説明しています。

これらの記事で概説されている計算は、私のシナリオでは機能しませんでした。2番目のコメントの1つに埋もれ、パーセンテージを使用するように誰かが提案したリンクが機能しました。

ちなみに、通常はHDDにもラベルを付ける必要があります。CLIを使用してこれを行うにはparted

$ parted /dev/sde --script -- mklabel msdos

-または-

$ parted /dev/sde --script -- mklabel gpt

HDDによって異なります。


gdisk正しく整列します。私の意見では、parted混乱です。それはやりすぎです-そしてそれがすることはゆるく接続されているだけです。ファイルシステムとパーティションテーブルを一緒に作成する方法は奇妙です。書き込むデータのディスクの場所は、同じ近所のものとは異なります。パーティションテーブルが先頭にある小さなマップであり、必要に応じてファイルシステムを探す場所をOSに通知することに気付いたとき、ディスクがどのように機能するかを理解し始めました。それをクリックしたとき、私はスーパーブロックとメガマンとそのすべてを理解しました。まあ、とにかくそう考えたいです。
mikeserv 2015

おかげで、このスペースにあるツールのサイトはいつも私を混乱させてきました。私は常にsfdisk、fdisk、cfdisk、partedなどを混同しています。fdiskを試して、それが簡単かどうかを確認します。スクリプトに含めるためのcliオプションから簡単に実行できるものを主に探しています。
slm

基本的に[gf]disk、stdinを区別しません。termInalからのものかどうかは関係ありません。したがって、対話的に入力して必要なものを取得するコマンドシーケンスは、printfスクリプトに直接変換できます。私の回答の改行はすべて(or press enter for default)オプションです。とても簡単です。私はそれらのw /遊ぶとき、私はちょうどに行く/tmpfallocate -l1g img、その後、ちょうど私の新しい使用/tmp/img私のディスクとしてファイルを-彼らは気にしないでください。彼らはパーティションテーブルを書きたいだけです。同じことをするなら、strings -1 img時々起こることを見てください。
mikeserv 2015

しかし、私は前に嘘をついていました-ロックマンは私にとって不思議なままです。多分彼はいつもそうするでしょう。
mikeserv 2015

1
parted /dev/sdf --script -- mkpart primary 0 -1私は最高のパフォーマンスのために並んでいないため警告を受けました。それはパーセンテージで
うまくいきました

2

できるよ...

printf 'n\n\n\n\n\nw\n' | fdisk /dev/disk

... msdosタイプの場合。実際には同じことがgptでも機能します...

printf 'n\n\n\n\n\nw\ny\n' | gdisk /dev/disk

また、ファイルシステムの作成時にディスクにラベルを付けることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.