ディスクサイズ可変

ディスクサイズ可変

私のデバイスに新しいOSをフラッシュしていますが、プロセスが完了すると起動できません。その後、ディスクを確認してみると奇妙な点が見つかりました。

サイズは約120 GBでなければなりませんが、ツールごとに異なるディスクサイズを報告します。

だから私は次のように決めました。

dd if=/dev/zero of=/dev/sda

しかし、結果はほぼ同じです。

そしてlsblk

$ lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda            8:0    1 115.2G  0 disk
├─sda1         8:1    1   243M  0 part
└─sda2         8:2    1   2.2G  0 part

そしてfdisk

$ fdisk -l /dev/sda
Disk /dev/sda: 7.66 GiB, 8225689600 bytes, 16065800 sectors
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: 0xaeaa381a

そしてcfdisk

                          Disk: /dev/sda
        Size: 7.66 GiB, 8225689600 bytes, 16065800 sectors
                Label: dos, identifier: 0xaeaa381a

    Device      Boot   Start       End   Sectors   Size  Id Type
>>  Free space          2048  16065799  16063752   7.7G

ハードウェアの経験はありません。したがって、ディスクはまだ〜120Gにあります。

空き容量を取り戻すにはどうすればよいですか?

答え1

「新しいオペレーティングシステムをデバイスにフラッシュする」とは、パーティションテーブルを含むディスクイメージ全体を書き込むことを意味しますか?

もちろん、dd if=/dev/zero of=/dev/sdaDOSタイプのパーティションテーブルを上書きする必要がありますが、後でディスクの再スキャンをトリガしない場合、システムはまだ以前のパーティションテーブルの情報を使用します。

キャッシュされたパーティションテーブル情報には、イメージが作成されたソースディスクのサイズも含まれているため、愚かなfdiskツールcfdiskです。一方、lsusbディスクの実際のサイズを見て、パーティションテーブルに報告された合計サイズを無視してください。

partprobe /dev/sda可能であれば、どちらかを試してくださいecho 1 > /sys/block/sda/device/rescan(両方のコマンドはroot権限が必要です)。

イメージング操作後にディスクの合計サイズを識別するなど、既存のパーティションテーブルを非破壊的に更新する必要がある場合、このgrowpartツールはおそらく最も簡単な方法です。

関連情報