最近在学习文件系统,突发奇想想给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,
Output,

本文介绍了一个用于调整U盘分区顺序的小程序,尤其是在Windows 7环境下使用VS2008。虽然程序存在未检查第二分区和需重新插入U盘的缺陷,但通过DeviceIoControl函数似乎不需要发送FSCTL_LOCK_VOLUME控制码。实验结果显示,调整分区后,原本不可见的第二分区变得可见。
最低0.47元/天 解锁文章
690

被折叠的 条评论
为什么被折叠?



