将 USB 闪存盘恢复为标准状态,以便在 Linux、Windows 等环境中使用

将 USB 闪存盘恢复为标准状态,以便在 Linux、Windows 等环境中使用

自从这个问题, 我在用着:

dd if=/dev/zero of=/dev/sdb bs=1M                  # wipe the disk
fdisk /dev/sdb <<< $'n\np\n\n\n\nt\nb\np\nw\n'     # create a partition 
mkfs.fat /dev/sdb1                            # FAT format the partition

擦除USB闪存驱动器并将其恢复到某种状态,以便可以在Linux、Windows、电视录像机等上使用。

但通常情况下,在 Windows 上重新启动后,它会要求我再次格式化磁盘(就好像它没有正确重新初始化一样)。

这是正确的还是您通常会制作 FAT直接在/dev/sdb

mkfs.fat /dev/sdb

USB闪存驱动器的标准是什么,才能被所有主要操作系统接受?

答案1

遗憾的是这个问题没有好的答案。闪存驱动器上是否需要分区取决于计算机的固件以及驱动器芯片上 USB 协议的特定实现。如今,大多数组合都可以应对分区,但并非全部。

出于同样的原因,将棍子的开始归零dd可能不是一个好主意。 Linux 或 *BSD 上的后续版本fdisk可能会检测到与初始版本不同的逻辑几何结构,这可能与 Windows 期望的不同。这是造成您所看到的情况的最可能的原因,并且没有通用的方法来解决此问题。在现有分区上运行newfs/mkfs应该相对安全,但运行fdisk可能不是。

相关说明:SD 卡也是如此,尤其是大容量卡。fdisk如今,在 SDXC 卡上运行实际上可能会使其无法使用。

答案2

我通常在桌子周围放置一些 USB 闪存盘,以便在需要时在计算机之间使用,并且大多数闪存盘都具有外FAT文件系统。与 FAT32 相比,exFAT 文件系统没有文件大小限制(最大 4GB)和/或分区大小(最大 16TB)。

它们就像 Linux、Mac Os X、Windows 之间的魅力一样......

对于 Mac OS X 和 Windows,它们开箱即用。对于某些 Linux 发行版,您可能需要安装一些软件包来支持它们...例如 Ubuntu (Debian):

 sudo apt-get install exfat-fuse exfat-utils

相关内容