Как работает MBR в USB-накопителе?

1595
Panther Coder

Каждый USB-накопитель имеет основную загрузочную запись. MBR содержит таблицу разделов. Находясь на обычном жестком диске, MBR может иметь 4 раздела, а MBR содержит информацию о разделах. Выходя на USB, у него всего 1 раздел. Итак, какими будут оставшиеся 3 раздела? Я имею в виду BIOS 64 байта в MBR для таблицы разделов правильно? Если используется только один раздел, как насчет остальных? Хорошо, если все идет хорошо, MBR имеет загрузочную подпись, которая сделает его загрузочным. Итак, каждый USB должен быть загрузочным, верно?

Я прочитал много учебников и ничего не нашел о MBR в USB. Я очень смущен. Если что-то не так, пожалуйста, помогите мне ..

Спасибо

-1
«У каждого USB-накопителя есть основная загрузочная запись. MBR содержит таблицу разделов». - Неверно. «MBR может иметь 4 раздела, а MBR содержит информацию о разделах». - Я думаю, что вы имеете в виду 3, а не 4. Ramhound 7 лет назад 0
@Ramhound No, 4 - правильное количество записей первичных разделов в таблице разделов MBR. 8bittree 7 лет назад 0

2 ответа на вопрос

4
Kamil Maciorowski

Каждый USB-накопитель имеет основную загрузочную запись.

Это не правда. Я имею в виду, что вы можете называть самые первые 512 байт "MBR" по умолчанию, но это не обязательно должна быть рабочая MBR, содержащая специфичные для MBR данные. В моем Kubuntu я могу легко создать файловую систему на моем USB-устройстве или использовать устройство в качестве подкачки.


Выходя на USB, у него всего 1 раздел.

Технически вы можете иметь MBR (или GPT) и разделы на USB-накопителе так же, как на «обычных» жестких дисках, если только вам удастся их создать. У инструментов Linux нет проблем с этим, они могут разбивать не только блочные устройства, но и обычные файлы или уже существующие разделы, независимо от того, имеет ли это смысл или нет. Окна с другой стороны ...

Несколько месяцев назад я обнаружил, что у Windows (7? - не помню сейчас) были проблемы с чтением флешки, где было два раздела. Он принял только один раздел или файловую систему непосредственно на устройстве. Это было формально съемное устройство. Я знаю, что Windows в целом может по-разному относиться к USB-дискам и съемным USB-устройствам. Сравните это и это - забавный пример «ОС, которая знает лучше». Я никогда не видел, чтобы Linux делал такие же надменные вещи.

Эта старая ветка согласуется с моими наблюдениями:

Я купил карту SD на 16 ГБ для использования на моем Dell mini. Он прекрасно работает в Ubuntu (естественно), но я хочу переключить бит съемного носителя (RMB), чтобы окна видели его как фиксированный диск. Это позволяет нескольким разделам быть видимыми и настраиваемыми в Windows.

И позже:

Linux не заботится об этом [Removable Media Bit], как и ваш BIOS.


MBR имеет загрузочную подпись, которая сделает его загрузочным. Итак, каждый USB должен быть загрузочным, верно?

Неправильно. Даже если есть место для загрузочного кода (некоторые части MBR являются такими местами), вы можете иметь или не иметь (нормальный) код там. Но, возможно, вы имели в виду «каждый USB может быть загружен». Если так, то да, насколько я знаю, нет технической причины, которая помешала бы сделать USB-накопитель загрузочным.

Другой вопрос: будет ли ваше оборудование загружаться с него? Старые (-ые) материнские платы не могут загружаться с USB, у них нет такой опции. Этого можно обойти, загрузив GRUB или Plop Boot Manager и т. Д., Который существует в другом месте, а затем загрузив по цепочке на USB.

Еще одна проблема: будет ли ваша программа загружаться с нее? Как только процесс загрузки достигает определенного загрузчика, которому нужно несколько файлов, чтобы «вызвать» рабочую операционную систему или другое программное обеспечение, этот загрузчик ожидает найти файлы на таком-то устройстве, у него могут не быть драйверов (или просто нет намерений) ) для доступа к другим устройствам. Например, программное обеспечение live CD будет пытаться получить доступ к оптическому приводу, и вам понадобятся некоторые хитрости (сделанные Руфусом, Юми и т. Д.), Чтобы он работал с USB-накопителем. То же самое может применяться, если программное обеспечение ожидает фиксированный диск, и вам нужно загрузиться со съемного.

Опять же, Linux, похоже, имеет здесь преимущество, обрабатывая различные блочные устройства одинаковым образом. Это руководство о том, как установить Ubuntu на USB-накопитель, в основном «выберет правильный диск для Ubuntu и для загрузчика, установите как обычно, затем загрузитесь с него». С Windows все не так просто .

Каждый USB-накопитель имеет MBR. Если это не так, то что будет в первых 512 байтах USB? Panther Coder 7 лет назад 0
@PantherCoder Это может быть другой тип загрузочного сектора, см. [VBR] (https://en.wikipedia.org/wiki/Volume_boot_record). В Linux я могу создать большое виртуальное устройство на нескольких небольших физических устройствах (например, линейная настройка, например, JBOD или чередование, например, RAID0) с помощью `dmsetup`. MBR виртуального устройства будет находиться на первом физическом устройстве или даже распределяться по многим из них. Я даже могу записать любые 512 байтов в эти первые 512 байтов, если захочу. Kamil Maciorowski 7 лет назад 1
-1
Ipor Sircer

Такой же. Вы можете настроить раздел на USB-накопителях как "нормальные" жесткие диски. Таким образом, hdds подключаются через usb одинаково, они могут иметь 4 основных и гораздо более логических раздела в mbr. Там нет никаких различий между USB-накопитель и жесткий диск.

Нет, я спрашиваю, имеет ли USB по умолчанию MBR. Если так, каждый USB является загрузочным, верно? Panther Coder 7 лет назад 0
MBR - это первый 256-байт устройства. Каждое устройство имеет свои первые 256 байт, если оно не меньше 256 байт. : -> Ipor Sircer 7 лет назад 0