catface
驱动小牛
驱动小牛
  • 注册日期2009-01-11
  • 最后登录2014-03-09
  • 粉丝1
  • 关注1
  • 积分155分
  • 威望1341点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分2分
阅读:1958回复:2

求助 关于切换系统卷 发生MFT错误问题

楼主#
更多 发布于:2012-02-02 16:24
我自己有两个卷对应磁盘上的C分区
我在系统运行时使用DefineDosDevice (DDD_RAW_TARGET_PATH,‘C’。。。
将分区切换到另一个卷路径时候 安装程序 有概率发生MFT或者文件夹路径错误
 
怀疑是切换卷路径后 需要刷新系统缓存中的MFT等元文件
我试过LOCK VOLUME 及DISMOUNT 卷 可以引起分区的MFT元文件重新读取
但是针对系统卷无效
 
问题如下
1、 如何刷新系统缓存  使得系统重新从硬盘读取MFT?
2、 如何系统运行时  动态进行卷重定向  C:\Program Files 定向到  D:\Program Files 诸如此类
请大牛指教
 
啤酒肚
驱动牛犊
驱动牛犊
  • 注册日期2005-11-03
  • 最后登录2024-03-29
  • 粉丝0
  • 关注0
  • 积分38分
  • 威望381点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2013-11-19 18:28
文件系统机制支持解析点,建立解析点可以达到重定向的目的。

Irp->IoStatus.Status = STATUS_REPARSE;
    Irp->IoStatus.Information = IO_REPARSE;
啤酒肚
驱动牛犊
驱动牛犊
  • 注册日期2005-11-03
  • 最后登录2024-03-29
  • 粉丝0
  • 关注0
  • 积分38分
  • 威望381点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2013-11-19 18:30
函数返回  return STATUS_REPARSE;,表明碰到了解析点。对象管理器要用新的名字重新解析一遍文件路径。这样就达到了重定向目的。
游客

返回顶部