购买了一个新的USB闪存盘(信息:Sandisk Cruzer Blade,32 GB容量)并尝试以下方法来测试磁盘如何记录其上的NTFS信息 .

1)对于新的U盘,请在CentOS 7.4和Windows 8.1中进行检查,发现它包含FAT-32文件系统的主分区 . 在CentOS下运行`fdisk'命令行工具,它会显示/ dev / sdq1块文件 . 可以使用以下命令安装U盘 .

$ mount /dev/sdq1 t

2)接下来我在Windows 8.1下将其重新格式化为NTFS u盘,然后通过`fdisk'工具在CentOS下进行检查,它显示了带有NTFS fs的/ dev / sdq1块文件 . 也可以使用以下命令安装U盘 .

$ mount.ntfs-3g /dev/sdq1 t

3)在上述两个步骤中,一切顺利 . 然而,接下来的步骤发生了一些奇怪的事情 . 我尝试使用以下命令清理CentOS下的信息 .

$ dd if=/dev/zero of=/dev/sdq bs=1M count=1024

并将U盘插入Windows 8.1,它提示u盘需要格式化,我只需按照步骤将其格式化为NTFS分区 . 花了一点时间完成任务 . 然后我插上了U盘,将其插入CentOS系统并运行`fdisk'命令 . 令人惊讶的是,它提示了一个无效的分区表 . 分区表消失了!!

Disk /dev/sdq: 31.3 GB, 31331450880 bytes, 61194240 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x73736572
This doesn't look like a partition table
Probably you selected the wrong device.
   Device Boot      Start         End      Blocks   Id  System
/dev/sdq1      1920221984  3736432267   908105142   72  Unknown
/dev/sdq2   ?  1936028192  3889681299   976826554   6c  Unknown
/dev/sdq3   ?           0           0           0    0  Empty
/dev/sdq4        27722122    27722568         223+   0  Empty

执行`file'命令,发现U盘上存在有效的文件系统 .

$ file -s /dev/sdr

/dev/sdr: x86 boot sector; partition 1: ID=0x72, starthead 13, startsector 1920221984, 1816210284 sectors, code offset 0x52, OEM-ID "NTFS    ", sectors/cluster 8, reserved sectors 0, Media descriptor 0xf8, heads 255, dos < 4.0 BootSector (0x0

并且可以使用文件名`/ dev / sdq'挂载fs .

$ mount.ntfs-3g /dev/sdq t
$ echo $?
0

4)用CentOS下的`dd'工具重新清理U盘中的东西,并在windows 7 SP1下格式化仍然遇到类似的问题 .

Disk /dev/sdq: 31.3 GB, 31331450880 bytes, 61194240 sectors

单位=扇区1 * 512 = 512字节扇区大小(逻辑/物理):512字节/ 512字节I / O大小(最小/最佳):512字节/ 512字节磁盘标签类型:dos磁盘标识符:0x6e697373`

This doesn't look like a partition table
Probably you selected the wrong device.

   Device Boot      Start         End      Blocks   Id  System
/dev/sdq1   ?  1936269394  3772285809   918008208   4f  QNX4.x 3rd part
/dev/sdq2   ?  1917848077  2462285169   272218546+  73  Unknown
/dev/sdq3   ?  1818575915  2362751050   272087568   2b  Unknown
/dev/sdq4   ?  2844524554  2844579527       27487   61  SpeedStor

Partition table entries are not in disk order

$ file -s /dev/sdq
/dev/sdq: x86 boot sector, code offset 0x52, OEM-ID "NTFS    ", sectors/cluster 8, reserved sectors 0, Media descriptor 0xf8, heads 255, dos < 4.0 BootSector (0x0)

$ mount.ntfs-3g /dev/sdq t

$ echo $?
0

质询

i)两个版权下的NTFS分区是做什么的?如果分区表被销毁,如何在U盘上记录NTFS分区?

ii)有人可以给我看一个shell脚本来检测磁盘中有多少个分区并打印每个分区的文件系统类型?