最近在学习文件系统,突发奇想想给U盘分个区,发现用DiskGenius分出两Fat32的主分区发现只能显示一个
后来在百度知道找到一个比较靠谱的答案——windows下U盘只能显示第一个分区(原理没说)
不过其他分区还是有存在的,用winhex可以看得到
而且分区的顺序跟在 u盘mbr0扇区的分区表有关(通过windows自带的快速格式化会把mbr给清没了 只留下dbr)
后来在百度知道找到一个比较靠谱的答案——windows下U盘只能显示第一个分区(原理没说)
不过其他分区还是有存在的,用winhex可以看得到
而且分区的顺序跟在 u盘mbr0扇区的分区表有关(通过windows自带的快速格式化会把mbr给清没了 只留下dbr)
于是就有了这个更给分区顺序的小程序(更改第一分区与第二分区)
主要缺陷:1.没有判断有没有第二分区
2.U盘要拔下再插上才能显示另外一个分区
备注:环境 win7 + VS2008 U盘金士顿8g
看雪上有人说要 发送FSCTL_LOCK_VOLUME给设备
测试了一下貌似不用
`bRet = DeviceIoControl(
hDisk,
FSCTL_LOCK_VOLUME,
NULL,
0,
NULL,
0,