自从这个问题, 我在用着:
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