Как я могу обнулить загрузочный код MBR?

У меня есть два диска в моей системе Windows:

  • Диск 1, Система и Загрузка.
  • Диск 2, хранилище данных.

Некоторое время назад у меня была установлена ​​Windows на втором диске. Теперь, когда у меня есть текущая настройка, я бы хотел удалить загрузочный код из Windows из загрузочного сектора на диске 2. Если быть точным, я не хочу стирать таблицу разделов или что-либо еще, просто избавиться от (обнулить) немного кода, который ищет NTLDR.

Есть ли программное обеспечение или команда для этого?

3 ответа

Решение

MBR, в случае таблиц разделов в стиле DOS, всегда присутствует на диске как очень маленькая коллекция секторов в начале диска.

Это не вещь, от которой нужно избавляться, потому что она содержит, помимо загрузочного кода, таблицу разделов вашего диска. Потеря этого означает, что данные на вашем диске, в то время как нетронутыми, внезапно становятся намного труднее получить (большинство операционных систем, которые я видел, сообщают о плохом формате, и Windows спрашивает, хотите ли вы отформатировать диск, если это не так понять таблицу разделов).

Дополнительная информация: http://technet.microsoft.com/en-us/library/cc976786.aspx

Изменить: так как вы редактировали вопрос, я обновлю свой ответ; ДД может стереть это. Загрузитесь с linux livecd и запустите на вашем отключенном диске с данными;

dd if=/dev/<path to data drive> of=/dev/<somewhere safe on windows drive>/mbr.img bs=512 count=1

Это даст вам 512-байтовую резервную копию MBR, включая таблицу разделов, на случай, если что-то пойдет не так.

Чтобы стереть 446-байтовый загрузчик:

dd if=/dev/zero of=/dev/<path of data drive> bs=446 count=1 seek=0

В зависимости от того, чего вы пытаетесь достичь, вы можете стереть только первые 440 байтов MBR. 4 байта, следующие за первыми 440 байтами, содержат уникальную подпись диска Windows, которую вы, возможно, захотите сохранить. Чтобы стереть только первые 440 байт, используйте эту команду:

dd if=/dev/zero of=/dev/<path of data drive> bs=440 count=1 seek=0

Пометка на нем как неактивная в управлении дисками должна более чем подходить для вашей ситуации.

Я заранее прошу прощения за сложный ответ, но я не совсем понимаю, что вы хотите сделать (или лучше: почему).

Я думаю, что вы ищете FDISK /CMBR команда. Есть также утилиты, которые выполняют ту же задачу, например Paragon Partition Magic или Boot/Partition Editor.

Что вы хотите сделать, это переписать MBR и установить раздел D: не системный (не активный, не загрузочный, без флага B и т. Д.).

Обратите внимание, что FDISK /CMBR должен действовать только на несистемный диск; многие загрузчики устанавливают код, который впоследствии необходим для "просмотра" диска с правильным форматом или геометрией; замена их на стандартный загрузчик (что делает / CMBR) может сделать диск недоступным до восстановления предыдущего кода.

Если вам нужно сделать диск не загружаемым, потому что он мешает загрузочной последовательности или чему-то (и отображает ошибку "NTLDR not found" вместо загрузки, скажем), лучшим выбором будет изменение параметров BIOS для порядка загрузочных устройств. или используя утилиту, подобную FDISK, чтобы пометить все разделы на этом диске как несистемные. В крайнем случае, замена двух жестких дисков должна достичь того же результата.

В противном случае существуют "выборочные загрузчики" (например, GRUB), которые могут помочь вам реализовать гибкий вариант загрузки (например, загрузка Linux или Windows или другой Windows с экрана меню запуска).

Другие вопросы по тегам