web-dev-qa-db-ja.com

GPTパーティションのファイルシステムタイプをpartedで変更する

partedを使用してGPTパーティションを作成したとき、以前はext2ファイルシステムタイプを使用していました。

$ parted /dev/sdc print | grep ^12 
12      961GB   1118GB  157GB   ext2               msftdata

代わりにext4に変更したいので、mkfs.ext4 /dev/sdc12を使用してパーティションを再フォーマットしますが、上記のようにparted /dev/sdc printを実行すると、ext2が次のように表示されます。ファイルシステムタイプ。

いくつか読んだところ、partedがファイルシステムタイプに触れる唯一の方法はmkpartfsコマンドであるようです。参照: http://www.thegeekstuff.com/2011/09/parted-command-examples / 。そうですか?パーティションを再作成したくないので、mkpartfsコマンドを使用してファイルシステムタイプを変更するのは本当に好きではありません。それは私のパーティション番号を台無しにしてしまいます(たとえば、sdc12はsdc19と名付けられます)。もっと良い方法はありますか?

編集:

再び同じ問題にぶつかり、ここでも、私自身の質問に対する答えを見つけました。したがって、パーティションファイルシステムの種類を変更する必要があると思った理由をログに記録します。

% mount $bootdev
mount: wrong fs type, bad option, bad superblock on /dev/sdb2,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

% fsck  $bootdev
fsck from util-linux 2.20.1
e2fsck 1.42.8 (20-Jun-2013)
GptLive: clean, 21/1024000 files, 74309/4096000 blocks

% mount $bootdev
mount: wrong fs type, bad option, bad superblock on /dev/sdb2,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

つまり、/dev/sdb2にタイプauto/etc/fstabエントリを新しく作成しました。ただし、mountはマウントできません。しかしながら:

% mount $bootdev /mnt/GptLive

% mount | grep $bootdev
/dev/sdb2 on /mnt/GptLive type ext2 (rw)

つまり、mount $devが機能しない場合、mount $dev /mnt/placeは問題なく機能しました。

なぜなのかわからないし、修正を説明することもできませんが、これが解決策を探していた理由であり、どのように解決したか「修正」したことをログに記録します。

ありがとう

4
xpt

GPartedおよびpartedプログラムは、パーティションテーブルタイプのコード情報に対して非常に限定された制御しか提供しません。せいぜい、いくつかのタイプコードは「フラグ」に変換されます。それがmsftdataフラグです-これはMicrosoft基本データパーティションを示します(GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7;参照 GPpediaタイプコードのWikipediaリスト )。フラグを調整することで一部のタイプコードを変更できますが、Linuxは特定の限られた状況を除いてこれらのコードを無視するため、Linuxのみのシステムでは、それらをいじくり回す必要はありません。ただし、デュアルブートシステムでは、Microsoft Basic Dataタイプコードを使用してLinuxパーティションを設定しないでください。これが悪い考えである理由の詳細については、 このトピックに関する私のページ を参照してください。

partedのext2としてのファイルシステムの識別は、パーティション内のデータwithinを調べるプログラムによって行われます。パーティションに新しいext4ファイルシステムを作成した場合、partedはそれを正しく識別しているはずです。しかし、partedの識別にバグがある可能性があります。もしそうなら、私はそれについて心配しません。 blkidSudo blkid /dev/sdc12のように)を使用するか、dumpe2fsで技術的な詳細を調べることにより、パーティションが実際にext4ファイルシステムを保持していることを確認したい場合がありますが、後者には解釈するためのかなりの量の専門知識。実際、ext4fsは基本的に追加機能を備えたext2fsであるため、2つを区別するのは少し難しい場合があります。

5
Rod Smith