问题标签 [hdd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3933 浏览

linux - 使用DD递归写入特定文件

我有一个要覆盖的硬盘驱动器,不是用空字节,而是用一条消息。

48 69 64 64 65 6e 20 =“隐藏”

到目前为止,这是我的命令:

注意:我也尝试过各种参数,例如 count 和 conv 无济于事

现在,这很好。当我运行时:

我可以看到前几个字节被覆盖,但是,其余的没有改变。我想递归地将“隐藏”写入驱动器。

0 投票
1 回答
1077 浏览

c++ - IEnumWbemClassObject::Next 方法不起作用

我正在尝试提供此 WMI 类 MSStorageDriver_FailurePredictData(HDD SMART 信息)中的特定属性。这是使用的代码:

我需要知道为什么 Next() 不能正常工作。

0 投票
1 回答
680 浏览

matrix - 在 HDD 上高效存储大型矩阵

我有许多大的 1GB+ doubles(浮点数)矩阵,其中许多0.0需要有效存储。我打算保留该double类型,因为某些元素确实需要是 a double(但如果它可以节省大量空间,我可以考虑更改它)。字符串标头是可选的。矩阵没有缺失元素、NaN、NA、空值等:它们都是doubles.

有些列会稀疏,有些则不会。稀疏列的比例因文件而异。

什么是 CSV 的节省空间的替代方案?对于我的使用,我需要将此矩阵快速解析为R,python Java,因此特定于单一语言的文件格式是不合适的。访问可能需要按行或按列。

我也不是在寻找商业解决方案。

我的主要目标是节省硬盘空间而不会耗尽io时间。导入后的 RAM 使用情况不是主要考虑因素。

0 投票
2 回答
1855 浏览

python - 在Python中更改字母后检测外部硬盘驱动器

我正在编写一个 Python 程序来扫描和跟踪几个外部硬盘驱动器上的文件。它将文件路径作为字符串保存在本地文件中。问题是有时当我将外置硬盘插入不同的计算机时,字母会发生变化,并且之前存储的路径将无用。如果插入了相同的硬盘驱动器但字母已更改,我想跟踪驱动器并更改本地记录。现在,我能想到两种可能:

  1. 在驱动器的根目录中保留一个标识文件并扫描所有驱动器号以检测具有正确标识文件的驱动器。
  2. 在开始时扫描所有字母以检测与本地记录相同路径的文件。如果找到,请识别驱动器。

我想知道是否有任何现有的 HDD(或分区)标识可用于访问驱动器(驱动器号除外)?

0 投票
1 回答
107 浏览

c++ - 为什么计算的可用和总驱动器空间上限为 2G?

我编写了一个目录信息实用程序,并且(因为我和我为收集和使用老式硬件而编写此程序的人)使它与 DOS 和 Windows 9x 以及 Windows XP/Vista/7/8 64 位兼容(因为我们也使用这些。)我遇到的问题是,在 Windows 9x 中,即使在更大的驱动器上,它也将可用驱动器空间和总驱动器空间报告为 2G(以及 1.9997 G)。在 Windows XP 及更高版本(32 位或 64 位)上,它会正确报告驱动器大小。当然,在 DOS 中,这不是问题,因为 DOS 中的最大大小已经是 2G。

我正在使用的代码是(DInfo.Path 是被访问的目录,[0] 是驱动器号 - A、B、C 等...):

DOS 存根中的代码与可执行文件的 Windows 部分之间的唯一区别是 _dos_getdiskfree 被替换为 _getdiskfree。我在上面的代码中使用了 unsigned __int32 变量(或者对于 DOS 代码使用 unsigned long)。我使用 32 位是为了兼容性,并在将 DOS 代码转换为 Windows 代码时尽可能减少代码的重写。在 Windows XP+ 中,我可能可以通过使用 __int64 变量来简化事情,但同样,我不确定 Windows 9x 是否会提供这些变量。我什至不确定 32 位版本的 Windows XP+ 是否允许它,并且真的不想研究它,只是稍微简化一下。即使在较旧的硬件上,它的循环速度也足够快。

使用 32 位整数的溢出和字节变量,大小应最大为 8 艾字节(千字节、兆字节、千兆字节、太字节、千兆字节、艾字节,以防您想知道),并且由于当前可用的最大驱动器以个位数测量TB,这个限制暂时不会造成问题。至少在我有生之年这样做是值得怀疑的。

0 投票
2 回答
4391 浏览

c++ - Get /dev/disk/by-id element from /dev/sd* element

I know that there is /dev/disk/by-id/ folder which contains links to /dev/sd* elements. I'd like to know, is there any way to get by-id element pointing to, for example, /dev/sda.

P.S.: yeah, I know that I can loop through elements in by-id folder and /dev/sd*, so that I can compare serial numbers and match them. But is there any better way?

EDIT: sorry for my mistake. It should be done in C/C++. UUID's were mentioned. That would be great, they are unique and so on, but how can I collect all the UUID's of one hdd? I mean the main, pointing to sda, for example, and partition UUID's, pointing to sda1, sda2 and so on.

0 投票
1 回答
652 浏览

python - ioctl HDIO_GET_IDENTITY 在 USB 存储设备上失败

我正在尝试获取通过 SATA 转 USB 适配器连接的 USB 硬盘驱动器的身份。我编写的小程序是用 Python 编写的,它使用了这个:

我在这里找到的方法

该方法在我的内部硬盘上成功运行,但我得到了

在我的 USB 连接硬盘上运行它时。

我找不到与此相关的任何内容 - 我假设 USB 连接的 HDD 的操作代码可能不同......

我差点忘了说我是从 Ubuntu 运行它的

谢谢,dragosmc。

0 投票
1 回答
294 浏览

java - Java 写操作 io_append io_write

我试图弄清楚java如何将字节写入磁盘。

如果我查看 Randomaccesfile 实现,它已经声明了一个本地方法,并在调用 write(byte[]) 时调用所述本地方法写入磁盘。

randomaccesfile 的源代码:http: //grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/io/RandomAccessFile.java#RandomAccessFile.writeBytes%28byte%5B%5D %2Cint%2Cint%29

我在 OpenJDK 内部搜索了 writeBytes,并在io_util.c Here the functions IO_Append(fd, buf+off, len);and IO_Write(fd, buf+off, len); are called 中找到了它。

这些函数可以在 io_util_md.h 中的 JDK 中找到适用于 Windows 和 Solaris

为什么我不能为 Linux 找到相同的东西?做什么io_appendio_write实际做什么?我找不到它们是如何实现的。

0 投票
1 回答
99 浏览

python - 逐行读取文件——对磁盘有影响吗?

我目前正在编写一个处理非常大(> 10GB)文件的python脚本。由于无法将整个文件加载到内存中,我现在正在逐行读取和处理它:

一旦脚本完成,它将经常运行,所以我开始考虑这种读取会对我的磁盘寿命产生什么影响。

脚本是否会逐行读取,还是会发生某种操作系统驱动的缓冲?如果没有,我应该自己实现某种中间缓冲区吗?经常敲击磁盘实际上是有害的吗?我记得读过一些关于 BitTorrent 快速磨损磁盘的文章,正是因为这种按位读/写而不是操作更大的数据块。

我在测试环境中同时使用 HDD 和 SSD,因此两个系统的答案都会很有趣。

0 投票
1 回答
9980 浏览

macos - mac 从睡眠模式恢复后运行苹果脚本

我希望我的 macbook 每次从睡眠模式恢复时都运行一个脚本。

我的代码非常简单:

我在 cd-rom 托架中安装了第二个 HDD,每次我从睡眠模式恢复时,我都能听到驱动器在旋转,即使它的当前状态没有安装。但是在驱动器上强制安装/弹出命令可以解决这个问题。唯一的缺点是我必须手动执行此操作;现在我想克服。

有人可以帮我解决这个问题吗?