问题标签 [sector]

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 投票
8 回答
189042 浏览

windows-7 - 如何确定 Windows 中的扇区大小?

如何确定 Windows 7 中的物理扇区大小(例如,如果我有一个具有 4,096 字节扇区而不是传统 512 字节扇区的高级格式驱动器)?

我知道通过单击文件并获取属性,我们可以找到 NTFS Cluster Size,但这与硬盘驱动器的扇区大小不同。

注意:我们询问 Windows 7 是因为它(和 Windows Vista SP1)了解 4096 高级格式硬盘的存在。

0 投票
2 回答
379 浏览

windows - Windows:直接写入 CD-R 扇区

是否有任何库或 Windows API 函数可以直接写入 CD-R 的扇区?我可以使用 Windows API 提供的 ReadFile 函数从驱动器中读取扇区,但在驱动器上使用 WriteFile 函数似乎只是将磁盘标记为正在使用(在执行在 CD 上使用 WriteFile 的程序之后- R,在我重新启动系统之前,我无法将文件刻录到磁盘上或将其弹出)。当我重新启动系统时,磁盘上没有数据。打开磁盘驱动器进行写访问并使用磁盘驱动器句柄调用 WriteFile 函数不会产生系统错误。

0 投票
2 回答
1955 浏览

assembly - 从 CD 加载扇区

我是操作系统设计的新手,到目前为止已经设计了一个“操作系统”(实际上只是一个引导扇区),并决定尝试制作一个独特的引导加载程序和“内核”(仍然非常简单)。我的问题很简单,但通过谷歌搜索和搜索这个网站设法避开了我(好吧,我确实找到了一个类似的问题,但答案是模糊/高级让我能够使用它)。

我看过 int 0x13 AH=02,但它使用了轨道,我认为 CD 没有用。我在某处看到我应该使用扩展读取扇区 (AH=0x42),但我不知道如何使用它,因为我看不到我可以指定读取哪个扇区以及该扇区应该在 RAM 中的哪个位置.

这是一个问题:如何从使用 El Torito 无仿真的 CD 加载扇区。如果您能以“最简单的形式”给出答案,并尝试提供一些代码,我将不胜感激,因为我对此并不陌生。提前致谢!

编辑:

我不知道你是否需要它,但我使用的是 NASM 语法,所以如果你能在 NASM 中给我答案,那就太好了。

0 投票
1 回答
946 浏览

c - 如何从带有扇区的软盘中读取块?

我需要从预操作系统状态读取软盘,并且我有一个要读取的功能,但它似乎无法读取第 4 个扇区...

知道为什么吗?我是否错误地从块转换?

0 投票
2 回答
3006 浏览

assembly - 组装 - 读取虚拟磁盘的下一个扇区

作为世界上至少有一次在他/她的生活中的程序员,我正在尝试创建我的“革命性”,新的和唯一的操作系统。:D

好吧,我正在使用一个虚拟模拟器(Oracle VM Virtual Box),为此我创建了一个新的未知操作系统,带有一个 vmdk 磁盘。我喜欢 vmdk 因为它们只是普通文件,所以我可以将引导加载程序粘贴到虚拟硬盘的前 512 个字节上。

现在,我正在尝试读取该虚拟磁盘的下一个扇区,我将在该扇区上粘贴一个显示消息的简单内核。

我有两个问题:

  • 我是否正确读取了第二段(前 -512 字节 - 被引导加载程序占用)? 代码:

    在这里,我在检查 CF 后收到错误消息。但是,如果我使用 INT 13, 1 来获取最后一条状态消息,则 AL 为 0 - 因此不会保存任何错误。

  • 我是否将我的简单内核粘贴到 vmdk 内的正确位置?我所做的是将它粘贴在文件的第 512 个字节之后,正如我所说,前 512 个字节是引导加载程序。该文件如下所示:

    /li>

所以,这就是我试图将内核添加到第二个扇区的方式。你认为这有什么问题?谢谢!

更新

好的,我现在没有收到任何错误,但我没有看到正在执行的加载代码。它应该在窗口上显示一个点:

0 投票
1 回答
763 浏览

c++ - Windows XP 上用于高级格式硬盘的物理扇区大小

我需要检索硬盘的物理扇区大小,以确定硬盘是否为高级格式,在 Windows XP 中。

我尝试使用STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR,但它在 Windows XP 中不兼容。我使用的任何方法都将返回 512 而不是 4096,其中包括 WMI,其中返回的唯一值是 512。

我一直在用 C++ 进行编码,如果有人能指出一种方法来帮助我找到实际的物理扇区大小,我将非常感激。

0 投票
3 回答
346 浏览

string - 汇编和 BIOS 中断中的字符串缓冲区

我正在尝试将字符串写入硬盘的第 2 扇区。它似乎失败了。这是我目前拥有的代码:

谢谢你们!

0 投票
3 回答
1264 浏览

c++ - 找到一个扇区内部的点

已解决:请参阅我的答案

我试图找到一个位于弧内部的点,因此当发生洪水填充时,它不会意外填充弧外的区域。只要两个角之间距离的绝对值:start和end;小于 PI 这有效(有几个极端的边缘情况,其中绘制的线非常接近,以至于选择的点是这些线的一部分,但那是不同的一天......)。

我遇到的问题是,当开始角和结束角之间的距离的绝对值大于 PI 时,洪水发生在弧的外部而不是内部。许多例子之一是:如果弧从 0 开始并以 3PI/2 结束,则距离的绝对值为 3PI/2,泛光发生在角度之间,就好像绝对值距离为 PI/2 并泛滥整个屏幕除了吃豆人形的弧线。

编辑:

为避免混淆,这里是根据 allegro(以及一般的三角学)定义的弧:

void arc(BITMAP *bmp, int x, y, fixed ang1, ang2, int r, int color);

以逆时针 [sic] 方向绘制圆弧 [减去初始/终止边或中心点],中心 [sic] x, y 和半径 r,从角度 a1 开始,在到达 a2 时结束......零位于中心 [sic] 点的右侧,较大的值从那里逆时针旋转 [sic]。

方括号是我的符号。

我已经处理了从 allegro 的(愚蠢的)使用fixed integers转换为正确的radian值。

结束编辑

0 投票
2 回答
1377 浏览

windows - 从卷偏移或扇区获取文件名(Windows)

我正在开发一个上卷过滤器驱动程序,它监视卷的读/写块。当发生任何读/写时,我会从中获取卷偏移和第一个扇区(LBA)。如何使用 C/C++ 从卷偏移或第一个扇区获取文件名?任何形式的帮助表示赞赏。提前致谢。

0 投票
1 回答
987 浏览

c++ - 如何以编程方式读取/写入 ISO 文件的某些 LBA 上的扇区?

我想使用 C++ 或其他本地编程语言使用逻辑块寻址 (LBA) 读取/写入 ISO 上的扇区。例如,我想读取 ISO 文件的自定义 LBA。这可能吗?如果可以,我该怎么做?