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

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

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

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

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

решение1

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

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

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

  1. Обнулить USB

    dd если=/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.

    обновление-grub --output=/tmp/myusb/boot/grub/grub.cfg

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

Связанный контент