Как узнать, есть ли на флешке MBR?

25

У меня есть флешка, которая должна быть загрузочной, но компьютер не загружается. Я подозреваю, что MBR (Master Boot Record) отсутствует.

Как мне проверить, так ли это, желательно из командной строки в Linux.

Мадс Скьерн
источник

Ответы:

23

Вы можете проверить это с помощью ddи 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

Flexo
источник
30
Вместо всего этого ddтанца, просто используйте file -s /dev/sda.
CesarB
Что делать, если это говорит, /dev/sdb1: x86 boot sectorно больше ничего? В моем случае это не будет загружаться ...
Raketenolli
Это может быть gpt или поврежденный диск или образец, взятый с DD, который слишком короткий. Может быть, вам повезет и вы догадаетесь, что такое таблица разделов, но я надеюсь, что у вас есть резервная копия.
Flexo
Я также взял 2048 байтов, тот же результат. Возможно, флэш-накопитель просто не предназначен для загрузки. Я буду использовать другой, который работал в прошлом.
Ракетенолли
dd-запись изображения на USB-накопитель в моем случае требуется of=/dev/sdb. Это не работает с /dev/sdb1.
Ракетенолли
21

поскольку CesarB не опубликовал свой комментарий в качестве ответа:

jcomeau@aspire:~$ sudo file -s /dev/sdb
[sudo] password for jcomeau: 
/dev/sdb: DOS floppy 1440k, DOS/MBR hard disk boot sector
jcomeau_ictx
источник
3

Для этого вы можете использовать TestDisk (бесплатный, с открытым исходным кодом и кроссплатформенный). Он может сканировать любой диск, который вы хотите, и анализировать макет раздела (или вы можете указать его, и он попытается найти разделы в выбранном вами стиле макета). TestDisk также может перезаписать MBR на диске выбранным вами.

Прорвать
источник
TestDisk кажется очень полезным. Тем не менее, я не нашел способ просто собирать информацию с его помощью и не быть на пути к восстановлению / ремонту чего-либо.
Мэдс Скьерн