小编Ter*_*rry的帖子

如何判断Windows用于引导的磁盘

我需要找到一种方法来以编程方式确定Windows用于引导的磁盘驱动器.换句话说,我需要一种来自Windows的方法来确定BIOS用于启动整个系统的驱动器.

Windows是否公开了一个界面来发现这个?随着Windows API的大小,我希望那里埋藏着一些可以解决问题的东西.

特里

ps只是读取硬盘的第一个扇区并不是在陶醉任何东西.在我的开发盒上我有两个硬盘,当我查看任一硬盘上前几个扇区的内容时,我有一个标准的锅炉板MBR.

编辑以澄清一些事情.我想识别设备的方式是使用字符串来识别物理磁盘驱动器(而不是逻辑磁盘驱动器).物理磁盘驱动器的格式为"\\.\ PHYSICALDRIVEx",其中x是数字.另一方面,逻辑驱动器由形式为"\\.\ x"的字符串标识,其中x是驱动器号.

编辑以讨论抛出的一些想法.知道Windows用来启动哪个逻辑卷对我没有帮助.这就是原因.假设C:正在使用镜像RAID设置.现在,这意味着我们至少有两个物理驱动器.现在,我获得了从逻辑驱动器到物理驱动器的映射,我发现该卷使用了两个物理驱动器.Windows使用哪一个启动?当然,这假设用于引导的Windows物理驱动器与包含MBR的物理驱动器相同.

windows mbr

9
推荐指数
3
解决办法
8万
查看次数

启动后的寄存器状态

我正在使用x86机器上的引导加载程序.

当BIOS将MBR的内容复制到0x7c00并跳转到该地址时,寄存器的内容是否有标准含义?寄存器是否有标准值?

我知道段寄存器通常设置为0,但有时会为0x7c0.其他硬件寄存器怎么样?

boot bios

7
推荐指数
1
解决办法
190
查看次数

修改Windows的MBR

我需要修改Windows的MBR,我真的很想从Windows中做到这一点.

这是我的问题.我知道我可以通过调用CreateFile来获取物理设备的句柄.MBR会不会出现在\\.\ PHYSICALDRIVE0?另外,我还在学习Windows API直接从磁盘读取.readabsolutesectors和writeabsolutesectdors是我需要用来读/写包含MBR的磁盘扇区的两个函数吗?

根据我自己学到的东西进行编辑.MBR并不总是在\\.\ PHYSICALDRIVE0上.此外,您可以通过使用包含MBR的驱动器的设备名称调用CreateFile来写入引导扇区(至少作为XP上的管理员).此外,您只需调用WriteFile并传递通过调用CreateFile创建的设备句柄即可写入此驱动器.

编辑以解决Joel Coehoorn.我需要编辑MBR,因为我正在开发一个项目,需要在BIOS中POST后修改硬件寄存器,但是在允许Windows启动之前.我们的计划是通过修改引导加载程序以在Windows启动之前执行我们的代码来进行这些更改.

编辑Cd-MaN.谢谢(你的)信息.但是,你的答案中没有任何内容,我不知道,你的答案也没有解决我的问题.特别是注册表绝对不会出于多种原因而做我们需要的事情.最重要的原因是Windows是将与我们的产品一起运行的多个软件层中的最高层.这些更改甚至需要在较低级别运行之前发生,因此注册表将无法工作.

PS为Cd-MaN.据我了解,您提供的信息不太正确.对于Vista,我认为如果写入的扇区是引导扇区,则可以写入卷.请参见http://support.microsoft.com/kb/942448

windows mbr

7
推荐指数
2
解决办法
1万
查看次数

在Windows上确定磁盘几何

我需要以编程方式确定Windows XP中物理磁盘上有多少扇区,磁头和柱面.有谁知道确定这个的API?Windows可能会在哪里公开这些信息?

windows winapi hard-drive

5
推荐指数
1
解决办法
2290
查看次数

使用Windows批处理文件安装.inf文件

右键单击.inf文件时,您可以选择"安装".我想使用批处理文件从命令行安装.inf文件.这样做的"正确"方法是什么?

谢谢!

[编辑]我应该澄清一下,我试图在Windows XP(而不是Vista)上运行它.虽然我赞成(和投票)以下答案提到InfDefaultInstall.exe,我相信程序不是随XP一起提供的.

windows

5
推荐指数
1
解决办法
4万
查看次数

Windows和连续扇区上的文件

有没有办法保证Windows上的文件(使用NTFS文件系统)将使用硬盘上的连续扇区?换句话说,文件的第一个块将存储在某个扇区中,文件的第二个块将存储在下一个扇区中,依此类推.

我应该补充一点,我希望能够以编程方式创建此文件,因此我不想让用户在创建此文件后对其硬盘进行碎片整理.如果有一种方法可以通过编程方式对我创建的文件进行碎片整理,那么也可以.

windows filesystems

4
推荐指数
1
解决办法
887
查看次数

Windows XP上的不可移动文件

当我对我的XP机器进行碎片整理时,我注意到有一块"Unmovable Files".有没有我可以使用的文件属性使我自己的文件不可移动?

只是为了澄清,我想要一种方法以编程方式告诉Windows我创建的文件应该是不可移动的.这是可能的,如果可以的话,我该怎么做?

谢谢,

特里

windows filesystems

3
推荐指数
1
解决办法
8247
查看次数

标签 统计

windows ×6

filesystems ×2

mbr ×2

bios ×1

boot ×1

hard-drive ×1

winapi ×1