Suv*_*yil 77 memory boot operating-systems ramdisk
有没有可以在没有 RAM 的情况下使用的操作系统,特别是那种我可以从中创建可启动的 Pendrive 并在计算机中使用它的操作系统?这变得很尴尬,因为启动本质上是在 RAM 中加载操作系统。
注意:我最初想了解一个无 RAM 的操作系统,以检查我的笔记本电脑(无法启动但显示空白屏幕)RAM 是否坏了,但我喜欢这个问题滚雪球的方式。
agt*_*ver 96
每个操作系统都需要 RAM 吗?
对于 IBM PC 兼容硬件,BIOS POST 过程的一个强制性步骤是检查是否有 RAM 可将 BIOS 加载到其中。(可选)POST 过程检查您的 RAM 是否正常工作。在 POST 过程之后,BIOS 将引导加载程序加载到 RAM 并将控制权交给引导加载程序。因此,您的问题(“每个操作系统都需要 RAM 吗?”)的答案是:是的,每个 IBM PC 兼容硬件都至少需要一些正常运行的 RAM 才能启动。对于在该硬件上运行的任何操作系统都是如此。
请注意,在 OP 的原始问题中,提到了“笔记本电脑”,我将其解释为:IBM PC 兼容硬件。对于这个答案的其余部分,我将假设 IBM PC 兼容硬件。
操作系统可以在 RAM 故障的情况下启动吗?
如果你的内存有问题(而不是完全不存在/断开),或者如果你可以(部分)取代你的RAM,您可能能够使用启动BadRAM的BadMEM内核补丁。它要求您重新编译内核(听起来比第一次编译要容易),然后您可以重新启动并告诉内核您的坏内存在哪里。关于使用Memtest86 / Memtest86+ 的一个很好的解释,BadRAM/BadMEM 可以在这里找到。
操作系统可以在没有 RAM 的情况下启动并将 CPU 的缓存用作 RAM 吗?
据我所知,如果您的系统上没有任何 RAM(正如@philipp 和其他人所建议的那样),则无法在评论中使用您的 CPU 缓存作为 RAM。如果有,最好在这里添加它。我能找到的关于这个主题的唯一论文是这篇论文,它指出:“在 RAM 初始化之前,将处理器的缓存用作 RAM”。不确定它是否(以及如何)在没有RAM 的情况下工作。据我所知,没有可以在 IBM 兼容 PC 上启动操作系统的工作代码。欢迎在评论中引用任何对概念验证、工作代码或任何内容的引用,我会将其添加到此答案中。
我可以进入BIOS吗?
如果笔记本电脑能够通过 BIOS POST,OP 的问题有点含糊。正如@Tonny 指出的那样,没有任何操作系统可以帮助您“进入 BIOS ”。根据您的 BIOS 品牌,您可以使用F1或F2或F10或DEL或ESC键进入BIOS。
如何从没有RAM的笔记本电脑恢复数据?
至于你的问题背后的目标:为什么你需要访问你的笔记本电脑?可能是因为硬盘上还有要恢复的数据?如果是这种情况,拔出 HDD(参见手册)并将其连接到外部存储设备或直接连接到 PC 会容易得多。这是一个很好的指南来做到这一点。
use*_*686 33
这在理论上是可能的,但它会非常慢,因为它需要将磁盘用于任何不适合 CPU 缓存的临时存储。(CPU 有几兆字节的缓存,因为即使是 RAM对它们来说也太慢了。想想看。)所以你需要一个相当小的操作系统。
(嗯,嵌入式片上系统可以从 RAM 或内部闪存执行代码——PC BIOS 理论上可以执行相同的操作,但它不能运行整个操作系统。)
但是,另一件事是,BIOS在任何已安装的操作系统之前和之外运行,而正是 BIOS 允许您从笔式驱动器或其他任何东西启动。因此,如果您无法访问 BIOS,那么世界上没有其他操作系统会帮助您。
小智 15
您可以通过一些努力来设计一个不包含 RAM 的系统。从 ROM(或存储)加载您的软件,并在寄存器或缓存中执行所有操作。这样一个系统的用途非常狭窄,考虑到今天的 RAM 价格有点毫无意义。如果没有一些板载内存,现成的笔记本电脑将无法运行。
您真正的问题更有可能是“我如何从无法启动的计算机中获取信息”,这很容易。拆卸它,卸下驱动器,然后将其连接到外部驱动器盒。
但是,请注意,任何足够旧的计算机都无法获得价值 20 美元的工作 RAM,因为它会配备 ATA(常规 ATA,而不是 SATA)驱动器。这个接口今天几乎绝迹了,所以你还需要找到一个带有 ATA 卡的驱动器盒以及一个全尺寸到笔记本电脑尺寸的适配器。我有一个我在 2000 年买的,为了这个目的,我保留了几个旧箱子。
Ton*_*nny 10
如果我正确阅读了这个问题,这里的每个人都在咆哮错误的树。
他明确指出“为了进入 BIOS”。
如果笔记本电脑坏了,它甚至无法进入 BIOS,其他一切都毫无意义。
无论 RAM 情况如何,您都无法在其上启动任何操作系统。
小智 8
您认为内存不好的假设可能是无效的。如果您没有听到哔哔声或屏幕消息,则根本原因几乎可以肯定是 CPU 故障(不太可能)或主板故障(很有可能)。由于冷焊点,主板一直会随着老化而失效,这在 ROHS 运动的早期和使用无铅焊料的要求中很常见。制造技术已经针对使用铅基焊料进行了优化,该行业需要一段时间才能赶上并解决这些问题。许多组件制造商不太愿意花钱升级他们的工艺。毕竟,这些设备可以很好地进行测试和燃烧,但在几个月或几年后,在任何保修期可能到期后才会出现故障。只有随着越来越多的故障和来自用户的强烈负面反馈,制造商才开始改进。在这样的笔记本电脑上,让主板回流以纠正冷焊点几乎肯定成本过高。
大多数 1980 年代或左右的早期计算机在 ROM 芯片中都有某种操作系统(硬件驱动程序、IO 支持、程序加载、非常简单的命令行界面等)。即使 RAM 芯片无法运行,它也能在一定程度上发挥作用。此功能用于专为运行硬件测试而设计的特殊 ROM 内容版本,主要通过蜂鸣器和键盘灯进行通信。
CPU 有几个寄存器至少可以记住正在执行的命令的地址,但这些通常不称为 RAM。
常规 C 代码无法在没有 RAM 的系统中运行,因为它使用堆栈内存来分配变量,而堆栈位于 RAM 中。当最近的计算机启动时,常规动态 RAM 最初不可用,因为 RAM 刷新设备需要初始设置才能工作。汇编代码首先运行并执行主板初始化。RAM 开始工作,然后 C 代码可以运行。