格式化USB时“物理块大小为2048字节,但Linux表示为512” – 如何创建可引导USB而不出现此错误

我用的是:

dd if=/path/to/my/ubuntuiso/ubuntu.iso of=/dev/sdb1 bs=4M && sync 

为了在较旧的Ubuntu版本上创建可启动的Ubuntu USB驱动器。 它运作得很好。 有时我使用了Startup Disk Creator程序,该程序运行良好。

但是当我在Ubuntu 16.04 LTS上使用相同的方法时,我会在格式化之后收到一些警告。

安装媒体按预期工作,但是当我在完成工作后尝试格式化USB记忆棒时,我收到以下警告:

在此处输入图像描述

Pendrive的分区看起来很奇怪:

在此处输入图像描述

它还显示我的16GB pendrive为64GB。

在与Gparted挣扎很多之后,我会以某种方式格式化它。 但为什么会这样呢? 有没有更好的方法在16.04创建可启动的Ubuntu?

编辑 :这里有一个相关的问题。 但我的问题在于如何正确地格式化它。 我的问题是“如何在没有错误的情况下创建可启动USB”。 &“这个错误的原因是什么”

一种为UEFI系统制作实时USB的命令行方法

请注意:这会删除目标设备上的所有数据。

安装先决条件:

 sudo apt-get install p7zip-full 

假设目标USB位于/dev/sdb

请先查看 lsblkgnome-diskssudo fdisk -l并确保知道您的格式是什么)

确保设备没有已安装的文件系统,并在必要时卸载它,例如:

 udisksctl unmount -b /dev/sdb1 

销毁现有分区表:

 sudo sgdisk --zap-all /dev/sdb 

创建新的GPT:

 sudo sgdisk --new=1:0:0 --typecode=1:ef00 /dev/sdb 

格式为FAT32:

 sudo mkfs.vfat -F32 /dev/sdb1 

核实:

 sudo fdisk -l /dev/sdb 

应输出如下内容:

 Device Start End Sectors Size Type /dev/sdb1 2048 15663070 15661023 7.5G EFI System 

安装驱动器并将iso提取到其上,将“name-of-iso”替换为您之前下载的iso的实际文件名

 sudo mount -t vfat /dev/sdb1 /mnt sudo 7z x name-of-iso -o/mnt/ 

卸载

 sudo umount /mnt 

现在重启并享受Ubuntu ^ _ ^

( 这是我最初学会这样做的地方。)

以下是我在将USB用作安装介质后尝试重新格式化时解决了出现此错误的问题:

  • 首先在Applications> Disks下打开Disks Application
  • 选择可引导笔式驱动器。
  • 右上角会有一个选项菜单
  • 选择格式化驱动器选项( CTRL + F
  • 将显示弹出窗口。 选择0分区并格式化磁盘
  • 现在磁盘将为空,但系统无法识别。 但你可以在磁盘应用程序上看到。
  • 选择笔式驱动器并重新格式化。 现在任何系统都可以检测到pendrive。

接受的答案太复杂了,因为它需要大量的输入并记住特定的磁盘名称(否则你可能会遇到严重的问题)。 我的超级易于实施。

发现问题是由usb-creator-gtk的错误引起的。 在创建可启动媒体期间设置了不正确的块大小。

如果此错误影响您,您可以在此处标记: https : //bugs.launchpad.net/ubuntu/+source/usb-creator/+bug/1589028

这更容易。 只需将/dev/sdd替换为您的设备地址即可。 这可以在磁盘Gparted实用程序中找到。

 sudo dd if=/dev/zero of=/dev/sdd bs=2048 count=32 

然后,您可以使用Startup Disk Creator将映像刻录到驱动器。

我在Ubuntu上使用UNetbootin(旧版本和16.04),它在我的电脑上运行正常。 这是更多信息的链接。

 sudo apt-get install unetbootin 

尝试dd if=/path/to/my/ubuntuiso/ubuntu.iso of=/dev/sdb这样从来没有让我失望过。 (注意b最后不是b1 – 如果存在则会破坏其他分区)

您是否检查过ISO是否已损坏?

如果未在图形环境中登录,也可以从TTY执行此操作,这有助于跟踪问题。

编辑:您可以使用/dev/null覆盖分区表,而不是使用ISO。

关于块大小的抱怨可能是由于读取iso9660文件系统的软件中的错误引起的。 新版本的gparted已经发布,至少在Ubuntu 17.10中可用,这个版本被压缩了。


您可以使用mkusb 克隆驱动器。 此方法对驱动器的内容不敏感,因此非常可靠。

这也是非常安全的,因为mkusb’围绕强大但危险的dd命令缠绕一个安全带。 目标驱动器显示非常清晰,您有一个最终检查点,您可以仔细检查,您将安装到正确的驱动器(并避免错误)。

请访问此链接: https : //help.ubuntu.com/community/mkusb

如果它仍然不起作用,您可以尝试根据以下链接,

无法格式化我的USB驱动器。 我已经尝试过使用mkdosfs和gparted – 问题分析

请注意,您无需从格式化开始,因为mkusb无论如何都会覆盖驱动器的先前内容。 你可以直接进行

  • 从iso文件(或映像文件)或安装操作系统
  • 将驱动器还原到标准存储设备

选择答案时出现的问题 :插入时,笔式驱动器现在不可见。 (我在使用Lubuntu 16.04 64位)解决方案:打开Disks实用程序以安装它。

 In Lubuntu: Start menu > Preferences > Disks. 

对所选答案起作用的是,我们回到USB驱动器的旧方式,将可引导的ISO写入其中并仍保留可写的USB驱动器,剩余空间可用于存储其他文件(来自另一个现有的操作系​​统,其中我们没有运行实时操作系统)。 使用Startup Disk Creator从16.04开始,它正在擦除USB,创建一个类似于CD的只读分区,使得USB的剩余部分未分配(因此32GB驱动器成为900mb只读驱动器),而我无法在未分配的空间中创建任何辅助分区。

更新: Unetbootin似乎完成了这项工作,笔式驱动器仍然可见,插入时没有隐藏,磁盘的剩余部分仍可用于存储其他数据。 但是当我启动笔记本电脑时,磁盘没有被识别为可启动的USB! 我使用了Ubuntu版本的UNetBootin。

即使在全新的SSD上,我也遇到了同样的问题。 我使用了Linux Mint 18.1和Ubuntu 16.04 LTS ISO版本。 无论我重新载入ISO的次数,重写了ISO,并完成了上面提出的所有步骤来解决错误提及,它就不会消失。 奇怪的是我确实安装了Mint 18.1,并希望进行全新安装,但后来遇到了错误。 我甚至使用相同的USB记忆棒和SSD来安装Windows 10,然后使用Ubuntu 16.04 / Mint 18.1重写相同的USB磁盘AGAION并安装失败。 我的观点是ISO文件有问题,或者我的特定硬件不兼容。 我浪费了几个小时的生命。

** 解决方案:下载Ubuntu 17.04 ISO并安装。 在完全相同的硬件,相同的USB驱动器/棒上工作得很好,Ubuntu 16.04不会有任何硬件。****

显然错误在于错误地分开读取驱动器而不是dd命令或启动磁盘创建程序

有关分手的Debian Bug报告: https : //bugs.debian.org/cgi-bin/bugreport.cgi? video = 788808

解决方法:如果使用fdisk而不是parted,那么您将看到正确的分区。 使用fdisk而不是分开,直到修复了parted bug。

遗憾的是,许多这些GUI磁盘实用程序不仅允许您从USB中删除分区 ,而不仅仅是提示如下的愚蠢错误:

 Physical block size is 2048 bytes, but Linux says it is 512 bytes 

该错误对话框与此问题相结合:

 Would you like delete the partition table on this device (all data will be lost)? 

由于它不会这样做,您可以使用此命令立即自行完成:

 sudo sgdisk --zap-all /dev/sd? 

在执行上述命令之前,请确保以下两点:

  1. 确保终端已登录到您认为的计算机。
  2. 确保设备路径正确(请参阅上面命令中的问号,您需要将其更改为正确的设备路径)。

正如其他人所提到的,你可以找出设备路径:

 sudo fdisk -l 

在此之后,您可以继续使用您遇到此错误时使用的实用程序。

顺便说一下,针对这个问题的dd命令解决方案对我的需求来说太慢了。 我真正想做的就是摆脱那个错误,而不是等待dd将整个驱动器归零。