为什么Linux下fdisk删除分区后,再新建分区可以不用格式化直接挂载?
PHPz
PHPz 2017-04-17 16:03:51
0
4
593

我新建了分区/dev/sdb3,并且格式化为ext4

Device     Boot   Start     End Sectors Size Id Type
/dev/sdb1          2048 2099199 2097152   1G 83 Linux
/dev/sdb2       2099200 6293503 4194304   2G 83 Linux
/dev/sdb3       6293504 6313983   20480  10M 83 Linux

/dev/sdb3: UUID="6b300a6f-0579-458a-8000-ed24629f3da0" TYPE="ext4" PARTUUID="81a3aca2-03"

然后我把/dev/sdb3分区删掉,重新新建/dev/sdb3分区,结果不用mke2fs格式化,就能直接挂载该分区,而且还是ext4文件系统,难道删除分区重建不需要重新格式化么?求指导


2016-10-31 18:27:23

还是有点疑惑
例如/dev/sdb3分区
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2099199 2097152 1G 83 Linux
/dev/sdb2 2099200 6293503 4194304 2G 83 Linux
/dev/sdb3 6293504 6313983 20480 10M 83 Linux

我删除/dev/sdb3分区后,重建,size是5M,reboot
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2099199 2097152 1G 83 Linux
/dev/sdb2 2099200 6293503 4194304 2G 83 Linux
/dev/sdb3 6293504 6303743 10240 5M 83 Linux

/dev/sdb3: UUID="6b300a6f-0579-458a-8000-ed24629f3da0" TYPE="ext4" PARTUUID="81a3aca2-03"

我再删除/dev/sdb3分区后,再重建,size是15M,reboot
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2099199 2097152 1G 83 Linux
/dev/sdb2 2099200 6293503 4194304 2G 83 Linux
/dev/sdb3 6293504 6324223 30720 15M 83 Linux

/dev/sdb3: UUID="6b300a6f-0579-458a-8000-ed24629f3da0" TYPE="ext4" PARTUUID="81a3aca2-03"

依然是已分区状态,已经把分区范围变化了,为何还是没变化呢?


2016-10-31 18:34:27
我再再删除/dev/sdb3分区后,再重建,size是15M,reboot
把First sector赋值为6293505,不使用默认值6293504

Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2099199 2097152 1G 83 Linux
/dev/sdb2 2099200 6293503 4194304 2G 83 Linux
/dev/sdb3 6293505 6334463 40959 20M 83 Linux

/dev/sdb3: PARTUUID="81a3aca2-03"

这下就对了
结论:重建分区,如果改变了First sector的序号,就需要格式化;仅仅改变size,则会继续使用原文件系统格式。
PS:感谢各位答主!

PHPz
PHPz

学习是最好的投资!

全員に返信(4)
Ty80

オープンスペースをフェンスで囲み、大きなグリッドを2つ描きます(パーティション、フォーマット)
フェンスを削除します(パーティションを削除)。しかし、あなたが描いたグリッドはそこにあります。
描画された 2 つのグリッドの外側をフェンス (パーティション) で囲むと、グリッドを描画する必要がなくなります (元のファイル システムを使用します)。もちろん、元の描画を消去して、3 つの小さなグリッドを描画することもできます (他のファイル システムにフォーマット)

いいねを押す +0
Ty80

私の理解は次のとおりです: fdisk でパーティションを削除および作成すると、パーティション テーブル内の説明データが変更されます (/dev/sdb の最初のセクター データを表示できます)
前のパーティションは変更されていないため、説明データは変更されますパーティション テーブル内の 3 つのパーティション記述の開始アドレスは変更されません。サイズのみが変更された場合、パーティション ヘッダー データは引き続き最新のフォーマットされたデータとなり、

は引き続き認識されます。
いいねを押す +0
阿神

fdisk はパーティション テーブルのレコードのみを変更します。パーティション パラメータが以前とまったく同じである場合は、もちろん、パーティション テーブルが破棄された後もパーティションを取得し続けることができます。ファイル システム ヘッダーを検索し、パーティション テーブルを再構築します。ただし、これはパーティションの開始セクターと合計セクター数が変更されていない場合に限定されます。たとえば、サイズが小さくなるなど、変更された場合は、ファイル システム データが正しくありません。この時点で、再フォーマットして新しいファイル システム構造を作成する必要があります

いいねを押す +0
迷茫

パーティションを削除すると、MBR または GPT 内のレコードのみがクリアされ、ext ファイル システムの特定の情報は SuperBlock によって提供されます。 SuperBlock は通常、Boot sector と同じブロック (2k または 4k ブロック) 内にあるため、対応するパーティションの最初の 2k バイトを埋めると、ファイル システムが破損していることがわかります。
したがって、Boot sectorSuperBlock が配置されているブロックがコンテンツで埋められていない場合、次回そのブロックがまだ最初のブロックとして使用されているときに、ファイル システム情報が復元されます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!