u 盘插到照相馆的电脑上,u 盘里资料会被ntfsu盘复制最后卡住吗?

为什么解压缩文件时往往需要先解压缩到系统盘里的临时文件夹下,然后再复制到目标文件夹?
这样做不是增加了移动的时间吗?
按投票排序
邀。 的理解是基本正确的。这其实只取决于解压软件的具体实现,并没有什么太多原理上的原因。当你把文件从压缩软件中「拖」出的时候,压缩软件并不知道被拖到了那里,只是接收了 Windows 发来的给定一个拷贝源的请求,所以必须要解压到某个地方,通常是临时文件夹,然后由 Windows 来完成移动到目标文件夹的工作。另外,有一些特殊情况也会解压到临时文件夹,比如你直接双击打开了压缩包中的文件运行的话,压缩软件依然要解压所有文件(除了一些确保可以独立运行的后缀以外),这时候只能解压到临时文件夹。还有就是目标文件夹来源是一个可移动介质,比如 U 盘。为了考虑到目标介质对于解压过程中动态的写入可能会连接不稳定以及闪存颗粒寿命等一系列因素,通常也会先解压到临时文件夹再拷贝进去。
平时日常使用时发现,右键压缩文件,解压缩,是会直接解压到当前文件夹或目标文件夹的。而如果直接将文件从压缩包里拖出来,则会先解压到系统的临时目录下,再复制到目标文件夹。同时,我们也发现,如果直接在压缩包里打开文件,所有有关联的文件也是被解压到临时目录下的。因此我猜测,差别就在于『拖动』这一操作上。可能是『拖动』操作调用了windows自身的接口,而该接口的功能本身可能是类似于复制(或者移动)的操作(比如从一个文件夹拖到另一个文件夹,从D盘拖到E盘等)。因而我们有理由大胆猜测,当我们把文件从压缩包里拖出来时,实际上是由操作系统的『拖动』接口『打开』了所有文件(所以解压到了临时文件夹下),并由操作系统把所有文件移动到目标文件夹下。以上纯属个人猜测。错了请轻拍。
就因为这个我也试过好几个软件 后来发现好压能直接解压到目标目录就没换过了 在此批评一下以winrar为主的软件 真呢吗反人类 解压大游戏简直虐心 好不容易解压完了 还要再复制一遍 花双倍时间
同意 @ 的观点(把名字粘进去同名太多召唤不到...)拖拽文件时候如果把目标窗口的进程杀掉之后解压完成文件会马上提示错误:“RPC服务器不可用”(win7下 7z + Windows资源管理器 测试)“拖动操作失败”(winrar+资源管理器;这很明显了...)如果用7z拖拽时候窗口仍然可以正常操作,但是如果当前所在目录路径改变过之后,就会提示“未指定的错误”(如果是拖拽到当前文件夹窗口空白区域)而且在winrar下拖拽压缩包内文件会导致目标窗口被挂起(点击无反应),双击里面的文件图标位置也会在文件解压复制完成后打开目测都是调用系统接口进行回调,为了操作安全,rar将目标窗口挂起(可能是用的注册的dll?)不直接解压到目标路径可能也是微软没有暴露那样的接口巨硬自己的解压zip的dll支持怎么玩都不会报错,而且也是直接解压到目标目录,而且好像也没有经过临时文件夹,不过既然是自家的东西那么就很好解释了,资源管理器为自家zip解压的dll暴露了那样一个接口...
在非移动介质情况下可以设置临时路径为\这样就是直接解压了!(吧
主要原因是失败了方便清理,就算清理失败也没关系。考虑一下原地解压如果反复解压失败清理不干净的感受吧,一堆奇怪的编号文件夹。系统的移动文件夹,在一个磁盘分区内被认为是常数时间复杂度地操作。这个假设导致没考虑跨分区的情况。
不同意顶楼说的。解压到临时目录是为了避免解压中失败,可以不会留下之前解压到一半的文件,而从临时目录再移动到目的地地址,其实是不需要真的文件移动的,只要改文件的指向就可以。但是,windows下蛋痛的是,你分区后,不同的driver之间移动文件还是要搬文件,要移动物理位置,这就导致了放临时目录再移动这种很傻的情况发生
也不一定非得是系统盘的临时文件夹,WINRAR临时目录的位置是可以指定的。以前系统盘小,一些固实压缩的大游戏双击打开就会失败,这时就可以把临时目录指定到空间大的盘里。具体到你说的拖放和双击打开,系统都要先把文件解压出来放在硬盘上的某个地方,然后才能呈现给你。如果软件设定把文件解压到内存后直接呈现,就可以省去临时文件夹了,但是对内存的大小和文件大小可能都有要求,限制过多。
以WINRAR为例,可以-右击-需要被解压缩的文件,然后拖动(右击未释放)至目标处释放右击,选择需要的解压操作,这样操作解压缩就不会经过临时文件夹的中转了。表达能力不是很好,哈哈。
建议使用bandizip,不会出现这种问题
已有帐号?
无法登录?
社交帐号登录0 如果是 Linux 系,简单说就是把 bootloader 安装好,把 fstab
修改好,然后把根目录(home 酌情考虑)拷贝过去,就可以了。如果要在别的机器使用,别忘了重建 initramfs 。Linux 用户请自行折腾 :-)Mac 没有使用过,请大神补充。下面默认题主指的是 Windows 系操作系统。下面的描述中使用 7 代替使用 NT 6 的内核的操作系统,使用 XP 代替 NT 5 的内核的操作系统。1 磁盘需要是在当前操作系统下格式化的。从 Windows Vista 开始,引导器从 ntldr 变成了 bootmgr ,如果在 XP 下格式化的磁盘在 7 下面使用, PBR 就找不到 bootmgr 了。2 如果是 XP ,直接拷贝系统卷的全部文件即可。如果是 7 :2.1 如果是 MBR/BIOS 方式引导,需要将 "系统保留"卷分配卷标,并拷贝里面的引导文件。并将系统分区的文件拷贝过去。需要修改拷贝过去的引导记录文件,否则无法将控制权从 bootmgr 移交到 winload 。请参考 bcdedit 修改。2.2 如果是 GPT/UEFI 方式引导,就没有办法实现了。因为 Windows 如果使用 UEFI 引导,只能使用 GPT 分区,而格式化的磁盘是 MBR 分区的。除非从其他地方找到 BIOS 引导的文件,本机拷贝过去是无法引导的。3 如果需要在其他机器上使用,需要卸载大多数驱动程序,否则很容易 BSOD 。
刚好家里有台闲置的台式机正在装系统,所以实际做了个实验:&br&&br&硬件配置:&br&&br&CPU:Intel I5 760&br&主板:华硕P7P55D&br&显卡:技嘉GV-N610-1GI&br&主硬盘:金士顿(Kingston)V300 120G&br&内存:金士顿4G*2&br&&br&其它配置略&br&&br&已经装好了WIN7的系统,手头有一个320G的移动硬盘,用ghost方式把整个C盘克隆到移动硬盘上,设置好MBR,确认WIN7使用MBR方式启动,然后,重启。&br&&br&开机的时候,一开始确实看到了Windows的开机画面,但很快,就看到了这个:&br&&img data-rawheight=&584& data-rawwidth=&589& src=&/7aa308601cafcba1adfd67fc_b.jpg& class=&origin_image zh-lightbox-thumb& width=&589& data-original=&/7aa308601cafcba1adfd67fc_r.jpg&&&br&其实我之前分析的时候就想到了这个结果,做实验只是为了验证结果,符合预期。&br&&br&然后开始讲讲为什么会这样,以下是技术分析,对技术不感兴趣的可以跳过:&br&&br&Windows启动的时候实际上分几个阶段进行的,boot阶段的时候并不是完全运行在保护模式下,从Windows泄露的代码上看boot阶段会在实模式和保护模式下来回切换几次,因为此时没有磁盘驱动,Windows需要使用int13h中断来读磁盘,当把主要的驱动都载入完以后,bootloader会把控制权交给Windows内核(NTOSKRNL.EXE),内核把通过bootloader载入的驱动都加载起来,开始进行后续的操作,而这个蓝屏就是死在这个位置上。&br&&br&bootloader需要加载开机必要的驱动,这个“&b&必要&/b&”二字是很重要的,如果bootloader加载全部驱动,那么负担太重,如果什么都不加载,那么内核很难运行(Windows不是宏内核结构,算是混合内核,内核文件不包括主要的驱动),所以Windows才有“最后一次正确配置”的说法,这个配置就是保存在注册表里的,bootloader通过访问注册表决定载入哪些驱动。一个安装在硬盘的Windows,最后一次正确的配置是,&b&通过IDE或者SATA控制器驱动来加载后续的文件&/b&,但一个基于USB运行的Windows需要的是&b&通过USB控制器和U盘驱动来加载后续的文件&/b&,但bootloader并不知道这一点,所以当把Windows移动到U盘上的时候,bootloader需要的配置并没有改变,所以&b&当bootloader交出控制权的时候,Windows的内核没办法访问磁盘,于是就挂了&/b&。&br&&br&=====================操作系统的分割线=====================&br&&br&关于Linux是否能这么做,我并不看好,可以确定的是内核镜像能正确加载,但剩下的模块是否能加载就不好说了,Linux里硬盘是hda/sda这些设备名,但USB好像不是这样的,各个路径能否正确挂载我觉得是一个疑问,有时间我会补充我Linux的实验,但折腾整个太麻烦了。&br&&br&MacOS我没有条件,估计需要用黑苹果了,手头没有条件。但是我认为同样困难很多。&br&&br&=====================总结的分割线=====================&br&&br&我认为大部分个人操作系统要这么做都很困难,原因是配置文件,大部分操作系统都需要保存上次的硬件配置,以备下次启动使用,而把操作系统从硬盘移动到U盘上,不仅仅是设备的变化,还包括加载这些设备的行为都发生的变化,SATA/IDE驱动和USB驱动可完全不是一回事,除非更改配置文件。&br&&br&=====================补充的分割线=====================&br&&br&Windows8有WIN8 to go,允许装到U盘上,但本质上说这是一个工具,而不是直接把Windows8复制到U盘上,所以这是有区别的,WIN8 to go实际上是通过写入正确的配置(比如在启动阶段加载USB驱动)的方法来加载系统,跟直接复制C盘数据有本质区别。&br&&br&补充一些其它的内容:&br&&br&MBR和UEFI方式有很大区别,有些BIOS里可以设置,UEFI需要面对的困难更多。&br&&br&WIN7开始有时候会单独创建新分区放bootloader和boot menu,如果是这样的话需要把这个分区也复制过去,否则是起不来的。&br&&br&所谓的“复制”,应该是用ghost等软件克隆,直接复制是不可能的,并且由于权限的问题不是所有文件都会被正确复制。&br&&br&Linux需要grub等内容一起复制过去。&br&&br&U盘要足够大,最好用移动硬盘(Windows里移动硬盘和U盘使用不同的上层驱动)。&br&&br&能想到的就这么多。&br&&br&最后,反对一下大部分回答,&b&题主问的是直接复制&/b&,Windows直接复制肯定是不行的。&br&&br&=====================Linux实现结果的分割线=====================&br&&br&实验过程如下:&br&&br&先在SSD上安装上Linux,版本是ubuntu 11.04,确认安装启动正常。&br&&br&重启,用克隆软件disk to disk方式克隆磁盘到移动硬盘上,重启,禁用SSD主硬盘。&br&&br&开机。&br&&br&嗯?黑屏?啥情况???&br&&br&多试了几次,还是黑屏。&br&&br&好吧,使用工具修复以下MBR,重启,还是黑屏??&br&&br&好吧,动用神器,扇区对拷,把SSD上前0x100000字节复制到移动硬盘上。&br&&br&重启,哎,有东西了,不过,不是你们想要的:&br&&br&&img data-rawheight=&557& data-rawwidth=&584& src=&/882c9f03b6e_b.jpg& class=&origin_image zh-lightbox-thumb& width=&584& data-original=&/882c9f03b6e_r.jpg&&&br&并且,键盘不能用(USB键盘),别的没试反正卡在这里也是不动了。&br&&br&实验到此为止。&br&&br&结论:直接复制(硬盘对拷)不管是Windows还是Linux都是不行的,建议有条件的试试MacOS再做结论。我只相信实验数据。&br&&br&&b&另外,不要再强调USB boot这类东西了,题主问的不是这种情况,U盘启动系统的方法很多,不用各位提醒我也是知道的&/b&。
刚好家里有台闲置的台式机正在装系统,所以实际做了个实验:硬件配置:CPU:Intel I5 760主板:华硕P7P55D显卡:技嘉GV-N610-1GI主硬盘:金士顿(Kingston)V300 120G内存:金士顿4G*2其它配置略已经装好了WIN7的系统,手头有一个320G的移动硬盘,用ghost方式…
这个和系统的引导方式关系非常大。&br&如果是传统的 BIOS 引导方式,启动系统的先决条件不少,首先 BIOS 必须要能把 USB 大容量存储设备模拟成 INT 13H 设备,然后设备本身必须满足 BIOS 硬盘方式启动的先决条件(主引导扇区55AA,活动分区存在,分区引导扇区正常)。而 BIOS 的 USB 传统设备支持是一个老大难的话题,各家 BIOS 的兼容程度并不一样,比如东芝的自有 BIOS 兼容性就很差。&br&一旦你的系统满足这些条件(1、BIOS 支持模拟 USB-HDD 2、U盘本身必须分区格式化为能供启动的状态),就可以从U盘启动系统,当然要启动的系统也必须配置好。&br&Linux 的网上方法一大堆,Windows XP 和 Server 2003 可以用 &a href=&///?target=https%3A//www.usboot.org/tiki-index.php& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&USBoot | Home&i class=&icon-external&&&/i&&/a& , Windows Vista 和 7 没有简单的办法,Windows 8 可以直接把 Windows 系统安装镜像 install.wim 恢复到 U 盘上。&br&&br&如果使用 UEFI 引导方式,和引导扇区关系就不大了,只要磁盘分区中有 UEFI 启动文件,就能启动。而具体在哪些分区里有启动文件就能启动,和具体的实现有关。
这个和系统的引导方式关系非常大。如果是传统的 BIOS 引导方式,启动系统的先决条件不少,首先 BIOS 必须要能把 USB 大容量存储设备模拟成 INT 13H 设备,然后设备本身必须满足 BIOS 硬盘方式启动的先决条件(主引导扇区55AA,活动分区存在,分区引导扇区正…
已有帐号?
无法登录?
社交帐号登录分享到微信
使用微信扫码将网页分享到微信
看看 Goolge 建立了多少个数据中心。搭建云服务,需要要众多的服务器吧?然而位于旧金山的 Piston 推出新产品 Cloud Key,把云服务装进了 U 盘。那么,Cloud Key 能否像 U 盘那样方便易用呢?
根据公司描述,当 Cloud Key 插进交换机后,只需要短短几分钟,用户就能够完成云计算平台 OpenStack 的设置。
为什么 Cloud Key 这么快?Piston CEO Joshua McKenty 解释说,Cloud Key 是用户“私有云”的“启动磁盘”。在 Cloud Key 里面,装了基于 Linux 开发的 PentOS。 当用户把 Cloud Key 插进交换机之后,PentOS 就能够自动启动,发现合适的服务器,并开始设置云服务。
有意思的是,Joshua McKenty 原为美国航空航天局(NASA)Nebula 计划的技术架构师,而 Nebula 是 OpenStack 的前身。NASA 在 Nebula 项目进行过程中决定将其开源,然后迅速与 Rackspace 展开合作,Nebula 的代码成为 OpenStack 的基础。
不过,Joshua McKenty 不是没有忧虑,在云服务领域,OpenStack 远远不是 VMWare 的云计算产品 VCloud 的对手。他说“OpenStack 之于 VMWare,正如 Linux 之于微软(Microsoft)。
Cloud Key 将于下星期召开的 OpenStack 大会上公布。
本文部分素材来自
使用微信扫码关注爱范儿微信公众号
关注爱范儿微信号,连接热爱,关注这个时代最好的产品。
想让你的手机好用到哭?关注这个号就够了。
关注玩物志微信号,就是让你乱花钱。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
直接将ghost系统盘里的文件拷贝到U盘里面可以装系统吗
下载积分:900
内容提示:直接将ghost系统盘里的文件拷贝到U盘里面可以装系统吗
文档格式:DOC|
浏览次数:52|
上传日期: 20:35:42|
文档星级:
该用户还上传了这些文档
直接将ghost系统盘里的文件拷贝到U盘里面可以装系统吗
官方公共微信

我要回帖

更多关于 ntfsu盘复制最后卡住 的文章

 

随机推荐