partedでパーティションの命名を防ぐ方法は?

partedでパーティションの命名を防ぐ方法は?

次のコマンドを実行すると:

parted -s /dev/sda \
    mklabel gpt \
    mkpart primary 1MiB 261MiB \
    set 1 esp on \
    mkpart primary 261MiB 50GiB \
    mkpart primary 50GiB 550GiB \
    mkpart primary 550GiB 100%

mkfs.fat -F32 /dev/sda1
yes | mkfs.ext4 /dev/sda2
yes | mkfs.ext4 /dev/sda3
yes | mkfs.ext4 /dev/sda4

私が得たprimaryすべてのパーティションの名前は次のとおりです。

Model: ATA ST2000LM003 HN-M (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  274MB   273MB   fat32        primary  boot, esp
 2      274MB   53.7GB  53.4GB  ext4         primary
 3      53.7GB  591GB   537GB   ext4         primary
 4      591GB   2000GB  1410GB  ext4         primary

これらの名前を望んでいません。自動命名を防ぐにはどうすればよいですか?


編集する

その部分を次のように変更した場合mkpart

parted -s /dev/sda \
    mklabel gpt \
    mkpart 1MiB 261MiB \
    set 1 esp on \
    mkpart 261MiB 50GiB \
    mkpart 50GiB 550GiB \
    mkpart 550GiB 100%

スクリプトを実行すると、次の結果が表示されます。

Error: Invalid number.
mkfs.fat 4.1 (2017-01-24)
mkfs.fat: unable to open /dev/sda1: No such file or directory
mke2fs 1.45.3 (14-Jul-2019)
The file /dev/sda2 does not exist and no size was specified.
mke2fs 1.45.3 (14-Jul-2019)
The file /dev/sda3 does not exist and no size was specified.
mke2fs 1.45.3 (14-Jul-2019)
The file /dev/sda4 does not exist and no size was specified.

編集する

gparted次のことができます。

ここに画像の説明を入力してください。

ここでは最後のパーティションからタグを削除しましたが、gpartedコマンドがどのように実行されるかは表示されません!

答え1

~から別の書類:

コマンド: mkpart[部分型 fs 型名] 開始終了
...
部品タイプprimary""、""、または""のいずれかで、extended""または""パーティションテーブルとしてのみ指定できますlogical。 ㅏ msdosdvh名前'で指定する必要がありますgpt。どちらもありません部品タイプ...でもない名前sun分割テーブルと組み合わせて使用​​できます。

partedを使用している場合は、GPTパーティションの名前を設定する必要があります。

答え2

parted空の文字列を指定すると、パーティションを使用するときにパーティション名を指定する必要がなくなります。
同じ参照を使用します。公式文書:

コマンド: mkpart[パーツタイプ名 fs-type] 開始終了
...
部品タイプprimary""、""、または""のいずれかで、extended""または""パーティションテーブルとしてのみ指定できますlogical。 ㅏ msdosdvh名前パーティションテーブルに指定する必要がありますgpt。どちらもありません部品タイプ...でもない名前sun分割テーブルと組み合わせて使用​​できます。

それでは分析してみましょう(強調)。

部品タイプprimaryextended""、""、または""のいずれかですlogical指定のみ可能' msdos'または' dvh'パーティションテーブル。

したがって、gptパーティションを分割したテーブルを作成するとき使用しない part-type(明らかな理由はパーティションタイプが 1 つだけだということです。) つまりgpt、ディスクの場合コマンドは次のとおりです。

mkpart [name fs-type] start end  

これは、最初のパラメータがあることを意味しますmkpartname参照に戻りましょう。

名前 指定する必要があります。" gpt"パーティションテーブルの場合。

つまり、最初のパラメーターは必須であるため、mkpartコマンドの後のすべての文字列は指定されたパーティション名として解釈されます。インタラクティブモードで使用するときにparted名前なしで新しいパーティションを作成するにはどうすればよいですか?""次のように空の文字列を使用します。

(parted) mkpart "" 0% 100% 

スクリプトモードでコマンドを実行するときは、これらの引用符がシェル拡張(何もしない)を回避し、文字通り渡す必要があるため、partedエスケープ/引用符を付ける必要があります。

parted -a optimal -s /dev/sda mklabel gpt mkpart '""' 0% 100%

つまり、特定のケースでは、「基礎的」これはパーティション名として使用され、空の文字列を使用できます。

parted -s /dev/sda \
    mklabel gpt \
    mkpart '""' 1MiB 261MiB \
    set 1 esp on \
    mkpart '""' 261MiB 50GiB \
    mkpart '""' 50GiB 550GiB \
    mkpart '""' 550GiB 100%

答え3

あなたはそれを使用することができますfdisk

fdiskutil-linux 2.31.1とはおそらく他の最新バージョンが利用可能です。

Xをターゲットドライブの実際のデバイス文字に置き換える必要がある次のスクリプトファイルを使用してテストしました。もちろん、正しいパーティションの数とサイズを設定する必要があります。インタラクティブに実行して、使用する構文を学ぶことができますfdisk

#!/bin/bash

LANG=C

echo "g
n


+256m

n


+1g

n




w" | fdisk /dev/sdX

説明する

次のリストは機能しませんが(fdiskはコメントを受け付けません)、上記のスクリプトを理解するのに役立ちます。

#!/bin/bash

LANG=C

echo "g     # gpt, GUID partition table
n           # new partition
            # default partition number
            # default start location
+256m       # size
            # default answer to partition name
n           # new partition
            # default partition number
            # default start location
+1g         # size
            # default answer to partition name
n           # new partition
            # default partition number
            # default start location
            # default end location at the drive's tail end
            # default answer to partition name
w           # write to the drive" | fdisk /dev/sdX

認証には「名前」はありません。

$ sudo partprobe;sleep 1;LANG=C sudo parted /dev/sdc p
Model: Kingston DataTraveler G3 (scsi)
Disk /dev/sdc: 4010MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  269MB   268MB
 2      269MB   1343MB  1074MB
 3      1343MB  4010MB  2667MB

関連情報