我有一个钢笔驱动器和一个分区:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
└─sda1 8:1 0 931.5G 0 part /
sdb 8:16 1 7.5G 0 disk
└─sdb1 8:17 1 7.5G 0 part
我用命令格式化:
# mkfs.fat -n A /dev/sdb
而且效果很好。
但之后,我浏览了mkfs的手册页:
mkfs is used to build a Linux filesystem on a device, usually a hard
disk partition. The device argument is either the device name (e.g.
/dev/hda1, /dev/sdb2), or a regular file that shall contain the
filesystem. The size argument is the number of blocks to be used for
the filesystem.
它说mkfs
应该使用分区号。我的问题是为什么我的操作工作没有错误提示?
发布于 2017-02-22 23:56:42
在整个磁盘上而不是分区上创建文件系统是可能的,但不寻常。文档只显式地提到分区,因为这是最常见的情况(它说通常是这样的)。您可以在任何足以像固定大小文件的文件系统上创建文件系统,也就是说,如果您在某个位置写入数据并从同一位置读取数据,那么您将得到相同的数据。这包括整个磁盘、磁盘分区和其他类型的块装置,以及常规文件(磁盘映像)。
执行mkfs.fat -n A /dev/sdb
之后,磁盘上就不再有分区了。请注意,内核仍然认为磁盘有分区,因为它将分区表缓存在内存中。但是您不应该再尝试使用/dev/sdb1
了,因为它已经不存在了;向它写入将破坏您在/dev/sdb
上创建的文件系统,因为/dev/sdb1
是/dev/sdb
的一部分(开始时只有几百个字节除外)。以根用户身份运行命令partprobe
,告诉内核重新读取分区表。
虽然在整个磁盘上创建文件系统是可能的,但我不建议这样做。有些操作系统可能会出现问题(我认为Windows可以应付,但有些设备,例如照相机),您就失去了创建其他分区的可能性。另见无分区文件系统的优点
https://unix.stackexchange.com/questions/346826
复制相似问题