恢复 USB 驱动器的大小 (Linux)

use*_*649 7 linux usb

我想尝试一个新的发行版,所以我决定使用 dd 制作一个可启动的 USB:

sudo dd if=my.iso of=/dev/sdb bs=4M
Run Code Online (Sandbox Code Playgroud)

我试图用它启动,但尽管在 BIOS 中选择它作为启动媒体,但计算机并没有用它启动,而是继续启动基本系统。(作为一个附带问题,我不明白为什么有时我可以启动系统,有时我不能,使用同一行将 iso 写入 USB)。

我不确定我还做错了什么,但这导致 16GB 驱动器仅显示 10MB 可用空间。

使用 gparted,驱动器上只有 10MB 可用空间,使用 lsblk 但是输出:

sdb                       8:16   1  14.9G  0 disk
Run Code Online (Sandbox Code Playgroud)

我尝试使用 fdisk 和其他实用程序对其进行格式化,但没有成功。然后我在 gparted 中看到磁头、柱面和扇区的信息与另一个完全相同的 USB 驱动器(相同型号、相同品牌、相同容量)不同。尽管此信息(头部等)与 USB 驱动器并不真正相关,但我认为这可能是使我的 USB 10MB“高”的问题。

然而,使用 fdisk 的专家模式(程序中的一次 x 键)来修改这些的任何尝试都没有成功,尝试写入 (w) 它们不起作用(容量没有变化)。

我寻找其他修改它的方法(因为我相信这就是 USB 没有显示其真实大小的原因)但没有成功。

如何永久更改该驱动器的标头、扇区和柱面?这是否是我的 USB 缩小的原因,如果没有,我该怎么做才能将其恢复到其真实大小?

编辑:这些建议没有用,虽然我的搜索引擎上的不同词让我发现testdisk哪个可能解决问题。

编辑:尝试更改 CHS 不起作用:一旦我退出 testdisk,它就会重置为使其大小为 10MiB 的值。

已解决:显然,如果我在另一台计算机上使用它,大小是正确的。可能需要重新启动才能显示正确的值。

mih*_*ihi 6

用零覆盖前几个扇区(32KB 绰绰有余),然后打开 cfdisk 或 fdisk 或 gparted 并以您喜欢的格式(gpt 或 mbr)创建一个新的分区表。

dd if=/dev/zero of=/dev/sdb bs=32k count=1
Run Code Online (Sandbox Code Playgroud)

对于该侧节点,dd如果它是混合 ISO,即以 MBR 或 GPT 分区表开头的 ISO,并且其内容的布局既具有传统的文件系统和 ISO 文件系统,其中相同的文件名指向相同的文件。(此外,引导加载程序必须检测这种情况并根据存在的驱动器正确地从 USB 或 CD 引导)。

  • 它不起作用;gparted 现在检测 32KiB 的 USB 大小,即使在创建 msdos 分区表(gpt 分区只会使 gparted 崩溃...)fdisk 也检测 32KiB,以及 cfdisk。不过好像可以恢复到10MiB的大小…… (2认同)