12
返回列表 发新帖
楼主: jshbkf
收起左侧

[已解决] U盘一个非常奇怪的问题、、、请大家进来看看

 关闭 [复制链接]
莱芜达人
发表于 2010-10-11 08:19:22 | 显示全部楼层
我是来学习的,俺用XP系统,从没遇到过此类问题。
qaz8436305
发表于 2010-10-11 09:07:11 | 显示全部楼层
还是换个吧 本人都用坏了好几个了 量产没几个成功的
you_you
发表于 2010-10-11 09:17:20 | 显示全部楼层
本帖最后由 you_you 于 2010.10.11 14:26 编辑
深入解析Win7设置U盘或者磁盘只读


  原来很多U盘有写保护开关,现在大多数没有了,USB硬盘也大都没有这个开关。不过现在的Windows7下要设置移动盘只读也方便,原理就是利用系统内置的DISKPART命令。
  
    一、使用内置的DISKPART命令。
  现在很多人也想设置移动硬盘写保护以防止病毒,其实diskpart命令提供了这个功能
  插上移动盘,在diskpart命令行下:
  list vol
  察看磁盘列表,假设要设写保护的磁盘的第一个分区是H,用命令选中磁盘:
  select vol h
  然后设置写保护:
  att vol set readonly
  好了,这样这个移动硬盘就写保护了,插到其他电脑上依旧写保护。当然这样操作也可以设置内置硬盘为写保护。
  如果想去掉写保护,在diskpart下:
  select vol H
  att vol clear readonly
  
    二、使用老树系统工具。

  老树系统工具是用于安装可到处移动、免维护系统的专用工具,具有了上述的功能,只有按一个按钮就行了。工具下载和更新,请访问:
http://blog.sina.com.cn/s/blog_638b649a0100jo71.html。如果你安装了VISTA以上的操作系统,直接运行老树的USBWDSK.EXE绿色软件:
(图1)


  
  如果系统没有安装Windows7,可是使用老树的PE工具盘,下载ISO镜像文件,刻录成为光盘。也可使用UltraISO制作成为可以起到U盘。该软件可以到华军软件园
http://www.onlinedown.net/,在其中键入”UltraISO”搜索下载。将USB盘插在电脑中,点击UltraISO的菜单:启动->写入硬盘,按“写入”,稍等几分种,这张“老树U工具盘”就制作完成了。启动后操作和桌面的老树系统工具软件一样。
(图2)  


  三、几点说明
  1、只有2003 sp2以上版本的diskpart支持这样操作(vista/win7的diskpart完全支持),xp的diskpart不支持。但在高版本的diskpart完后,在xp下写保护也是有效。
  2、如果是GPT(动态)分区表的磁盘,支持每个分区单独设置写保护,但操作系统在动态分区不能启动,所以不常用。
  3、属性为移动盘(常见u盘就是移动属性)可以用disk方式设置写保护,(只能sel disk方式,不能Sel Volume)但插到其它电脑上写保护无效,所以意义不大。好在U盘可以量产为固定盘,只要有合适的量产工具就行。量产为固定盘,还可以支持分区,当然,损失一些所谓“在线挂载和解挂”等一般用户少用的特性也无所谓。
  
  四、深度解析
  微软在卷管理驱动中实现了磁盘的只读属性。在DDK中,透露了下面一个数据结构:
  
typedef struct _VOLUME_SET_GPT_ATTRIBUTES_INFORMATION {
    //
    // Specifies  the  attributes that
    // are to be applied to the volume
    //
    ULONGLONG GptAttributes;

    //
    // Indicates whether  this is to be
    // undone when the handle is closed
    //
    BOOLEAN RevertOnClose;

    //
    // Indicates  whether the  attributes
    // apply  to all the  volumes  on the
    // disk that  this  volume resides on
    // Required if the disk layout is MBR
    //
    BOOLEAN ApplyToAllConnectedVolumes;

    //
    // For alignment purposes.
    //
    USHORT Reserved1;
    ULONG  Reserved2;

} VOLUME_SET_GPT_ATTRIBUTES_INFORMATION, *PVOLUME_SET_GPT_ATTRIBUTES_INFORMATION;

#endif  // NTDDI_VERSION >= NTDDI_WINXP

  其中GptAttributes是文档化了的,有下列四项属性。只是这个名称有意思,可能微软原来只是打算在GPT卷中才支持这个属性。
  GPT_BASIC_DATA_ATTRIBUTE_READ_ONLY
  GPT_BASIC_DATA_ATTRIBUTE_SHADOW_COPY
  GPT_BASIC_DATA_ATTRIBUTE_HIDDEN
  GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER。
  RevertOnClose意思是该设置是否永久有效。ApplyToAllConnectedVolumes指示是否GptAttributes是否对于所有的卷有效,这样需要在MBR写入标志信息。后面两个所谓校正目的的属性未公开,如果传NULL或者0,或者其他瞎猜的参数向卷句柄发IO控制码,将换回“参数无效”的错误。
  该函数在reactos开源项目中未实现。
  个人瞎猜,由于传统卷中,微软开始没有考虑实现只读属性,没有保留多余的标记位,因此,只好实现全盘的只读,但是MBR也没有预留标记位,因此只好将标记信息写入“不用”的保留磁盘扇区,这似乎不像微软的一贯传统。
  这个数据结构有NTDDI_VERSION >= NTDDI_WINXP这样一句,表示必须要XP以上NT操作系统支持,因此,使用上述方法标记只读的磁盘,只是在XP以上的NT系统有效,对于Windows2000,Linux等系统无效,对于绕过卷管理驱动的写比如 GHOST32也无效。

参考:http://www.ylmf.net/read.php?tid=1649682

北方星空
发表于 2010-10-11 10:48:11 | 显示全部楼层
不知道量产有什么用。装个pe在U盘,里面拷贝上系统不是一个样。
jshbkf
 楼主| 发表于 2010-10-11 13:21:53 | 显示全部楼层
本帖最后由 jshbkf 于 2010.10.11 13:23 编辑

回复 13楼 you_you 的帖子





用的是第一个方法
可恶的水印~!~







墨涵果果
发表于 2010-10-11 15:26:47 | 显示全部楼层
回复 1楼 jshbkf 的帖子

怀疑磁盘权限问题,参考此贴:http://bbs.kafan.cn/thread-811145-1-1.html
jshbkf
 楼主| 发表于 2010-10-11 19:53:20 | 显示全部楼层
墨涵 发表于 2010.10.11 15:26
回复 1楼 jshbkf 的帖子

怀疑磁盘权限问题,参考此贴:http://bbs.kafan.cn/thread-811145-1-1.html

那个U盘在我电脑上属性都没有   安全选项、、、
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-6-15 14:43 , Processed in 0.096429 second(s), 15 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表