私はvirtualbox VMを実行していますが、/ dev / sda2のサイズが2つの出力で異なるように見えることがわかります。また、fdisk出力で/dev/sda2と/dev/sda5が重なっているように見えます。
~$ lsblk /dev/sda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 29.3G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 9.5G 0 part /
~$ sudo fdisk -l /dev/sda
Disk /dev/sda: 29.3 GiB, 31457280000 bytes, 61440000 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8f66391d
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1050623 1048576 512M b W95 FAT32
/dev/sda2 1052670 20969471 19916802 9.5G 5 Extended
/dev/sda5 1052672 20969471 19916800 9.5G 83 Linux
答え1
このsda2
パーティションはコンテナパーティションです。フォーマットはディスクによく似ています。マスターブートレコード(MBR)と呼ばれ拡張ブートレコード(EBR)自体は、可能な4つの基本パーティションスロットのうちの1つを占めます。これはMBRの4つのパーティションという歴史的限界を克服するために存在します。これには、内部的に拡張パーティション(Linuxのパーティション5で始まるとマークされています)が含まれており、互いに接続されています。各拡張パーティションには、2つのエントリを含むEBRもあります。 1 つはパーティションのデータ自体を参照するための項目、もう 1 つは次の項目を参照するための項目です。 EBR拡張パーティションがある場合。すべての拡張パーティション(ここではsda5
)は次のとおりです。~へコンテナパーティション(ここsda2
)なので、fdiskは常に重複するブロックを報告します。
~から膜バイオリアクター私の視点では、拡張パーティションを追加するために予約されたスペースをすべて使用するため、サイズはすべての拡張パーティションのサイズよりも大きくなければなりません。
ユーザースペースに報告するカーネルAPIの観点からは、lsblk
パーティション2は便宜上表示されるグルーピングパーティションであるため、改ざんしてはいけません。報告されたデータサイズはEBRオーバーヘッドであり、ここでは1Kです。それ以外の場合は、パーティション2への読み取りまたは書き込み(すべての拡張パーティションへの最初のリンクが失われる可能性があるため、すでに悪い)もパーティション5の読み取りに許可されます。または書いてください。サイズをゼロとして報告することを選択しても、あまり問題はありません。これはsda
ディスク全体の代わりにそれ自体を処理することとは異なります。より多くの拡張パーティションが各以前の拡張パーティションの EBR で接続されていることを考慮すると、これは意味があります。対応する内部EBRは使用できず、実際のデータのみが表示されます。
使用を検討する必要があります。GPTMBR / EBRパーティション化の代わりにパーティション化:これはより合理的であり、そのような制限や回避策がない最新のパーティション化方法です。または選択できます左心室容積(デフォルト、非拡張)パーティション:これはまた、さまざまな抽象化レイヤでブロックをパーティション化するためのコンテナ形式であり、多くの機能を提供します。