为什么 gparted 不经询问就启动 ntfsresize?

为什么 gparted 不经询问就启动 ntfsresize?

我刚刚启动了 gparted,其中一块外部硬盘连接到我的电脑上。像往常一样扫描分区,gparted 开始挂在 /dev/sdg 上,我听到我的外部硬盘上有很多磁盘活动。

这种情况已经持续了一段时间,我检查了进程列表,gparted 在我的分区上启动了 ntfsresize!

~> ps ax | grep ntfsresize
  701 pts/2    S+     0:00 grep ntfsresize
32758 pts/0    S+     0:00 sh -c ntfsresize --info --force --no-progress-bar /dev/sdg1
32759 pts/0    D+     0:04 ntfsresize --info --force --no-progress-bar /dev/sdg1

为什么它不先询问我便执行此操作?这不是一个潜在的非常有害的操作吗?这要花多长时间?这是一个很大的分区,我只是想检查一下,它已经花费了相当长的时间,我看不出有什么方法可以在不导致数据丢失的情况下中断操作。

编辑:我发现一个较旧的线程有一个可能的解决方案,但它似乎不适用于这种情况:http://crunchbanglinux.org/forums/topic/4059/gpartedntfsresize-issue/

我的硬盘分区表:

/m/o/opt> sudo fdisk -lu /dev/sdg
Disk /dev/sdg: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 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 identifier: 0xd3a6d496

   Device Boot      Start         End      Blocks   Id  System
/dev/sdg1              63  1953520064   976760001    7  HPFS/NTFS/exFAT

并将线程建议应写入硬盘的内容与已经存在的内容进行比较:

/m/o/opt>
echo 63 | awk '{printf("%c%c%c%c", $1%256,$1/256,$1/65536,$1/16777216)}' | hexdump -C
00000000  3f 00 00 00                                       |?...|
00000004

/m/o/opt> sudo dd bs=1 count=4 skip=28 if=/dev/sdg1 of=ntfs-reference
4+0 records in
4+0 records out
4 bytes (4 B) copied, 0.000196143 s, 20.4 kB/s
/m/o/opt> hexdump -C ntfs-reference 
00000000  3f 00 00 00                                       |?...|
00000004

所以一切都已经如我在论坛帖子中发现的那样了。

答案1

我想说这只是检查文件系统以了解其缩小能力的极限。

  • 来自 ntfsresize 手册

    -i, --info 使用此选项,ntfsresize 将确定理论上支持的最小缩小文件系统大小。大多数情况下,结果是文件系统上已使用的空间。Ntfsresize 将拒绝缩小到比此选项得到的大小更小的大小,并且根据几个因素,它可能无法缩小到非常接近这个理论大小。虽然您的数据完整性永远不会受到威胁,但仍然强烈建议在实际调整大小之前使用 --no-action 选项进行测试运行。实际上,最小的缩小大小通常约为“已用空间”+(20-200 MB)。还请考虑到 Windows 可能需要大约 50-100 MB 的可用空间才能安全启动。

    此选项不会对文件系统造成任何改变,分区以只读方式打开。

相关内容