调用安全删除硬件对话框的流行键盘快捷键是将目标用作:
Rundll32.exe Shell32.dll,Control_RunDLL HotPlug.dll
Run Code Online (Sandbox Code Playgroud)
调用此快捷方式时显示的对话框在 Windows XP 中运行良好。然而,在 Windows 7(64 位)中,我注意到出现了相同的旧对话框,但如果我选择停止任何插入的设备,我会收到错误消息。
示例截图:
这似乎适用于所有可移动 USB 设备,而不仅仅是这一特定设备。
但是,可以通过右键单击任务栏通知区域中的安全删除硬件并弹出媒体图标来删除相同的设备。
为什么这个旧对话框在 Windows 7(64 位)中不再起作用?是否有其他一些命令行调用可以用于相同的目的?
windows-7 keyboard-shortcuts rundll32.exe safely-remove-hardware
当您单击“安全删除硬件”以断开外部硬盘驱动器的连接时,Windows XP 会刷新驱动器的缓存并将其关闭。
另一方面,Windows 7 只刷新缓存,但不会关闭驱动器。
如何让 Windows 7 表现得像 Windows XP?
我有一台笔记本电脑,带有用于主操作系统驱动器的固态硬盘,以及用于存储的大型旋转磁盘。我目前有一个别名,用于在不使用驱动器时手动关闭驱动器(当然是在卸载之后):
sudo hdparm -y /dev/disk/by-id/ata-WDC_WD7500BPKX-80HPJT0_WD-WX31AB3N6985
Run Code Online (Sandbox Code Playgroud)
使用起来安全吗?hdparm
如果驱动器尚未同步或我忘记卸载它,会拒绝执行此操作吗?如果没有,有没有办法使用hdparm
(或其他实用程序)来检查这样做是否安全?
更新 -
尽管我很欣赏你们的两个答案,但它们对我一点帮助都没有,因为我已经尝试了无数种不同的 APM 和旋转时间设置值组合,除了 a) 不到 10 秒之外没有任何结果减速 b) 无减速但随机停车,或 c) 无减速或停车。我还尝试在网上搜索我的特定驱动器型号及其各自的 APM 值,但无济于事。
所以,我想要进入的方向是这样的:我需要找到一种方法来查看磁盘是否正在使用,以便我可以编写一个 systemd 服务。到目前为止我能想到的最接近的是lsof | grep /mnt/data
,或者一些这样的废话。但是,正如您所看到的,这远不理想。我想要一种实现此目的的方法,该方法不依赖于预定的安装点,也不依赖于我自己提供的答案中 lsof +D mntpoint 的 cpu 贪婪多次调用。
查看下面我的答案,了解我正在尝试做什么
我读过“无论如何把它拔出来”,我读过“你会后悔的”。
Windows 是否应该能够告诉我哪些程序正在使用该设备,并询问我是否要关闭这些程序?
我有一个 Marvell 驱动程序,在早期版本的 Windows 中,它在设备管理器的属性中显示了一个“策略”选项卡,但在 Windows 8/8.1 中不再显示。
它是这样的:
虽然它在 Windows 7 和 Vista 中呈现良好,但在 Windows 8 中不存在此新选项卡。我挖了出来,主要的罪魁祸首(?)是mv91xxm.dll
,它处理对话框。一个反编译器 (NikPEViewer) 向我展示了一个MFC 图标,一个名为的导出ESATAPortPropPageProvider
,并且它的原始名称是hotplug.exe
曾经。Marvell 的那些懒惰程序员从 2009 年开始就忘记更新这个文件了。
此对话框的主要用途是在 Marvell 控制器中启用驱动程序缓存模式并禁用 Windows 中的“安全删除”行为(对于连接到控制器的驱动器)。
我不知道如何解决该问题,也不知道是否更新或创建注册表项(我猜是 中的某些内容HKLM\System\CurrentControlSet\Services\mvs91xx
)或编辑某些文件。
任何形式的帮助表示赞赏。
注意: 我将驱动程序上传到 Mega,以防您想挖掘。
[更新 01-05-2014]
我通过官方网站给 Marvell 发了电子邮件,虽然他们是驱动程序的制造商,但他们不为无法在其网站上下载的驱动程序提供支持
尊敬的客户, Marvell 向最终用户发布的唯一经批准的驱动程序位于我们的网站上:
http://www.marvell.com/support/downloads/search.do
如果您要找的司机不在这里,那么我们不提供。
我们网站上的驱动程序是我们向最终用户提供的唯一支持 >(未与 Marvell 签订保密协议的客户)。
如果您有任何其他支持需求,请联系您的计算机制造商。谢谢你
使用该技巧添加TreatAsInternalPort
注册表项不起作用,主要是因为端口不是由 AHCI 的默认 Microsoft 驱动程序管理的。我的直觉说这也是因为微软在 Windows 8 中更改了这些驱动程序的配置值。
打开笔记本电脑后,我没有找到我的新录音(以前发生过一次,但我什么也没做,因为录音内容无关紧要)。我所有的旧录音都还在那里。SD 卡工作正常,没有读取错误,关于 SD 卡的错误为零。它只是不包含我的新录音,就像我从未做过一样。
我认为表格有问题,而原始数据仍在 SD 卡上。程序“RecoverMyFiles”没有帮助。如果可能,如何恢复 mp3 文件?
windows ×2
windows-7 ×2
dll ×1
drivers ×1
eject ×1
hard-drive ×1
hdparm ×1
linux ×1
mp3 ×1
rundll32.exe ×1
sd-card ×1
sleep ×1
task-manager ×1
windows-10 ×1
windows-8 ×1
windows-xp ×1