RAMなしで使用できるOS、特に起動可能なペンドライブを作成してコンピューターで使用できるOSはありますか?起動は基本的にOSをRAMにロードするため、これは厄介です。
注:私はもともと、RAMのないOSについて知りたいのですが、ラップトップ(起動しないが空白の画面を表示する)RAMが悪くなったかどうかを確認したかったのですが、この質問が雪だるま式になっているのが好きです。
RAMなしで使用できるOS、特に起動可能なペンドライブを作成してコンピューターで使用できるOSはありますか?起動は基本的にOSをRAMにロードするため、これは厄介です。
注:私はもともと、RAMのないOSについて知りたいのですが、ラップトップ(起動しないが空白の画面を表示する)RAMが悪くなったかどうかを確認したかったのですが、この質問が雪だるま式になっているのが好きです。
回答:
すべてのOSにRAMが必要ですか?
IBM PC互換ハードウェアの場合、BIOS POSTプロセスの必須ステップは、BIOSをロードするRAMがあるかどうかを確認することです。オプションで、RAMのPOSTプロセスチェックが正しく機能します。POSTプロセスの後、BIOSはブートローダーをRAMにロードし、ブートローダーに制御を渡します。したがって、あなたの質問への答え(「すべてのOSはRAMを必要としますか?」)です。はい、すべてのIBM PC互換ハードウェアはブートするために少なくとも機能するRAMを必要とします。これは、そのハードウェアで実行されるすべてのOSに当てはまります。
OPの最初の質問では、「ラップトップ」への参照があったことに注意してください。これは、IBM PC互換ハードウェアと解釈しました。この回答の残りの部分では、IBM PC互換のハードウェアを想定します。
RAMに障害があるとOSを起動できますか?
RAMに欠陥がある(完全に存在しない/壊れていない)場合、またはRAMを(部分的に)交換できる場合、BadMEMカーネルパッチのBadRAMを使用して起動できる場合があります。カーネルを再コンパイルする必要があり(初めて行う場合よりも簡単に聞こえます)、再起動して不良メモリの場所をカーネルに伝えることができます。Memtest86 / Memtest86 +、BadRAM / BadMEM の使用に関する説明はこちらにあります。
OSはRAMなしで起動でき、CPUのキャッシュをRAMとして使用できますか?
私の知る限り、コメントにあなたのシステムにRAMが存在しない限り、CPUのキャッシュをRAMとして使用する方法はありません(@philippなどによって提案されています)。ある場合は、ここに追加するといいでしょう。このテーマで見つけることができる唯一の論文は、「RAMが初期化されるまでRAMとしてプロセッサのキャッシュを使用する」と書かれているこの論文です。RAM なしで動作するかどうか(およびその方法)がわかりません。私の知る限り、IBM互換PCでOSを起動する作業コードはありません。概念実証、作業コード、またはその他への参照はコメントで歓迎されます。この回答に追加します。
BIOSにアクセスできますか?
ラップトップがBIOS POSTを渡すことができる場合、OPの質問は少しあいまいです。@Tonnyが指摘しているように、「BIOSにアクセスする」のに役立つOSはありません。BIOSのブランドに応じて、or またはor またはキーを使用してBIOSに入ります。F1F2F10DELESC
RAMなしでラップトップからデータを回復する方法は?
あなたの質問の背後にある目標に関して:なぜあなたはあなたのラップトップにアクセスする必要があるのですか?おそらく、回復したいデータがまだHDDにあるからでしょうか?その場合は、HDDを引き出し(マニュアルを参照)、外部ストレージデバイスに直接接続するか、PCに直接接続する方がはるかに簡単です。これを行うのに役立つガイドを次に示します。
理論的には可能ですが、CPUキャッシュに収まらない一時ストレージにディスクを使用する必要があるため、非常に遅くなります。(CPUには、RAMでさえ遅すぎるため、数メガバイトのキャッシュがあります。それについて考えてください。)したがって、かなり小さなOSが必要になります。
(まあ、組み込みシステムオンチップは RAMまたは内部フラッシュメモリからコードを実行できます。PCBIOSは理論的には同じことを実行できますが、OS全体を実行することはできません。)
しかし、他の事は、BIOSが実行される前に、そして外に任意のインストールされたオペレーティングシステム、およびそれはあなたがペンドライブまたは何からブートすることができますBIOSです。あなたがBIOSに達することができないのであれば、その後、何も世界の他のOSは、あなたを支援するつもりはありません。
少しの努力で、RAMを含まないシステムを設計できます。ROM(またはストレージ)からソフトウェアをロードし、レジスタまたはキャッシュですべてを実行します。このようなシステムの使用は非常に限られているため、今日のRAMの価格は少し無意味です。市販のラップトップは、オンボードメモリがないと機能しません。
あなたの本当の質問は、「起動しないコンピュータから情報を取得する方法」であり、それは簡単です。分解し、ドライブを取り外して、外部ドライブケースに接続します。
ただし、20ドル相当の作業用RAMを入手できないほど古いコンピューターには、ATA(SATAではなく通常のATA)ドライブが搭載されていることに注意してください。このインターフェースは今日ほとんど消滅しているため、フルサイズからラップトップサイズのアダプターだけでなく、ATAカードを備えたドライブケースも見つける必要があります。私は2000年に購入したものを持っています。この目的のために、古いケースをいくつか保管しています。
メモリが不良であるという仮定は、おそらく無効です。ビープ音や画面上のメッセージが表示されない場合、根本的な原因はほぼ確実にCPUの故障(ややありそうもない)またはメインボードの故障(可能性が高い)です。メインボードは、ROHS運動の初期の頃によく見られた冷たいはんだ接合と、鉛フリーはんだの使用要件により、常に経年劣化します。製造技術は鉛ベースのはんだを使用するために最適化されており、業界は問題を把握して解決するのに時間がかかりました。多くの部品メーカーは、プロセスをアップグレードするためにお金を費やすことをあまり望んでいませんでした。結局、デバイスは、数か月または数年後に、何らかの保証が失効する可能性が高い場合にのみ、正常にテストおよび書き込みを行います。失敗の山とユーザーからの強い否定的なフィードバックによってのみ、メーカーは物事を改善し始めました。このようなラップトップでは、メインボードをリフローして冷はんだ接合を修正することは、ほぼ確実に法外な費用がかかります。
1980年代またはそれ以前の初期のコンピューターのほとんどは、ROMチップに一種のオペレーティングシステム(ハードウェアドライバー、IOサポート、プログラムの読み込み、非常に単純なコマンドラインインターフェイスなど)がありました。RAMチップが動作していなくても、ある程度機能する可能性があります。この機能は、ハードウェアテストを実行するために設計された特別なROMコンテンツバージョンで使用され、主にブザーとキーボードのライトを介して通信します。
CPUには、少なくとも実行されているコマンドのアドレスを記憶するための複数のレジスタがありますが、これらは通常RAMと呼ばれません。
通常のCコードは、スタックメモリを使用して変数を割り当て、スタックはRAMにあるため、RAMのないシステムでは実行できません。最近のコンピューターを起動すると、RAMリフレッシュデバイスが動作するには初期セットアップが必要になるため、通常のダイナミックRAMは最初は利用できません。アセンブリコードが最初に実行され、マザーボードの初期化が実行されます。RAMが動作し始め、Cコードを実行できるようになります。
私が1967年に大学に行ったとき、コンピューティング部門にはStantec Zebraがいました。メモリは8192ワードの磁気ドラムで構成されていました。12のレジスタと2つのアキュムレータもありました。そのRAMを検討することはできますが、私たちの知る限りではありません。
ここにいる他のすべての人々のように、RAMが必要であり、RAMなしでは動作できないという事実に同意しますが、以下も読んでください:
(もともとRAMが悪くなったかどうかをチェックするためにRAMなしのOSをロードしたかったのですが、この質問が雪だるま式になっているのが好きです。)
これは実際にはBIOSに存在し、RAMを詳細にチェックする機能があります。起動してBIOSの内部に入るとき、オプション「Quick Power-on self test」をoffに変更すると、RAMで完全なチェックパスが実行されます。このオプションは、AMI BIOSの2番目の選択肢のような「高度なBIOS機能」に配置する必要があります。
それがあなたをさらに一歩進めることを願っています。;-)
RAM は必要ありません。たとえば、チューリングマシンを使用します。
チューリングマシンは、ルールの表に従ってテープストリップ上のシンボルを操作する仮想デバイスです。その単純さにもかかわらず、チューリングマシンは、任意のコンピューターアルゴリズムのロジックをシミュレートするように適合させることができ、コンピューター内のCPUの機能を説明するのに特に役立ちます。
(テープをRAMとは見なしません。)
さて、あなたの本当の質問は「有用」について尋ね、「有用」とはどういう意味かを定義するべきです。
完全にROM(読み取り専用メモリ)で実行される組み込み用途向けの特殊なOSがあります。しかし、有用なことを行うには、通常、少なくとも少量のRAMが必要です。しかし、RAMなしで起動するPCは見たことがありません。
メモリテストに関する元の質問については、コンピューターがPOST(つまり、電源投入時セルフテストを通過して起動しようとする)を行う場合、Memtest86はRAMをテストするために特別に設計されています。RAMの最初の64KBをテストし、そのRAMに自分自身をロードしてから、システムメモリの残りの部分を自由にテストします。「単なるフレークメモリ」とは対照的に「フレーク」メモリは一般的ではありませんが、Memtest86がコンピュータのメモリテストに失敗した断続的に悪いビットをキャッチするのを見ました(結局、POSTメモリテストは妥当な時間で完了することを意図しています) 、memtest86の最速テストは5〜10分実行され、より包括的なテストには数時間かかります。)