Gparted 无法创建分区表,因为闪存驱动器是只读的

Gparted 无法创建分区表,因为闪存驱动器是只读的

总的来说,我想制作一个安装 Windows 10 的实时 USB 驱动器。最初我使用 unetbootin 来做到这一点,它似乎工作正常。然后我尝试从该 USB 棒启动,但启动菜单中没有显示任何内容。所以我再次使用 gparted 检查,它说整个棒没有分区:

未分配分区

尝试添加新分区时出现此信息:

未找到分区表

尝试创建新的分区表时出现以下情况:

错误 1

当按下“重试”时,我得到以下信息:

错误 2

我找到了解决方案在线我用 mkusb 删除了该棒的第一个兆字节,但并没有改变任何东西。

我的 USB 驱动器是否损坏了?或者我还能保存它吗?

答案1

总结~ 只需使用 Ubuntu 的启动盘创建器并将 Windows ISO 直接写入 USB,这样做,sudo dmesg如果您的 USB 出现则表示它没有损坏,在这种情况下不会创建表格。

这是一个兔子洞,它可能会螺旋式地延伸到其他几个兔子洞,你要处理的不仅仅是眼前的问题。所以我会尽力帮助你,因为我以前也走过那条路。

首先,我来快速解释一下。

  1. 磁盘可以有不同的分区表,有时是 MSDOS,有时是 GPT,您可以在其上创建其他分区。整体表和其格式之间存在差异。例如,您可以有一个 MSDOS 表,然后在该表上将其划分为几个分区。该表几乎决定了如何在该驱动器上查找信息。对于可启动 USB,很多时候他们只是使用 ISO 可写入 USB 并擦除您最初的表,如果您不知道,这会让它看起来好像坏了。

  2. 在尝试执行此操作时,您可能擦除了表,现在您正尝试创建一个新表,同时可能还在处理其他问题,例如正在安装。因此,请始终记住,您无法在安装驱动器时对其进行操作。

因此要添加更多信息。

  1. 输入sudo dmesg。如果 USB 出现,则说明您的 USB 没有损坏。如果没有,则表示 USB 已损坏。 dmesg是一个低级 Linux 命令,可显示您的所有硬件活动。

  2. 确保它已卸载。您可以使用命令行执行此操作sudo umount,也可以从 执行此操作gparted

  3. 如果您不知道,分区和表本身是有区别的。从历史上看,大多数设备都是 MSDOS 格式的,但新标准是 GPT。无论如何,您必须先创建表本身,然后才能在其上创建分区。您也可以通过gparted单击设备并创建新表来执行此操作。之后,您将能够创建分区。再次确保您已卸载它。

  4. 如果您的操作在 中不起作用gparted,请从命令行执行。使用dmesgfdisk -l查找 USB 名称,然后使用umount卸载它,然后使用mkfs -t ntfs /dev/*格式化并创建分区本身。但不要只是复制我在这里写的内容,请对该命令进行更多研究并确保正确格式化它。

另一个需要考虑的非常重要的事情是:UEFI 是磁盘一致性的新标准,大多数新磁盘默认带有 GPT 表。因此,即使您正确执行了所有操作并且它“工作正常”,如果您的 BIOS 设置为安全启动,它只会识别 GPT 格式的 USB,如果是 MSDOS,它将无法识别。所以也要确保这一点。要么禁用安全启动并在 MSDOS 中启动它,要么启用安全启动并确保它以 GPT 格式格式化。

我想根据您要执行的操作添加更多信息,因为我已经陷入了可启动 USB 的困境,尝试使用 Windows 可能会变得很复杂。您提到使用unetbootin,所以我只能假设您正在尝试创建多启动 USB,否则只需使用 Ubuntu 启动盘创建器并将 ISO 直接写入您的 USB。

  1. 如果您只想创建一个可启动的 USB,那么只需按照 Microsoft 网站上的说明操作即可,这些说明非常简单。但是看到您正在使用,unetbootin我只能假设您正在尝试创建一个具有多个操作系统的 USB。如果不是这种情况,那么只需按照 Microsoft 说明操作,或者只需下载 ISO,打开它并将其内容复制到 USB 即可启动。

  2. 我自己花了好几天才弄清楚这一切,我尝试了市面上所有的工具,但没有一个能真正在 Windows 上创建多启动 USB,至少在 Linux 上不行。最后我做了以下事情。

  3. 我在 USB 上创建了一个 MSDOS 分区表,然后在其上创建了 2 个分区,一个用于不同的 Linux 安装,一个用于 Windows 安装。

  4. 完成此操作后multibootusb,使用 或其他任何方式将任何 Linux 发行版安装到第一个分区。然后打开 Windows ISO 并将内容复制到第二个分区。

  5. 之后编辑 grub 菜单项并链式加载到第二个分区,找到 Windows 的菜单项并将其更改为如下内容:

    menuentry Windows {
        insmod ntldr
        search -n -l Windows -s
        ntldr /bootmgr 
    }
    
  6. 这样,您就可以从第一个分区链式加载到第二个分区,同时打开 Windows,然后创建一个可以启动任何内容的 USB。您可以阅读更多有关链式加载的内容,但其概念是,您尝试将菜单项添加到 grub 菜单中,该菜单项将从第二个分区(包含 Windows 的分区)启动。

重要提示:请注意,这仅适用于 MSDOS,不支持 GPT 分区,因此请确保在 MSDOS 中格式化它们。我找不到从 MSDOS 到 GPT 的链式加载方法,甚至尝试结合 syslinux 和 grub,因此请确保分区在 MSDOS 中。

希望有所帮助。

相关内容