我想尝试一个新的发行版,所以我决定使用 dd 制作一个可启动的 USB:
sudo dd if=my.iso of=/dev/sdb bs=4M
我尝试在其上启动,但是尽管在 BIOS 中选择它作为启动媒体,计算机却无法在其上启动,而是继续启动基本系统。(附带一个问题,我不明白为什么有时候我可以启动系统,有时候却不能,使用同一行将 iso 写入 usb)。
我不知道我还做错了什么,但这导致 16GB 的驱动器只显示 10MB 可用。
使用 gparted 时,驱动器上只有 10MB 可用,但使用 lsblk 输出:
sdb 8:16 1 14.9G 0 disk
我尝试使用 fdisk 和其他实用程序对其进行格式化,但没有成功。然后我在 gparted 中看到磁头、磁柱和扇区的信息与另一个完全相同的 USB 驱动器(相同型号、相同品牌、相同容量)不同。虽然这些信息(磁头等)与 USB 驱动器实际上无关,但我认为这可能是导致我的 USB 10MB“高”的原因。
但是,使用 fdisk 的专家模式(在程序中按一次 x 键)修改这些的任何尝试均失败,尝试写入(w)它们也不起作用(容量没有变化)。
我寻找了其他方法来修改它(因为我相信这就是 USB 没有显示其真实大小的原因)但没有成功。
我如何永久更改该驱动器的标题、扇区和柱面?这是否是我的 USB 缩小的原因?如果不是,我该怎么做才能将其恢复到其真实大小?
编辑:这些建议并没有起到作用,尽管搜索引擎上的不同词语让我发现了testdisk
哪些词可能可以解决问题。
编辑:尝试更改 CHS 没有起作用:一旦我退出 testdisk,它就会重置为使其大小为 10MiB 的值。
解决了:显然,如果我在另一台计算机上使用它,大小是正确的。可能需要重新启动才能显示正确的值。
答案1
用零覆盖前几个扇区(32KB 足够了),然后打开 cfdisk 或 fdisk 或 gparted 并以您喜欢的格式(gpt 或 mbr)创建一个新的分区表。
dd if=/dev/zero of=/dev/sdb bs=32k count=1
对于该侧节点,您只能将dd
ISO 复制到 USB 并从中启动(如果它是混合ISO即以 MBR 或 GPT 分区表开头的 ISO,其内容布局为既有传统文件系统又有 ISO 文件系统,其中相同的文件名指向相同的文件。(此外,引导加载程序必须检测到这种情况并根据现有的驱动器正确地从 USB 或 CD 启动)。
答案2
由于您有完全相同的 USB 驱动器,最简单的恢复方法是将一个文件MBR
从完好的驱动器复制到损坏的驱动器。首先,将完好的驱动器复制MBR
到一个文件中:
dd if=/dev/sdX of=usb.mbr bs=512 count=1
然后将保存的内容复制MBR
到损坏的内容:
dd of=/dev/sdX if=usb.mbr; sync
然后重新插入正在修复的 USB 记忆棒并检查配置fdisk
- 现在一定没问题了。
vfat
在现有分区上重新创建文件系统。