【问题标题】:Running a code before any operating systems is booted?在启动任何操作系统之前运行代码?
【发布时间】:2009-12-21 09:27:55
【问题描述】:

有没有办法编写一个可以在系统启动而操作系统未加载时运行的代码?

我实际上想借助该代码将特定分区的数据逐个扇区复制到另一个分区。

【问题讨论】:

  • 您想在每次启动时复制数据?如果您只想这样做一次,您可能只想使用 Live CD。
  • 不,我猜 Live CD 可能会很神奇。

标签: windows linux operating-system


【解决方案1】:

是的,有很多方法,但是在开始之前你必须学习很多东西。这也不是服务器故障问题。

【讨论】:

    【解决方案2】:

    您可以通过查看执行此操作的现有软件来了解如何运行预操作系统启动代码:

    • GRUB 引导加载程序
    • Truecrypt

    这两个都是开源的 - 所以检查他们的代码。 GRUB 可能是两者中比较容易研究的一个。

    一旦您了解代码的工作原理以及它们如何在您的操作系统启动之前运行,您就可以根据他们的技术自己编写特定的程序。

    【讨论】:

      【解决方案3】:

      假设您在这里谈论的是 x86 架构。

      机器启动时会尝试读取前 512 字节。如果最后两个字节是 0xAA55,机器将执行这段代码。通过它你可以运行任何汇编指令。

      一旦有了操作系统,这一切都会变得更舒服。

      您必须在机器启动时一直复制字节还是只复制一次? - 仅一次抓住一张现场 CD 或将netboot.me 放在软盘上并启动它。然后你可以用更好的方式做事。

      【讨论】:

        猜你喜欢
        • 2012-02-01
        • 2021-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-15
        • 2021-08-08
        • 2015-09-07
        • 2015-05-06
        相关资源
        最近更新 更多