問題タブ [mbr]

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 投票する
2 に答える
2078 参照

assembly - mov si、offsetmsgでのFASMvcMASM変換の問題

同じコード(almos)を使用してMASMとFASMで最初のテストを行ったところ、問題が発生しました。唯一の違いは、FASMでMBRに書き込む必要がある104バイトだけを生成するために、org7c00hとMASM0hを配置したことです。

問題はにあります

最初のケースでは、それを44 7C(7c44h)に変換し、masmを使用すると44 00(0044h)に変換されます。しかし、MASMでorg7c00hをorg0hに変更したとき。それ以外の場合は、0から7dffまでのセグメント全体が生成されます。

どうすれば解決できますか?

または、要するに、MASMが最初のバイトと後続のジャンプが7c00hに対して相対的なままであるため、7c00hで始まるバイナリを生成する方法はありますか?

0 投票する
2 に答える
743 参照

assembly - int 0x13 の関数 0x42 のスタック ベースの実装の問題

int 0x13 への新しいアプローチを試みています (システムの仕組みについて詳しく知るためだけに): スタックを使用して DAP を作成する..

DL にディスク番号が含まれ、AX に PT の起動可能なエントリのアドレスが含まれ、DS が正しいセグメントに更新され、スタックが正しく設定されていると仮定すると、次のコードになります。

ご覧のとおり、dap 構造をスタックにプッシュし、それを指すように DS:SI を更新します。DL は既に設定されており、次に AX を 0x42 に設定し、int 0x13 を呼び出します。

その結果、AH でエラー 0x01 が発生し、明らかに CF が設定されます。セクターは転送されません。スタックトレースを際限なくチェックしましたが、問題ありません。パーティションテーブルも問題ありません..何が欠けているのかわかりません...

これは、ディスク アドレス パケットのスタック トレース部分です。

私はqemuの最新バージョンを使用しており、ハードドライブ(0x80)から読み取ろうとしていますが、同じ結果(CF 1 AH 0x01)で構造体の4バイトアライメントも試しました。拡張機能が存在します。

0 投票する
2 に答える
532 参照

mbr - MBR プログラムとしての USB プログラミング

MBRがUSBポートからデータを読み取ることができるかどうか疑問に思っていましたか?

USBポートから読み取った値に応じて、WindowsまたはLinuxをロードしたい

0 投票する
2 に答える
8647 参照

android - Android でのファイルシステムのパーティション分割

root アクセス権を使用して、Android で SDCard を再パーティション化しようとしています。

512 バイトの MBR ファイルがあり、次のように表示されます。

私がやろうとしているのは、5.9GB パーティションのサイズを 3GB に変更し、残りのスペースで EXT パーティションを作成することです。これを行うには 2 つの方法が考えられますが、どちらかを実行するのに少し困惑しています。

1) GNU parted をクロスコンパイルし、Android で実行してファイルシステムを変更します。これは私の好みの方法ですが、scratchbox を使用して parted を静的にコンパイルしようとしてきましたが、うまくいきませんでした。また、scratchbox で Android 用に動的にコンパイルすることもできませんでした。

2) コンピューターで何らかのユーティリティを使用して 512 バイトの MBR を直接変更し、Android でファイルを dd します。MBR を表示するツール (mbrwiz) がありますが、編集方法がわかりません。

どちらか、またはおそらく3番目のルートについて何か提案はありますか?

0 投票する
4 に答える
24012 参照

powershell - Powershell で GPT および MBR パーティションを検出する

ディスクに PowerShell を使用した GPT パーティションまたは MBR パーティションがあるかどうかを確認する方法はありますか?

0 投票する
1 に答える
239 参照

dos - dos MBR を実行できません

みんな.C ディスクから 0:0200H などのメモリに MBR を読み取り、それをデバッグします。 ' 私はそれに対処する方法がわかりません。どんな助けでも大歓迎です。ありがとう。

0 投票する
1 に答える
392 参照

mysql - SPATIALジオメトリインデックスのパフォーマンスは、ジオメトリ形状のサイズと密度に依存しますか?

空間インデックス

空間インデックスが与えられると、インデックスユーティリティ、つまりインデックスの全体的なパフォーマンスが、全体的なジオメトリと同じくらい良くなります。

たとえば、100万のジオメトリデータ型を取得してテーブルに挿入し、それらの相対点が互いに密に配置されるようにした場合、このインデックスは、相対位置が大幅にまばらになる可能性がある同一のジオメトリ形状に対してパフォーマンスが向上しますか? 。

質問1

たとえば、これら2つのジオメトリ形状を考えてみましょう。

状況1

幾何学的には同じですが、座標が1点ずれています。これが100万回繰り返されたと想像してみてください。

今、この状況を取ります、

状況2

上記の例では:

  • 線の寸法は状況1と同じです。
  • 線は同じ数の点です
  • 線のサイズは同じです。

でも、

  • 違いは、線が大幅に離れていることです。

なぜこれが私にとって重要なのですか?

この質問をする理由は、入力ジオメトリから可能な限り精度を削除し、アプリケーションが精度を失うことなく提供できる限り、それらの密度と近接性を減らす必要があるかどうかを知りたいからです。

質問2

この質問は最初の質問に似ていますが、別のジオメトリシェイプに空間的に近いのではなく、シェイプ自体を可能な限り小さな形状に縮小して、アプリケーションに必要なものを説明する必要があります。

たとえば、ジオメトリデータ型でSPATIALインデックスを使用して、日付に関するデータを提供する場合です。2つの日付の日付範囲を保存したい場合は、mysqlで日時データ型を使用できます。ただし、ジオメトリタイプを使用したい場合はどうすればよいでしょうか。そのため、個々の日付を取得してunix_timestamp()に変換することにより、日付範囲を伝達します。

例えば:

これで、これら2つの整数に基づいてLINESTRINGを作成できました。

アプリケーションが実際には日数のみを考慮し、秒数が日付範囲にとってまったく重要ではない場合、必要なものを満たすためにジオメトリを可能な限り最小のサイズに縮小するようにジオメトリをリファクタリングする必要があります。

そのため、「1293861600」の代わりに「1293861600」/(3600 * 24)を使用します。これはたまたま「14975.25」です。

誰かがこれらのギャップを埋めるのを手伝ってもらえますか?

0 投票する
2 に答える
858 参照

cpu-architecture - ハードドライブMBRを読み取るときのバイト順序

PentiumMラップトップのハードドライブのMBRを印刷しました。これが私が使用したコマンドです:

出力ではバイトを順番に取得することを期待しますが、バイトのすべてのペアが逆になっているようです。

たとえば、次の16バイトは2番目のパーティションを表します。

これは起動可能なパーティションです。したがって、このパーティションエントリの最初のバイトは80である必要があります。5番目のバイトには、NTFSの場合は「07」であるファイルシステムコードが含まれている必要があります。ただし、これらはそれぞれ2番目と6番目の位置に表示されます。

別の例-最後の4バイトはパーティションのサイズである必要があります。これは、0x03531990(28.5GB)として意味があります。ただし、上記の出力は19900353を示しています。

バイトのすべてのペアを反転しているように見えます。これはリトルエンディアンのチップなので、最下位バイトを最初に配置していることがわかりますが、ワードサイズからは機能しませんか?これは4バイトになります。上記の出力は2バイトごとに反転しているようです。

これによって非常に混乱しているので、どんな助けでも大歓迎です。ありがとう!

0 投票する
1 に答える
1783 参照

assembly - bios int 0x13 がエラーなしで失敗する

私は教育用のブートローダーを書いていますが、うまくいきます。しかし、実際のマシンで起動しようとすると、ディスク読み取りコードがいくつかのセクターのロードに失敗します。エラーコードは表示されず、CF も設定されません。また、1 in al を返します。これは、1 セクターが読み取られたことを意味します (これは正しいはずです)。しかし、ロードされたセクターにジャンプしようとすると、ハングして何もしません..最初の段階では A が出力され、2 番目の段階では F で上書きされます。実際のハードウェアで起動すると、A のみが表示されます。したがって、セクターはメモリ内にあるべき場所にありません..

これは私の MBR です:

ステージ 2:

kvm では完全に動作しますが、実際の BIOS を備えた実際のハードウェアでは動作しません。USB フラッシュ ドライブを使用して、実際のハードウェアでの起動をテストします。

問題は、mbr の最初のバイトで定義していない BPB でしょうか? 生のセクターを読んだだけなので、そうは思いません..間違っている場合は修正してください。

誰でもそれが何であるかの手がかりはありますか?

ありがとう