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

我有一个8 GB的pendrive。 我曾经使用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 

笔式驱动器有什么问题? 我怎样才能找回丢失的空间?

 Device Boot Start End Blocks Id System 

当我打开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) 

这些说明有助于我重新格式化8GB USB闪存驱动器,在我使用dd将可引导的iso文件写入闪存驱动器之后,该驱动器变得无用。 我将闪存驱动器重新格式化为其原始的FAT32格式,如下所示:

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

  2. 列出所有分区。

     sudo fdisk -l 

    搜索命令的结果以获得如下所示的输出:

     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 

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

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

     sudo parted /dev/sdc mklabel msdos 

    在这个例子中,我使用/dev/sdc作为设备名称,这是在步骤2的结果中找到的。我不能强调在运行此步骤之前validation设备名称的重要性

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

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

     sudo parted -a none /dev/sdc mkpart primary fat32 0 8192 

    再一次在这个例子中,我使用/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 

    /dev/sdc1是步骤4中的分区ID。“8GB-USB”是分区标签,可以自己选择标签,只需将标签括在两个双引号字符内。

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

闪存设备不会永远存在。 当他们失败时,他们有时会出现与您所报告的相似的症状。 虽然值得在此处尝试其他建议,但您的设备很可能已经死亡,您必须更换它。

如果您将文件系统映像写入介质,文件系统将不知道实际存在多少空间,因此您将被限制为其原始大小,除非您扩展它(如果文件系统类型允许) 。

此外,您可能使用的是具有ISO 9660文件系统的映像,该系统根本不支持修改。 如果要创建可引导可写的USB驱动器,请使用Startup Disk Creator等工具。

问题的一般描述

您可以使用dd 写入原始数据或将映像文件或Ubuntu iso文件克隆到USB驱动器。 这些数据可以是“任何地方的任何地方”,并且可能会混淆您打算在之后使用的分区工具,因为该工具需要某种结构(分区表和文件系统)。


从iso文件克隆以创建USB启动驱动器

当您将Ubuntu iso文件克隆到USB驱动器时,USB驱动器将是可引导的实时驱动器,可以运行到“试用Ubuntu”或将Ubuntu安装到内部驱动器中。 dd是一种克隆工具,当按照原始问题中的描述使用时。 还有其他克隆工具,例如’Disks’别名gnome-disks ,Ubuntu 16.04 LTS和更新版本中的’Ubuntu Startup Disk Creator’,’mkusb’和’Win32 Disk Imager’。 从iso文件克隆的USB驱动器具有只读的ISO9660文件系统。 这是系统的一项function,可以在CD / DVD驱动器上使用,并在克隆到USB驱动器时inheritance。

从iso文件中提取以创建USB启动驱动器

还有其他工具可以将文件从Ubuntu iso文件解压缩到USB驱动器中的文件系统。 ‘Unetbootin’,’LinuxLive’和’Rufus’正在提取工具。 ‘mkusb’是一个提取工具,当它创建一个持久的实时驱动器时。 USB驱动器中的提取系统可以是读写的。

再次读取/写入USB驱动器

持续的现场驾驶

如果你想使用pendrive来启动Ubuntu live和存储文件,我建议你创建一个持久的实时驱动器。 这可以在Windows中使用’LinuxLive’和’Unetbootin’完成,在Ubuntu中使用’mkusb’和’Unetbootin’。 请参阅以下链接和链接,

askubuntu.com /…/怎么办-我-让-一个持久活-USB-的Ubuntu的-…

http://www.linuxliveusb.com/

help.ubuntu.com/community/mkusb/persistent

unetbootin.github.io/

将USB驱动器还原到标准存储设备

否则,您可以使用“mkusb-dus”将USB驱动器恢复到标准存储设备。 擦除第一个兆字节的磁盘,并自动创建一个带有FAT32文件系统的新MSDOS分区表。 当其他工具被某些数据混淆时,此方法也有效。

在此处输入图像描述

请参阅以下链接和链接,

help.ubuntu.com/community/mkusb

help.ubuntu.com/community/mkusb/wipe

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

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

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

你可能想要擦除USB驱动器并重新开始(有很多方法可以解决权限问题,但是更糟糕的做法通常更快 – 只要确保你不再创建同样的问题)。

希望有所帮助。

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

好的,所以这就是我做的: –

1)启动到Windows系统,将usb格式化为fat32。

问题仍然存在,尽管在Windows上我能够从USB读取/写入。

所以,我重新启动了我的系统,usb棒像以前一样工作。

我不知道为什么会这样。