Клонирование диска с двумя системами (Windows+МОС12): различия между версиями

Материал из IT в школе
Перейти к навигацииПерейти к поиску
Метки: правка из мобильной версии правка с мобильного устройства
 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
=== Описание проблемы ===
== Описание проблемы ==
<big>При клонировании диска с двумя системами (например, при помощи ''CloneZilla'' или ''Macrium reflect'') может возникнуть проблема с загрузкой МОС12. Это связано с тем, что расположение EFI загрузчика, который нужно запустить, записано в '''nvram''' машины, при клонировании эта информация не сохраняется и прошивка будет искать загрузчик по стандартному пути: '''ESP_раздел/EFI/BOOT/bootx64.efi''' (''ESP — EFI System Partition''). Если по этому пути расположен загрузчик другой ОС, то загрузится именно она.</big>


<big>Существует три известных способа решения данной проблемы.</big>
<big>При клонировании диска с двумя системами (например, при помощи ''CloneZilla'' или ''Macrium reflect'') может возникнуть проблема с загрузкой ''МОС12''.</big>
 
<big>До возникновения EFI простого клонирования диска было достаточно, так как всё необходимое для загрузки системы находилось на самом диске. В настоящее время сведения о загрузчике записываются в энергозависимую память '''NVRAM''' машины, поэтому при клонировании только диска данные сведения будут потеряны.</big>
 
<big>В EFI существует стандартный путь к EFI-загрузчику на диске, который EFI использует при поиске загрузчика, если не найден файл по загрузочной записи в '''NVRAM'''. Он обычно называется '''fallback''' и нужен для загрузки инсталлятора операционной системы (так как при полном отсутствии загрузочных записей осуществить загрузку невозможно). Для '''x86_64''' путь к EFI-загрузчику выглядит так: '''(EFI раздел)/EFI/BOOT/BOOTx64.efi''' (EFI-раздел — это FAT32/FAT16 с флагом ESP, ''ESP — EFI System Partition''). По данному пути должен находиться загрузчик для реализации возможности загрузки клонированной системы (загрузится именно та система, чей загрузчик расположен по данному пути). Если на диске находятся два EFI-раздела, то рекомендуется, чтобы нужный EFI-раздел был первым, давая возможность EFI найти его в первую очередь. Таким образом, важно, где именно расположен раздел с нужным загрузчиком ('''<u>не</u>''' разделы с ''Windows'' или ''МОС12''), если загрузчиков несколько.</big>
 
=== Существующие проблемы с поиском fallback загрузчика ===
 
<big>1. Прошивка может не искать fallback загрузчик на <u>'''несъемных'''</u> носителях;</big>
 
<big>2. Прошивка может не проверять EFI-разделы кроме первого;</big>
 
<big>3. Старая загрузочная запись, сохранившаяся от предыдущей операционной системы на целевой машине, может совпасть с расположением загрузчика на клонированной системе. В таком случае будет загружена ''Windows'', при этом поиск fallback загрузчика не будет осуществлен.</big>
 
<big>Операционные системы ''Роса'' и ''МОС12'' записывают загрузчик по fallback пути по умолчанию, что сделано для машин, в которых по каким-то причинам не удается сделать запись о загрузчике в '''NVRAM'''. При этом fallback загрузчик создается только в том случае, если в '''(EFI-раздел)/EFI/BOOT/''' ничего нет. Если по данному пути расположен загрузчик от другой установленной операционной системы, инсталляторы ''Росы/МОС12'' не будут его ломать. При установке ''Windows'' в качестве первой операционной системы, запись о загрузчике ''Windows'' располагается по этому пути, что приводит к проблемам при клонировании.</big>
 
== <big>Способы решения проблемы</big> ==
 
<big>Существует несколько способов решения данной проблемы:</big>


=== Способ 1 ===
=== Способ 1 ===
<big>При установке МОС12 убедитесь, что папка '''ESP_раздел/EFI/BOOT/''' пустая. Это можно сделать следующим образом:</big>
<big>При установке ''МОС12'' убедитесь, что папка '''ESP_раздел/EFI/BOOT/''' пустая. Это можно сделать следующим образом:</big>


<big>При загрузке с загрузочной флешки МОС12 до запуска ярлыка '''«Установка MOS»''' откройте Dolphin, выберите слева загрузочный раздел и войдите в папку. Или откройте консоль и выполните следующие команды:</big>
<big>При загрузке с загрузочной флешки МОС12 до запуска ярлыка '''«Установка MOS»''' откройте Dolphin, выберите слева загрузочный раздел и войдите в папку. Или откройте консоль и выполните следующие команды:</big>


<code>sudo fdisk -l</code> <big>- это позволит определить EFI раздел.</big>
<code>sudo fdisk -l</code> <big>- это позволит определить EFI-раздел.</big>
[[Файл:Диспетчер файлов от KDE.png|мини|''Рисунок 1. Диспетчер разделов от KDE'']]
[[Файл:Диспетчер файлов от KDE.png|мини|''Рисунок 1. Диспетчер разделов от KDE'']]
<big>Для определения EFI раздела также можно воспользоваться графической утилитой '''Диспетчер разделов от KDE''' (рис. 1).</big>
<big>Для определения EFI-раздела также можно воспользоваться графической утилитой '''Диспетчер разделов от KDE''' (рис. 1).</big>


<big>После этого его нужно монтировать. Например, определённый EFI раздел - ''/dev/sdb1.'' Введите в консоли следующие команды:</big>
<big>После этого его нужно монтировать. Например, определённый EFI-аздел - ''/dev/sdb1.'' Введите в консоли следующие команды:</big>


<code>sudo mkdir -p /mnt/efi</code>
<code>sudo mkdir -p /mnt/efi</code>


<code>sudo mount /dev/sdb1 /mnt/efi</code> <big>(''на месте /dev/sdb1 должен быть определённый на вашем устройстве EFI раздел'')</big>
<code>sudo mount /dev/sdb1 /mnt/efi</code> <big>(''на месте /dev/sdb1 должен быть определённый на вашем устройстве EFI-раздел'')</big>


<code>ls /mnt/efi/EFI/BOOT</code>
<code>ls /mnt/efi/EFI/BOOT</code>


<big>В случае пустой папки установщик МОС12 сам скопирует туда свой загрузчик, и после клонирования система загрузится правильно.</big>
<big>В случае пустой папки установщик ''МОС12'' сам скопирует туда свой загрузчик, и после клонирования система загрузится правильно.</big>


=== Способ 2 ===
=== Способ 2 ===
<big>При установке МОС12 необходимо выбрать разметку диска '''''вручную''''' и создать '''''отдельный EFI раздел''''' для МОС12. Это также увеличивает вероятность корректной загрузки системы после переноса образа.</big>
 
<big>При установке ''МОС12'' необходимо выбрать разметку диска '''''вручную''''' и создать '''''отдельный EFI раздел''''' для ''МОС12''. Это также увеличивает вероятность корректной загрузки системы после переноса образа.</big>


=== Способ 3 ===
=== Способ 3 ===
<big>Если МОС12 уже установлен, загрузитесь в него.</big>


<big>Определите EFI раздел способом, описанным в п.1. Сделайте резервную копию файлов из EFI раздела и удалите все файлы из этого раздела. Далее описаны команды для EFI раздела, расположенного в ''/dev/sdb1'' (замените его на определённый на вашем устройстве):</big>
<big>Если ''МОС12'' уже установлен, загрузитесь в него.</big>
 
<big>Определите EFI-раздел способом, описанным в п.1. Сделайте резервную копию файлов из EFI-раздела и удалите все файлы из этого раздела. Далее описаны команды для EFI-раздела, расположенного в ''/dev/sdb1'' (замените его на определённый на вашем устройстве):</big>


<code>sudo mkdir -p /mnt/efi</code>
<code>sudo mkdir -p /mnt/efi</code>


<code>sudo mount /dev/sdb1 /mnt/efi</code> <big>(''на месте /dev/sdb1 должен быть определённый на вашем устройстве EFI раздел'')</big>
<code>sudo mount /dev/sdb1 /mnt/efi</code> <big>(''на месте /dev/sdb1 должен быть определённый на вашем устройстве EFI-раздел'')</big>


<code>mkdir -p ~/efi_backup</code>
<code>mkdir -p ~/efi_backup</code>
Строка 47: Строка 66:




<big>Теперь можно клонировать диск, и загрузчик МОС12 будет работать.</big>
<big>Теперь можно клонировать диск, и загрузчик ''МОС12'' будет работать.</big>




Строка 53: Строка 72:


=== Способ 4 ===
=== Способ 4 ===
<big>Рекомендуется:</big>
<big>Рекомендуется:</big>


# <big>Установить и настроить только Windows, используя половину диска.</big>
# <big>Установить и настроить только ''Windows'', используя половину диска.</big>
# <big>Снять образ Windows и клонировать на нужные машины.</big>
# <big>Снять образ ''Windows'' и клонировать на нужные машины.</big>
# <big>На каждую из этих машин с загрузочного USB-носителя установить МОС12.</big>
# <big>На каждую из этих машин с загрузочного USB-носителя установить ''МОС12''.</big>




Строка 70: Строка 90:
=== Способ 5 ===
=== Способ 5 ===


После установки Windows переместить все разделы, которые создаёт винда в конец диска с помощью любой утилиты управления разделами. Например, можно использовать утилиту управления разделами с загрузочной флешки МОС. А в начало диска установить МОС, первым раздел EFI для МОС. Тогда после клонирования первым будет находиться именно раздел EFI для МОС, а в нём будет прописана и загрузка винды. Ручная разметка установки МОС есть в инструкции на офсайте https://os.mos.ru
<big>После установки ''Windows'' переместите все разделы, которые создаёт ''Windows'' в конец диска с помощью любой утилиты управления разделами, например, утилиты управления разделами '''Диспетчер разделов от KDE''' (рис. 1) с загрузочной флешки ''МОС12''. В начало диска следует установить ''МОС12'', первым разделом EFI должен быть раздел для ''МОС12''. В таком случае после клонирования первым будет находиться именно раздел EFI для ''МОС12'', в котором будет прописана загрузка ''Windows''. Описание разметки диска вручную при установке ''МОС12'' находится в инструкции на официальном сайте https://os.mos.ru</big>


=== Способ 6 ===
=== Способ 6 ===


На склонированнлм дуалбуте с проблемой загрузиться с флешки МОС 12 и восстановить grub. В версию образа от 250425 входит графическая утилита восстановления grub.
<big>При возникновении проблем на склонированном дуалбуте следует загрузиться с загрузочной флешки МОС12 и восстановить grub. В версию образа от 25.04.25 входит [[Восстановление в live режиме|графическая утилита восстановления grub]].</big>


__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
[[Категория:МОС12]]
[[Категория:МОС12]]
[[Категория:FAQ]]
[[Категория:FAQ]]

Текущая версия на 11:24, 2 июня 2025

Описание проблемы

При клонировании диска с двумя системами (например, при помощи CloneZilla или Macrium reflect) может возникнуть проблема с загрузкой МОС12.

До возникновения EFI простого клонирования диска было достаточно, так как всё необходимое для загрузки системы находилось на самом диске. В настоящее время сведения о загрузчике записываются в энергозависимую память NVRAM машины, поэтому при клонировании только диска данные сведения будут потеряны.

В EFI существует стандартный путь к EFI-загрузчику на диске, который EFI использует при поиске загрузчика, если не найден файл по загрузочной записи в NVRAM. Он обычно называется fallback и нужен для загрузки инсталлятора операционной системы (так как при полном отсутствии загрузочных записей осуществить загрузку невозможно). Для x86_64 путь к EFI-загрузчику выглядит так: (EFI раздел)/EFI/BOOT/BOOTx64.efi (EFI-раздел — это FAT32/FAT16 с флагом ESP, ESP — EFI System Partition). По данному пути должен находиться загрузчик для реализации возможности загрузки клонированной системы (загрузится именно та система, чей загрузчик расположен по данному пути). Если на диске находятся два EFI-раздела, то рекомендуется, чтобы нужный EFI-раздел был первым, давая возможность EFI найти его в первую очередь. Таким образом, важно, где именно расположен раздел с нужным загрузчиком (не разделы с Windows или МОС12), если загрузчиков несколько.

Существующие проблемы с поиском fallback загрузчика

1. Прошивка может не искать fallback загрузчик на несъемных носителях;

2. Прошивка может не проверять EFI-разделы кроме первого;

3. Старая загрузочная запись, сохранившаяся от предыдущей операционной системы на целевой машине, может совпасть с расположением загрузчика на клонированной системе. В таком случае будет загружена Windows, при этом поиск fallback загрузчика не будет осуществлен.

Операционные системы Роса и МОС12 записывают загрузчик по fallback пути по умолчанию, что сделано для машин, в которых по каким-то причинам не удается сделать запись о загрузчике в NVRAM. При этом fallback загрузчик создается только в том случае, если в (EFI-раздел)/EFI/BOOT/ ничего нет. Если по данному пути расположен загрузчик от другой установленной операционной системы, инсталляторы Росы/МОС12 не будут его ломать. При установке Windows в качестве первой операционной системы, запись о загрузчике Windows располагается по этому пути, что приводит к проблемам при клонировании.

Способы решения проблемы

Существует несколько способов решения данной проблемы:

Способ 1

При установке МОС12 убедитесь, что папка ESP_раздел/EFI/BOOT/ пустая. Это можно сделать следующим образом:

При загрузке с загрузочной флешки МОС12 до запуска ярлыка «Установка MOS» откройте Dolphin, выберите слева загрузочный раздел и войдите в папку. Или откройте консоль и выполните следующие команды:

sudo fdisk -l - это позволит определить EFI-раздел.

Рисунок 1. Диспетчер разделов от KDE

Для определения EFI-раздела также можно воспользоваться графической утилитой Диспетчер разделов от KDE (рис. 1).

После этого его нужно монтировать. Например, определённый EFI-аздел - /dev/sdb1. Введите в консоли следующие команды:

sudo mkdir -p /mnt/efi

sudo mount /dev/sdb1 /mnt/efi (на месте /dev/sdb1 должен быть определённый на вашем устройстве EFI-раздел)

ls /mnt/efi/EFI/BOOT

В случае пустой папки установщик МОС12 сам скопирует туда свой загрузчик, и после клонирования система загрузится правильно.

Способ 2

При установке МОС12 необходимо выбрать разметку диска вручную и создать отдельный EFI раздел для МОС12. Это также увеличивает вероятность корректной загрузки системы после переноса образа.

Способ 3

Если МОС12 уже установлен, загрузитесь в него.

Определите EFI-раздел способом, описанным в п.1. Сделайте резервную копию файлов из EFI-раздела и удалите все файлы из этого раздела. Далее описаны команды для EFI-раздела, расположенного в /dev/sdb1 (замените его на определённый на вашем устройстве):

sudo mkdir -p /mnt/efi

sudo mount /dev/sdb1 /mnt/efi (на месте /dev/sdb1 должен быть определённый на вашем устройстве EFI-раздел)

mkdir -p ~/efi_backup

sudo cp /mnt/efi/* ~/efi_backup

sudo rm -rf /mnt/efi/*


Запустите команду:

sudo grub2-install-hooks


Теперь можно клонировать диск, и загрузчик МОС12 будет работать.


Обратите внимание, что первые два способа относятся к процессу установки системы. Если система уже установлена, и условия, соответствующие первым двум способам, не выполнены, нужно воспользоваться способом 3.

Способ 4

Рекомендуется:

  1. Установить и настроить только Windows, используя половину диска.
  2. Снять образ Windows и клонировать на нужные машины.
  3. На каждую из этих машин с загрузочного USB-носителя установить МОС12.


Преимущества данного способа:

  1. Клон занимает меньше места;
  2. Процесс клонирования пройдет быстрее;
  3. Есть возможность без проблем использовать btrfs;
  4. Отсутствие необходимости перегенерировать machine-id;
  5. Отсутствие проблем с загрузчиком.

Способ 5

После установки Windows переместите все разделы, которые создаёт Windows в конец диска с помощью любой утилиты управления разделами, например, утилиты управления разделами Диспетчер разделов от KDE (рис. 1) с загрузочной флешки МОС12. В начало диска следует установить МОС12, первым разделом EFI должен быть раздел для МОС12. В таком случае после клонирования первым будет находиться именно раздел EFI для МОС12, в котором будет прописана загрузка Windows. Описание разметки диска вручную при установке МОС12 находится в инструкции на официальном сайте https://os.mos.ru

Способ 6

При возникновении проблем на склонированном дуалбуте следует загрузиться с загрузочной флешки МОС12 и восстановить grub. В версию образа от 25.04.25 входит графическая утилита восстановления grub.