私のパーティションテーブルは次のとおりです。
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 32505855 16251904 83 Linux
/dev/sda2 32505856 33554431 524288 83 Linux
ファイルシステムをに配置したときにsda2
次のエラーが発生しました。
sudo mkfs -t ext4 /dev/sda2
mke2fs 1.42.9 (4-Feb-2014)
mkfs.ext4: inode_size (128) * inodes_count (0) too big for a
filesystem with 0 blocks, specify higher inode_ratio (-i) or lower inode count (-N).
拡張パーティションとプライマリパーティションを試しましたが、同じエラーが発生しました。 Ubuntu 14.04TLSがあります。何をすべきか?
答え1
1:基本/拡張/論理区画に対して何もする必要はありません。
2:「拡張」パーティションではなく「論理」パーティションを言いたいようです。
3:mkfsはパーティションサイズが0バイトだと思います。これは、カーネルがパーティションを再分割した後にパーティションテーブルを更新できないため、非常に明白です。パーティションテーブルを編集した後に再起動する必要があるという警告が表示されましたか?
Linuxには2つの異なるパーティションテーブルがあります。 1つはハードドライブのブロック0にあります。そしてカーネルメモリにも一つあります。 commandを使用して最初の項目を読み取ることができますfdisk -l /dev/sda
。 2番目はcat /proc/partitions
コマンドで読むことができます。 2つを同期する必要がありますが、これは常に可能なわけではありません。たとえば、現在使用されているパーティションの制限は変更できません。この場合、カーネルパーティションテーブルは変更されません。
このコマンドを使用して、カーネルにディスクパーティションテーブルを再読み込みさせることができますblockdev --rereadpt /dev/sda
。ほとんどのパーティション化ツールは、新しく変更されたパーティションテーブルをディスクに書き込んでからこのコマンドを実行します。
問題は、最新のLinuxカーネルのみを使用したハードドライブのパーティションテーブルを再読み込みできることです。この観点から、ハードドライブは、ツールまたはマウントポイントで使用される単純なパーティションがある場合、またはアクティブなスワップパーティションの場合は「使用済み」と見なされます。
これらの最新のカーネルは、現在使用中のパーティションの制限を変更することはできません。
私の考えでは、ルートシステムがオンになっているので、再/dev/sda
パーティションして再起動する必要があります。
答え2
あなたは走らなければなりませんpartprobe
テーブル更新コマンド
答え3
RHEL8では、「Linux」タイプに拡張された新しいパーティションを作成しました。
一度mkfs.ext4
フォーマットしましたがpartprobe
、partx /dev/sda
。
複数回再起動した後も、パーティションはまだ存在します。
答え4
cat /proc/partitions
結果は次のとおりです。
major minor #blocks name
8 0 292968750 sda
8 1 1048576 sda1
8 2 70637568 sda2
**8 3 1 sda3**
8 16 292968750 sdb
8 17 143373716 sdb1
253 0 63463424 dm-0
253 1 7168000 dm-1
11 0 1048575 sr0
私はそうしてpartprobe
逃げましたcat /proc/partitions
。
上映中
major minor #blocks name
8 0 292968750 sda
8 1 1048576 sda1
8 2 70637568 sda2
8 3 221281582 sda3
8 16 292968750 sdb
8 17 143373716 sdb1
253 0 63463424 dm-0
253 1 7168000 dm-1
11 0 1048575 sr0
上記の結果の後。次のコマンドが正常に実行されました。
mkfs -t ext4 /dev/sda3