Windows отмечает дополнительный загрузочный диск SATA - может загрузиться только один раз, когда диск установлен

0

На моем новом ПК с Windows 7 на базе GPT / EFI я пытался установить диск MBR на моем старом ПК в качестве дополнительного диска SATA1. У меня Windows 7 и Linux Mint с двойной загрузкой на новом SATA0, но я все еще хочу использовать старый диск в качестве вторичного резервного диска, а со старым MBR-диском, подключенным к SATA1, Windows 7 настаивает на попытке загрузки от него. Возможно, если бы я вытер диск и перешел к схеме разбиения GPT, я был бы в порядке, но я все еще не готов полностью уничтожить разделы (и данные), которые там находятся.

Поэтому я попытался обнулить часть загрузчика MBR, используя dd, чтобы скопировать 446 байтов нулей в начало диска. И это сработало - отчасти. С недавно обнуленным загрузчиком, я могу загрузить Windows ровно один раз со вторым диском, подключенным к SATA1. После этого Windows 7 снова пытается загрузиться со второго диска - за исключением того, что теперь вместо загрузки загрузчика grub, который был там, она выдает ошибку «no OS found». И забавно то, что если я сравниваю обнуленную MBR от до загрузки окон с MBR после загрузки окон, она изменилась:

cmp -l mbr.beforewindows mbr.afterwindows
441   0 161
442   0 342
443   0 312
444   0  50

По всей видимости, Windows в своей бесконечной мудрости изменила пустую MBR. Согласно Википедии, местоположения MBR 440-443 являются «32-битной подписью диска (необязательно, UEFI, Windows NT / 2000 / Vista / 7 и другие операционные системы)», а расположение 444 должно быть 0. Итак, Windows 7, кажется, посмотрите на диск и решите сделать его загрузочным, испортив его собственную возможность загрузки с имеющимся диском. Браво, Microsoft!

Ну может на той первой загрузке где винда делает подойди, я вижу диск в диспетчере устройств и говорю Windows не пытаться загрузиться с него ...

Кажется, я помню, что где-то встречал аналогичный пост с советами о том, как не дать Windows попытаться «починить» загрузчик дополнительного диска. Кто-нибудь знает что-нибудь об этом?

littlenoodles
источник
что бы это ни стоило, я просто перезагрузился в Linux Mint, и обнуленная MBR остается нетронутой, так что это не прошивка EFI моего BIOS или загрузочный загрузчик rEFInd (или grub, если уж на то пошло), который работает с MBR. Это должен быть либо загрузчик EFI Windows, либо сама Windows 7.
littlenoodles
Хорошо, я заново обнулел MBR, и теперь я в Windows 7 с дисководом SATA1 на месте. Я не вижу ничего в управлении дисками или EasyBCD, которое позволило бы мне рассказать Windows 7 не попробовать загрузиться с SATA1. Означает ли это, что моя последняя надежда на то, чтобы мой старый диск можно было использовать как в Windows, так и в Linux, не стирая его разделы? И поможет ли очистка его разделов?
littlenoodles
Я вижу (снова в Википедии), что последние 2 байта MBR содержат жестко запрограммированное значение «загрузочной подписи» 0xaa55, и это действительно мое. Может быть, стирание это поможет.
littlenoodles
Yipes !!! Это не сработало. После обнуления последних 2 байтов MBR Linux считал таблицу разделов недействительной. После перезагрузки разделов «не было», и fdisk сообщил о таблице разделов как об ошибке. Я вернул старую обнуленную MBR (с обнулением только первых 446 байтов), и fdisk снова доволен.
littlenoodles