购买了新的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
fs可以使用文件名`/ dev / sdq'挂载。
$ 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脚本来检测磁盘中有多少分区并为每个分区打印文件系统类型吗?