У вас есть отдельные загрузчики для Windows и Linux на одном жестком диске?

1

На данный момент у меня есть один жесткий диск на 500 ГБ с Windows, установленной сначала в одном разделе, и Ubuntu, установленный в другом разделе. Поскольку Ubuntu был установлен вторым, он обнаружил раздел Windows, а Grub обеспечил двойную загрузку. Иногда после установки Ubuntu буква C диска Windows меняется на D, а Windows не загружается.

Проблема в том, что когда я хотел установить более новую версию Windows, я установил ее, и теперь система загружается напрямую в Windows. Вариант загрузки в Linux не предусмотрен.

Итак, два вопроса:
1. В ситуации, когда я хочу переустановить Windows или Linux с более новой версией, как я могу предотвратить игнорирование опции двойной загрузки?
2. Есть ли способ сделать раздел Windows и раздел Linux полностью неосведомленными друг о друге? Возможно, наличие стороннего загрузчика, который может определять, какие операционные системы находятся на диске, и позволяет мне выбирать, в какую из них я хочу загружаться, а также позволяет полностью удалить / заменить одну из операционных систем новой, и все еще сможете загрузиться в той ОС (Windows) или в ОС Linux, которая не была затронута?

навигационный
источник
Нет ничего доступного? Черт, пожалуйста, укажите мне правильного человека, и я хотел бы сотрудничать с ними, чтобы изменить существующий загрузчик с открытым исходным кодом, чтобы иметь возможность обрабатывать то, что я упомянул в своем вопросе.
Nav

Ответы:

1

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

Как насчет установки загрузчика на флешку? Таким образом, вы можете продолжать установку / обновление Windows без лишних хлопот, а когда вы хотите загрузить Linux, просто вставьте USB-флешку и загрузите Linux. Вы даже можете изменить свой fstab в Linux, чтобы он не монтировал раздел Windows.

Установите Linux, затем внутри новой установки Linux:

  1. Ноль USB

    дд если = / dev / ноль = / dev / sdd

  2. Создайте 128 МБ раздел в начале USB

    fdisk / dev / sdd ... используйте 'n' для создания раздела mkfs -t ext2 / dev / sdd1 mkdir / tmp / myusb mount / dev / sdd1 / tmp / myusb mkdir / tmp / myusb / boot

  3. Установите grub на USB, убедившись, что загрузочный каталог находится на USB-диске:

    grub-install --boot-directory = / tmp / myusb / boot / dev / sdd

  4. Отредактируйте /etc/grub.d/40_custom и добавьте следующее (msdos1 - первый раздел Windows)

    menuentry "WINDOWS"{
    set root='(hd0,msdos1)' 
    chainloader +1
    }
    
  5. Обновите конфиг grub, вывод на USB.

    update-grub --output = / tmp / myusb / boot / grub / grub.cfg

Большая часть этой информации была из следующего блога: http://jarrodla.blogspot.co.uk/2014/04/hp-microserver-gen8-boot-from-5th-sata.html

PHoBwz
источник
Креативный ответ! Но так как я все еще предпочел бы, чтобы он был на жестком диске, а не на USB-накопителе / ​​накопителе, возможно, я мог бы добавить к вашему творчеству, предложив создать своего рода эмулятор раздела, который бы имитировал раздел MBR, так когда установлена ​​Windows, она будет думать, что она перезаписывает MBR, но на самом деле это не так.
Nav
Я знаю, что вы думаете, загрузчик на MBR, Windows и Linux на отдельных разделах. загрузчик загружается в зависимости от того. Я думаю, что Windows по-прежнему будет проблемой, поскольку он записывает свой собственный загрузчик в MBR физического диска.
PHoBwz