今日、私は次のコマンドを使用してLinuxシステムで古いUSB3フラッシュ8GBドライブをハックしました。
dd if=/dev/random of=/dev/sdb
それからWindows PCに入れたらフォーマットするように言いました。 4kブロックサイズ、fat32などのデフォルト値を使用して拡張フォーマットを行い、必要なファイルをコピーして自分のフォルダに入れました。 fdiskではこう言います。新しくインストールされたdebian 12システムでは:
Disk /dev/sdb: 7.32 GiB, 7864320000 bytes, 15360000 sectors
Disk model: ****************
Units: sector of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minum/optimal): 512 bytes/ 512 bytes
Disklabel type: dos
Disk identifier: 0x********
Device Boot Start End Sectors Size Id Type
/dev/sdb1 778135908 1919645538 1141509631 544.3G 72 unknown
/dev/sdb2 168689522 2104717761 1936028240 923.2G 65 Novell Netware 386
/dev/sdb3 1869881465 3805909656 1936028192 923.2G 79 unknown
/dev/sdb4 2885681152 2885736650 55499 27.1M d unknown
Partition table entries are not in disk order.
USBドライブに4つのパーティションがあるのはなぜですか?そのうちの2つは約900Gigで、8GB USBドライブには500個のパーティションがありますか?これはWindowsコンピュータ用に作成されましたか? Windowsでフォーマット中に拡張フォーマット(ゼロパディング)を明示的に要求しました。
以下を使ってドライブをマウントしてみました。
mount -t vfat /dev/sdb /mnt/flashdrive
コンテンツが正しくインストールされ、Windowsコンピュータからコピーしたファイルもそこにありました。
ドライブはどのようなウイルスによって損傷またはハイジャックされたと見なされるべきですか?このドライブを信頼できますか?それともセキュリティ問題として考慮する必要がありますか?たぶんfdiskエラーですか?
ありがとう
私はそれがランダムなデータを書いているという事実に関連しているかもしれないと思いました。おそらくMBRセクタのランダムデータのため、ドライブに複数のパーティションがある可能性がありますが、そうではありません。 3つの同じフラッシュドライブがあり、今回は同じプロセスを繰り返し使用しました。dd if=/dev/zero
3つの同じフラッシュドライブがあり、今回は代わりに使用しました。ランダム同じ結果が得られます。
私にとって、Windowsはドライブを動作させるfat32フラッシュドライブにする奇妙な方法でドライブをフォーマットしますが、fdiskとgdiskはクレイジーです。
ドライブをAcronis Disk Directorに挿入しようとしましたが、fat32フラッシュドライブとして正しく検出されましたが、Acronis Disk DirectorはまだLinuxディストリビューションなので、コンソールに切り替えてfdisk -lを実行すると同じ奇妙なパーティションスキームが発生します。 Acronis GUIはすべてを正しく検出しますが、コンソールfdiskはそうではありません。ただし、Acronis GUI では、「スーパーフロッピー」とも呼ばれる基本パーティションのフォーマットを許可しても、ディスクのクリーンアップや追加パーティションの作成などは許可されません。
製造元がUSBドライブを作成する方法に問題がある可能性がありますか?
編集:gdisk出力を追加しました。
gdisk -l /dev/sdb
GPT fdisk (gdisk) version 1.0.9
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************
Exact type not match not found for type code 7200; assigning type code for
'Linux filesystem'
Exact type not match not found for type code 6500; assigning type code for
'Linux filesystem'
Exact type not match not found for type code 7900; assigning type code for
'Linux filesystem'
Exact type not match not found for type code 0D00; assigning type code for
'Linux filesystem'
Warning! Secondary partition table overlaps the last partition by
3790549690 blocks!
You will need to delete this partition or resize it in another utility.
Model: DataTraveler 3.0
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): *************************
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 15359966
Partitions will be aligned on 1-sector boundaries
Total free space is 15359933 sectors (7.3 GiB)
Number Start (sector) End(sector) Size Code Name
1 778135908 1919645538 544.3 GiB 8300 Linux filesystem
2 168689522 2104717761 923.2 GiB 8300 Linux filesystem
3 1869881465 3805909656 923.2 GiB 8300 Linux filesystem
4 2885681152 2885736650 21.7 MiB 8300 Linux filesystem
答え1
Windowsの拡張形式についてはよくわかりませんが、「mount -t vfat /dev/sdb /mnt/flashdrive
正しいインストール」について述べたことが役に立つヒントを提供します。
このコマンドを使用すると、パーティション(など)の1つではなくドライブ全体をマウントでき/dev/sdb1
ます/dev/sdb2
。これは、Windowsがパーティションテーブルを作成せずに、各セクタ(最初のセクタから最後のセクタまで)をVFAT領域として使用することを意味します。
パーティションテーブルがない場合、表示される内容fdisk
はgdisk
まったく関係ありません。
ドライブが損傷していると見なすべきですか?
fdisk
いいえ、(または)を使用して「パーティションテーブル」を保存しない限りgdisk
。
それとも、どのようなウイルスに誘拐されたのでしょうか?
いいえ。
このドライブを信頼できますか?それともセキュリティ問題として考慮する必要がありますか?
あなたの質問には信頼できないことを示唆するものはありません。
たぶんfdiskエラーですか?
No.fdisk
はパーティションテーブルを操作するためのツールです。パーティションテーブルが何か(存在する場合)が表示されますが、そうではありません。そのため、.txtファイルを使用してパーティションテーブルを変更/保存しないことが重要ですfdisk
。
どうやら私がランダムなデータを書いているという事実と関連があるようです(...)
いいえ、これはディスクがフォーマットされる方法です。
答え2
スーパーフロッピーディスク(パーティションテーブルなしでデバイス全体にファイルシステムがあるドライブ)には、まだdosパーティションテーブルを定義するフラグメントが含まれています。
fdisk
またはの目的は、gdisk
分割テーブルを使用することです。そうでなければ、どちらのツールもこれを事前に知らずに最善を尽くします。説明する分割テーブルとしてのデータ。場合によっては、パーティションテーブルが存在しないことを確認できますが(たとえば、すべて0の場合)、多くの場合はそうではありません。
要点は、任意のデータを分割テーブルとして解釈できることです。これがデバイスに表示される内容です。この質問にも同様の設定があります。WindowsはUSB NTFSスーパーフロッピーディスクをマウントしません。;私の答えから洞察を得ることができます。
クレイジーパーティションテーブルを見るのもその一つです単一ファイルシステムでもパーティションテーブルの作成を好む理由。しかし、Windowsがよりよく知っているようです。 Windowsだけが原因です。ディスク自体に問題はありません(または破損しているという証拠はありません)。
使用しているすべてのシステムにファイルシステムをマウントできる場合は問題ありません。 Windowsが生成する「混乱」にあるかどうかはわかりませんが、LinuxではWindowsが表示され/dev/sdb
、まったく使用されていない場合はいつでも明示的にマウントできます/dev/sdb1
。
ただし、設定をより合理的にしたい場合は、最初からやり直してください。を使用して、1つの基本パーティションのみを持つdosパーティションテーブルを作成dd if=/dev/zero of=/dev/sdb bs=512 count=1
しfdisk /dev/sdb
(開始セクタと終了セクタのデフォルト値で十分です)、型は0C
(W95 FAT32 (LBA)
)でなければなりません。ツールをパーティションテーブルに書き込むようにします。次に、FAT32ファイルシステムを作成しますsdb1
(LinuxまたはWindowsで実行し、新しいパーティションテーブルに従うことを願っています)。