我有一个 16GB 闪存驱动器,不久前我将其转换为可启动的 Kali(具有持久性)驱动器。
据我所知,它只是一个 Kali live ISO,大约 2GB 分区,其余部分自动安装为实时启动的存储。
我试图将其恢复到完整存储大小,但由于某种原因,我无法将其视为具有两个分区的 16。
这在 Windows 中是可以预料到的,因为它只显示 14.91 分区,但即使在 Debian 上,我也只能在 GParted 和 fdisk 上看到 14.92 msdos 分区表(现在未分配)。
奇怪的是,当我使用parted查看/dev/sdb时,我看到一个没有分区的16GB设备,但我知道可启动分区仍然在这里,因为我仍然可以从它启动。
我只想说,我完全不知道该如何彻底清除这个东西,这样我才能再次使用所有 16GB。
需要澄清的是,即使这只是一个报告差异的单元,这也不能解释我为什么完全看不到我仍然从中启动的分区。如果我擦除 14.91GB 后仍然启动,怎么可能只是设备问题?
答案1
这听起来像是单位的简单差异。存储行业坚持使用 SI 单位(基数 10,前缀之间的 10^3 缩放)来表示设备大小,而大多数软件以 IEC 单位显示大小(基数 2,前缀之间的 2^10 缩放)。
因此,设备制造商报告的 1 GB 为:
10 ^ 9 = 1 000 000 000 bytes
而操作系统报告的 1 GB(更准确地说是 IEC 单位 GiB)是:
2 ^ 30 = 1 073 741 824 bytes
这相当于大约 6% 的差异。
现在,将其与您列出的值相乘得出:
16 GB = 16 * 10 ^ 9 = 16 000 000 000 bytes
和:
14.91 GiB = 14.91 * 2 ^ 30 = 16 009 490 595.84 bytes
由于供应商报告的大小从 GB 转换为 GiB 给出了:
16 000 000 000 / 2 ^ 30 = 14.901 161 193 847 656 GiB
向上舍入为 14.91 GiB(不,我不知道为什么操作系统报告的磁盘大小几乎总是向上舍入,无论您使用哪个操作系统)。
答案2
闪存驱动器可能从未使用过多个分区,因此没有分区表。使用传统模式引导会导致存储介质的前 512 字节被执行。之后是文件系统。它可能遵循 ISO 9660 标准。
当 Gparted 和其他一些工具用于创建 ISO 格式 USB 驱动器时,它们还会创建分区表。这称为混合 ISO,因此将准确反映分区的存在。
至于为什么标记的 16GB 之间存在差异,Austin Hemmelgarns 的回答正确解释了这一点。