Xubuntu 14.04.3,USB 闪存驱动器 4GB。使用 Linux Mint 17.2 MATE 中的标准闪存驱动器写入工具后,我安装了 Xubuntu,但当我决定格式化闪存驱动器时,出现了以下信息:
警告:/dev/sdb 包含 GPT 签名,表明它有一个 GPT 表。但是,它没有有效的伪造 msdos 分区表,而它应该有。也许它被损坏了——可能是由不理解 GPT 分区表的程序损坏的。或者也许您删除了 GPT 表,现在正在使用 msdos 分区表。这是 GPT 分区表吗?
遵循以下说明:
Open a Terminal and run sudo gdisk /dev/sda
It is likely that both MBR and GPT will be found and asks you which one to use - the choice is irrelavant.
Type x for the next command because well, you're doing expert stuff
Type z to zap the GPT data
Type y to proceed destroying GPT data
Type n in order to not lose MBR data
我懂了:
sudo fdisk -l
Disk /dev/sda: 400.1 GB, 400088457216 bytes
240 heads, 63 sectors/track, 51681 cylinders, total 781422768 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
Disk identifier: 0x00087d88
Device Boot Start End Blocks Id System
/dev/sda1 * 2046 124999679 62498817 5 Extended
/dev/sda2 124999680 781422591 328211456 83 Linux
/dev/sda5 2048 1953791 975872 82 Linux swap / Solaris
/dev/sda6 1955840 45127714 21585937+ 83 Linux
/dev/sda7 45129728 124999679 39934976 83 Linux
Disk /dev/sdb: 3926 MB, 3926949888 bytes
255 heads, 63 sectors/track, 477 cylinders, total 7669824 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
Disk identifier: 0x53c3a606
Device Boot Start End Blocks Id System
/dev/sdb1 * 0 1943551 971776 0 Empty
/dev/sdb2 1935736 1940279 2272 1 FAT12
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb1'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sdb1: 995 MB, 995098624 bytes
255 heads, 63 sectors/track, 120 cylinders, total 1943552 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
Disk identifier: 0x53c3a606
Device Boot Start End Blocks Id System
/dev/sdb1p1 * 0 1943551 971776 0 Empty
/dev/sdb1p2 1935736 1940279 2272 1 FAT12
和这个:
df
/dev/sdb1 971776 971776 0 100% /media/username/Xubuntu 14.04.3 LTS amd64
/dev/sdb2 2248 0 2248 0% /media/username/Xubuntu 14.04.3 LTS amd641
请帮助将闪存驱动器恢复到工作状态。PS:抱歉我的英语不好。
答案1
修复问题: sudo dd if=/dev/zero of=/dev/sdb bs=1M count=20 ; sync
下一步:GParted--->设备--->创建分区表--->选择 msdos
答案2
根据您创建它们的方式,带有 Ubuntu(或其他 Linux 发行版)安装程序的 USB 闪存驱动器可以使用一种弗兰肯斯坦的怪物分区表。您可以使用dd
或其他工具将新映像写入磁盘,从而重新使用该磁盘。如果您想将磁盘用于其他目的,或者您使用的工具出现故障,则必须完全擦除分区表。一种相对简单的方法是使用sgdisk
:
sudo sgdisk -Z /dev/sdc
使用该命令时要小心!稍有不慎就可能严重损坏您的硬盘!特别注意磁盘设备(/dev/sdc
在此示例中)。
此示例将擦除 上的 GUID 分区表 (GPT) /dev/sdc
。更改/dev/sdc
为适当的设备。(由于 MBR 的关键数据结构占用了 GPT 所消耗空间的子集,因此此命令还将擦除 MBR 数据。)
请注意,/dev/sdb1
在您的示例中, 不是磁盘设备;它是一个分区。Linux 中的整个磁盘设备名称通常采用 的形式/dev/sdx
,其中x
是字母。添加数字(如 )/dev/sdb1
表示引用的是分区。
像 user413594 的回答中那样,擦除磁盘的前 20MiB 可能会解决问题;但这既会擦除比必要更多的数据,又不会不是如果磁盘使用(或曾经使用过)GPT,则擦除备份分区表。如果任何磁盘实用程序查找并找到这些旧数据,则无法擦除备份 GPT 数据可能会导致日后混乱。
清除旧分区表后,您可以使用任何您喜欢的工具(gdisk
、、、GParted 等)来创建新的分区表。根据您使用的工具,您可能需要使用parted
或相关工具在您创建的分区上创建新的文件系统。fdisk
mkfs
答案3
对于这些类型的操作,请使用 wipefs。
https://manpages.courier-mta.org/htmlman8/wipefs.8.html
wipefs 可以从指定的设备中删除文件系统、raid 或分区表签名(魔术字符串),以使 libblkid 无法看到这些签名。wipefs 不会从设备中删除文件系统本身或任何其他数据。
wipefs -a /dev/sdX