USBスティックにMBRがあるかどうかを確認する方法は?


25

起動可能なUSBスティックがありますが、コンピューターが起動しません。MBR(マスターブートレコード)がないと思われます。

できれば、Linuxのコマンドラインからテストします。

回答:


23

ddand fileでこれを調べることができます、例えば/dev/sda

root@rapunzel:~# dd if=/dev/sda of=/tmp/test count=1 bs=512
1+0 records in
1+0 records out
512 bytes (512 B) copied, 6.1994e-05 s, 8.3 MB/s

その後、ブートセクタを取得し、/tmp/testファイルに考えを尋ねることができます。

root@rapunzel:~# file /tmp/test
/tmp/test: x86 boot sector; partition 1: ID=0x7, starthead 32, startsector 2048, 1850621692 sectors; partition 2: ID=0x17, starthead 254, startsector 2922062850, 8209215 sectors; partition 3: ID=0xfd, starthead 254, startsector 1850623740, 1071439110 sectors, code offset 0x63, OEM-ID "      м", Bytes/sector 190, sectors/cluster 124, reserved sectors 191, FATs 6, root entries 185, sectors 64514 (volumes <=32 MB) , Media descriptor 0xf3, sectors/FAT 20644, heads 6, hidden sectors 309755, sectors 2147991229 (volumes > 32 MB) , physical drive 0x7e, dos < 4.0 BootSector (0x0)

手動でファイルを検査することもできます hexdump -C


30
すべてのddダンスの代わりに、を使用してくださいfile -s /dev/sda
CesarB

それ/dev/sdb1: x86 boot sectorが他の何も言わない場合はどうなりますか?私の場合、起動しません...
Raketenolli

gptまたは破損したディスク、またはDDで取得したサンプルが短すぎる可能性があります。幸運にもパーティションテーブルの意味を推測できるかもしれませんが、バックアップがあればいいのですが。
フレキソ

私も2048バイトを使いました、同じ結果です。サムドライブは、おそらく起動用に作られていません。過去に動作することが証明されている別のものを使用します。
Raketenolli

dd-私の場合、USBドライブにイメージを入力する必要がありof=/dev/sdbます。では動作しませんでした/dev/sdb1
-Raketenolli

21

以来CesarBは答えとしての彼のコメントを投稿できませんでした。

jcomeau@aspire:~$ sudo file -s /dev/sdb
[sudo] password for jcomeau: 
/dev/sdb: DOS floppy 1440k, DOS/MBR hard disk boot sector

3

あなたは使用することができますTestDiskはこれを実行する(無料、オープンソース、クロスプラットフォームを)。必要なドライブをスキャンし、パーティションレイアウトを分析できます(または、指定して、選択したレイアウトスタイルでパーティションを検索しようとします)。TestDiskは、選択したディスクでMBRを上書きすることもできます。


TestDiskは非常に役立つようです。ただし、情報を収集するだけの方法を見つけることはできませんでした。何かを回復/修復する方法はありません。
マッドスキャーン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.