显示的笔式驱动器容量小于实际

Pra*_*hal 8 partitioning usb-drive gparted gnome-disk-utility 14.04

我有一个 8 GB 的随身碟。我曾经使用该dd命令将原始数据写入 pendrive(不创建文件系统)。

今天,当我插入笔式驱动器时,我无法在上面写任何东西。当我打开gparted它时,它显示笔式驱动器上的总空间为 500 MB。我现在无法在笔式驱动器上创建新的分区表或分区。

这是fdisk -l输出。

Disk /dev/sdb: 0 MB, 512000 bytes
255 heads, 63 sectors/track, 0 cylinders, total 1000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00095df6
Run Code Online (Sandbox Code Playgroud)

笔式驱动器有什么问题?如何恢复丢失的空间?

Device Boot      Start         End      Blocks   Id  System
Run Code Online (Sandbox Code Playgroud)

当我打开 gnome-disks 时,它显示总空间为 8 GB,但是当我尝试使用它创建一个新分区时,它显示以下错误:

Error creating partition on /dev/sdb: Command-line parted --align optimal --script "/dev/sdb" "mkpart primary ext2 1MiB 7969177599b"' exited with non-zero exit status 1: Error: The location 7969177599b is outside of the device /dev/sdb.
 (udisks-error-quark, 0)
Run Code Online (Sandbox Code Playgroud)

kar*_*rel 8

这些说明让我重新格式化了一个 8GB USB 闪存驱动器,该驱动器在我曾经dd将可启动的 iso 文件写入闪存驱动器后变得毫无用处。我将闪存驱动器重新格式化为其原始 FAT32 格式,如下所示:

  1. 除了要重新格式化的 8GB USB 闪存驱动器外,移除所有 USB 设备,这样您以后就不会对 USB 闪存驱动器的设备名称感到困惑。

  2. 列出所有分区。

     sudo fdisk -l
    
    Run Code Online (Sandbox Code Playgroud)

    在命令的结果中搜索如下所示的输出:

     Disk /dev/sdc: 7864 MB, 7864320000 bytes
     30 heads, 33 sectors/track, 15515 cylinders, total 15360000 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: 0x00016288
    
        Device Boot      Start         End      Blocks   Id  System
     /dev/sdc1   *        2048    15359999     7678976    b  W95 FAT32
    
    Run Code Online (Sandbox Code Playgroud)

    如果您7864 MB在输出中看到类似(8GB) 的内容(请参阅上面的示例输出),那么这就是您的 8GB USB 闪存驱动器。在这个例子中,它被称为/dev/sdc。现在从 Dash 打开磁盘应用程序并再次检查以确保您的 8GB 闪存驱动器的设备名称与您通过运行以下命令获得的相同:sudo fdisk -l

  3. 在 msdos 类型的磁盘上创建一个分区表,有时称为主引导记录 (MBR)。

     sudo parted /dev/sdc mklabel msdos
    
    Run Code Online (Sandbox Code Playgroud)

    在此示例中,我使用/dev/sdc了在步骤 2 的结果中找到的设备名称。在运行此步骤之前验证设备名称的重要性再怎么强调也不为过!

    警告:如果您输入错误的设备名称,您可能会覆盖您的操作系统或包含重要个人文件的另一个分区!!!所以要小心并再次检查设备名称。打开磁盘应用程序并在磁盘中检查您的 8GB USB 闪存驱动器的设备名称。应该是同一个设备名!!!现在再次检查!您不想意外输入错误的设备名称!

  4. 添加一个空的“主”分区,稍后将保存 FAT 文件系统。

     sudo parted -a none /dev/sdc mkpart primary fat32 0 8192 
    
    Run Code Online (Sandbox Code Playgroud)

    在这个例子中我再次使用 /dev/sdc了在步骤 2 的结果中找到的设备名称。该命令指定了起点(从 0 MB)到终点(8192 MB)。如果 8GB USB 闪存驱动器没有完整的 8192 MB 空间,parted 会自动调整它。如果终端返回一条消息说起点不能从 0 MB 开始,而您必须使用其他一些接近 0 MB 的小数字,请键入 Y 以接受这一点。请注意,该命令是在整个磁盘上创建单个主分区。

    这个新创建的分区将具有 ID /dev/sdc1。那是因为本示例中的设备名称是/dev/sdc,而末尾的 1 是因为它是该设备上的第一个分区。

  5. 通过格式化分区在 /dev/sdc1 分区上创建 FAT 文件系统。

     mkfs.vfat -n "8GB-USB" /dev/sdc1
    
    Run Code Online (Sandbox Code Playgroud)

    /dev/sdc1 是第4步的分区ID。“8GB-USB”是分区标签,可以自己选择标签,把标签括在两个双引号内即可。

您现在拥有一个带有 8GB FAT 分区的即用型重新格式化 USB 闪存驱动器。


小智 0

运行gparted,选择您的闪存驱动器,然后转到Device->Create Partition Table然后从列表中选择一个,msdos就可以了,然后您应该能够创建新的分区。

  • 我已经尝试过了,但它不起作用 (2认同)

小智 -1

听起来像是权限问题。我发现一些事情可能会导致这个奇怪的问题:

  • 从一个帐户/系统保存数据,然后尝试从另一个帐户/系统添加数据?
  • 使用文件夹的受保护名称(例如Documents)。这几乎总是会扰乱权限,并将用户锁定在文件夹或驱动器之外。

我发现 Gparted 是诊断和重新分区拇指驱动器的好工具。以超级用户身份运行 nautilus(在终端中输入gksu nautilus,并在出现提示时输入管理员密码),以允许您检查驱动器上文件和文件夹的权限。

您可能想要擦除 USB 驱动器并重新开始(有一些解决权限问题的极客方法,但重来通常更快 - 只要确保不会再次出现相同的问题即可)。

希望有帮助。