問題タブ [superblock]

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

filesystems - Ext3 ブロック グループ記述子

ブロック グループ記述子テーブルを見つける方法を理解するのに問題があります。文献 (D.Poirier: " The 2nd extended filesystem ") では、ブロック グループ記述子はスーパーブロックの直後のブロックにあると述べられています。

ここで、ブロック サイズが 1024 バイトの最初のディスクを見ると、構造は次のようになります。

  • MBR、0 ~ 512 バイト
  • スーパーブロック、1536 ~ 2560 バイト
  • BG 記述子、2560 - ... バイト

スーパーブロックは 3 番目のセクターから始まり、BGD はその直後に続くため、この構造は問題ありません。ただし、ブロック サイズが 4096 バイトの 2 番目のディスクを見ると、構造は次のようになります。

  • MBR、0 ~ 512 バイト
  • スーパーブロック、1536 ~ 2560 バイト
  • BG 記述子、4608 - ... バイト

この場合、BGD はスーパーブロックから 3072(?) バイト離れた場所にあります。ext 構造を読み取って分析するプログラムを作成していて、BGD を見つける方法を知っている一般的なプログラムを作成できないため、BGD の位置がどのように正確に決定されるかを教えてください。

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

java - Ext2: グループ記述子

ext2ファイルシステムイメージを通過してナビゲートするJavaプログラムを作成しています。私は fs がリビジョン 1 (またはそれ以上) であることを知っているので、グループ 0、1、および 3、5、7 のべき乗であるスーパーブロックのコピーがあることを知っています。スーパーブロックのないグループ?ありますか?ある場合、それはグループの最初のブロックにあるということですか? 3 番目のグループの inode テーブルはどこで探すべきですか?

私の fs には 3 つのグループ (0,1,2) があり、それぞれ 8192 ブロックの長さで、blocksize=1024 です。

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

linux - 暗号化されたファイルシステムにスーパーブロックがありません

ubuntu 14がインストールされたハードドライブがあります。ディスク全体が暗号化されます。デフォルトのユーザーのホーム ディレクトリも暗号化されています。最近、システムがクラッシュした後、起動時にビジーボックス (initramfs) が表示されます。リカバリモードで開始することを選択したとき、「 ... Failed to read block at offset xyz ...」のようないくつかのエラーメッセージを把握できます。

この Q&A を検索して見つけました: (initramfs) prompts/busybox へのブート ドロップ

CD から起動し、指示に従いました。しかし、私はできることしかできません...

...そして、/dev/sda1のスーパーブロックのチェックと修復を続けます。

私が試してみると...

... 次のエラー メッセージが表示されます。

gpartedは、ドライブのパーティション分割とファイル システムを次のように表示します。

sda5の警告 (!!) には、 「Linux Unified Key Setup の暗号化はまだサポートされていません」と書かれています。

私が試してみると...

... 次のエラー メッセージが返されます。

sda1のマウントと rw アクセスはエラーなしで機能します。

原因と、ファイルシステムを修復、マウント、および復号化して正常に起動するか、少なくともデータを回復する方法の手がかりはありますか?

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

c - C で ext2 スーパーブロックの s_uuid を出力する方法

スーパーブロックの s_uuid の値を格納する変数を作成します。しかし、xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx のようなこの変数をこの形式で出力する方法に問題があります。%x と %s で printf を使用して変数を出力しようとしましたが、うまくいきません。

UUID がファイル システムにどのように格納されているか、また間違ったエンコーディングではなくコンソールに出力する方法を知りたいです。