web-dev-qa-db-ja.com

ファイルシステムの作成中、「inode_size(128)* inodes_count(0)は0ブロックのファイルシステムには大きすぎます」

私のパーティションテーブルは次のようになります。

 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を使用しています。何をすべきか?

6
user53029

1:プライマリ/拡張/論理パーティションで何もする必要はありません。

2:「拡張」ではなく「論理」パーティションにしたいと思います。

3:mkfsは、パーティションサイズを0バイトと見なします。カーネルが再パーティション化の後にパーティションテーブルを更新できなかったので、それは非常に確かでした。パーティションテーブルを編集した後、再起動が必要であるという警告が表示されませんでしたか?

Linuxでは、2つの異なるパーティションテーブルがあります。ハードディスクの0番目のブロックに1つあります。そして、カーネルメモリに1つあります。最初はfdisk -l /dev/sdaコマンドで読み取ることができます。そして、2番目はcat /proc/partitionsコマンドで読み取ることができます。これら2つは同期している必要がありますが、常に可能であるとは限りません。たとえば、現在使用されているパーティションの制限を変更することはできません。この場合、カーネルパーティションテーブルは変更されません。

コマンドblockdev --rereadpt /dev/sdaを使用して、カーネルにディスクパーティションテーブルを再度読み込ませることができます。ほとんどのパーティションツールは、新しく変更されたパーティションテーブルをディスクに書き込んだ後に、このコマンドを実行します。

問題は、新しいLinuxカーネルだけが、使用されているハードディスクのパーティションテーブルを再読み取りできることです。この観点から、ハードディスクは、ツール、マウントポイント、またはアクティブなスワップパーティションのいずれかで使用されている単純なパーティションがある場合、「使用済み」と見なされます。

また、これらの新しいカーネルでも、現在使用されているパーティションの制限を変更することはできません。

ルートシステムは/dev/sda上にあると思います。したがって、パーティションの再作成を行った後は、再起動する必要があります。

partprobe コマンドを実行してテーブルを更新する必要があります

0
Mulalo Raphasha