Booting from HDD/ru: Difference between revisions
Vitalkrilov (talk | contribs) (Форматирование страницы. Некоторые изменения для соблюдения стилистики Вики.) |
Vitalkrilov (talk | contribs) (Исправлена ссылка на файл mbr в подразделе "Оба режима...".) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:Загрузка с HDD}} | {{DISPLAYTITLE:Загрузка с HDD}} | ||
= BIOS (LEGACY) режим = | = BIOS (LEGACY) режим = | ||
Обратите внимание, что для установки необходима таблица разделов MBR. Возможно, подойдет гибридная (GPT+MBR). | Обратите внимание, что для установки необходима таблица разделов MBR. Возможно, подойдет гибридная (GPT+MBR). | ||
Line 76: | Line 74: | ||
7. Пожелания, замечания, предложения отправляйте сюда: | 7. Пожелания, замечания, предложения отправляйте сюда: | ||
::[http://board.kolibrios.org/viewtopic.php?f=4&t=1999&view=unread#p45263 Kolibri на жестком диске] | ::[http://board.kolibrios.org/viewtopic.php?f=4&t=1999&view=unread#p45263 Kolibri на жестком диске] | ||
= UEFI режим (поддерживает и x32, и x64 загрузчики) = | |||
== Установка из-под Linux == | |||
'''Внимание''': перед началом действий убедитесь в том, что вы знаете, как называется ваш диск (<code>/dev/sdX</code>(<code>N</code>); например, диск <code>/dev/sdb</code>, раздел <code>/dev/sdb1</code>), на который вы хотите установить KolibriOS. В противном случае вы можете потерять данные, например, отформатировав неправильный диск / раздел. | |||
Также рекомендуется запустить систему до установки, чтобы узнать, видит ли KolibriOS ваш диск, куда вы собираетесь установить её. | |||
Для этого руководства мы возьмем диск <code>/dev/sdb</code>. Необязательно ставить KolibriOS прямо на физический диск, вы можете поставить её и на образ диска (например, для работы с виртуальными машинами). | |||
Эта инструкция подробно описывает процесс установки (например, чтобы пользователи Windows, загрузив LiveCD какого-нибудь Linux-дистрибутива, смогли понять, что и как делать). Но она также может быть полезна более опытным пользователям: при должном желании можно довольно гибко настроить систему. | |||
Эти же действия можно проводить и на других системах (в том числе и Windows). Правда, понадобятся другие программы для работы, к примеру, с монтированием дисков. | |||
=== Шаг 1: создание таблицы разделов и разметка диска (по необходимости) === | |||
Для начала нам нужно создать таблицу разделов. Скорее всего, она у вас уже есть, но стоит обратить внимание, что рекомендуется использовать таблицу разделов GPT. Не факт, что ваш компьютер сможет загрузить систему в режиме UEFI с диска с таблицей, например, MBR (однако вы все же можете попробовать). | |||
Запустим программу <code>fdisk</code> для работы с необходимым диском: | |||
<code>$ sudo fdisk /dev/sdb</code> | |||
Итак, теперь нам нужно создать таблицу. | |||
<code>> g</code> | |||
::(''<code>o</code> — для создания MBR'') | |||
Мы создали таблицу GPT. Теперь необходимо разметить диск. | |||
<code>> n</code> | |||
::команда создания раздела | |||
<code>1</code> | |||
::выберем номер раздела | |||
<code>2048</code> | |||
::сектор (в моем случае: 2048 — минимальный), откуда будет начинаться раздел (можно просто нажать [Enter], ничего не вводя) | |||
<code>+3G</code> | |||
::размер раздела (K,M,G,T,P для килобайтов, мегабайтов и т.д. соответственно). Для выбора всего оставшегося дискового пространства можно просто нажать [Enter]. | |||
Мы создали раздел на диске. Если вы хотите сделать свою разметку (добавить отдельный раздел для документов, например), то можете этим заняться. Далее нам понадобится указать тип для системного раздела: | |||
<code>> t</code> | |||
::команда смены типа раздела | |||
<code>1</code> | |||
::выберем нужный номер раздела (в нашем случае — <code>1</code>, но если раздел на диске один, это не будет спрашиваться) | |||
<code>1</code> | |||
::выберем нужный тип раздела (<code>1</code> — <code>EFI System</code>) | |||
Всё, мы разметили диск. Сохраним и выйдем из программы: | |||
<code>> w</code> | |||
=== Шаг 2: форматирование диска === | |||
Для того, чтобы отформатировать диск, достаточно ввести: | |||
<code>$ sudo mkfs.fat -F32 /dev/sdb1</code> | |||
::<code>/dev/sdb1</code> — созданный нами раздел диска; если создавали несколько, то вам, вероятно, необходимо указать нужный номер раздела (число после "/dev/sdb") | |||
=== Шаг 3: копирование файлов загрузчика === | |||
Чтобы достать файлы загрузчика системы, у нас есть два варианта: | |||
* мы можем скачать Гибридный UEFI/BIOS образ для Flash/HDD ([https://kolibrios.org/ru/download.htm Скачать KolibriOS]), подключить его к системе, примонтировать, а затем достать оттуда всё, что нужно; | |||
* скачать конкретные файлы с [https://builds.kolibrios.org builds.kolibrios.org]. | |||
Второй вариант позволит как сэкономить интернет-трафик, так и дает возможность быстрее (и при меньших усилиях) обновлять систему (об этом будет рассказано позже). Однако, можно скачать лишь файлы последней сборки. | |||
Первый вариант, как нетрудно понять, позволит нам скачивать более старые версии и устанавливать их. Правда, придётся скачивать порядка 50 мегабайтов архива. | |||
Не будем зря нагружать диск временными файлами, перейдем по пути <code>/tmp</code>, где создадим папку, например, <code>ttmp</code>. Обратите внимание, что файлы тут не сохраняются надолго (все хранится до перезапуска, это в оперативной памяти). Вы можете работать и на диске (например, в <code>~/ttmp</code> при таком желании. | |||
<code>$ cd /tmp</code> | |||
<code>$ mkdir ttmp</code> | |||
==== Способ 1: достать файлы из образа ==== | |||
Перейдем на сайт KolibriOS и скачаем там вышеупомянутый образ. Если вам нужно поставить более старую версию, то они располагаются тут: [https://builds.kolibrios.org/rus/history builds.kolibrios.org/rus/history]. Итак, получим 7z-архив, который нужно распаковать. | |||
Теперь нам следует распаковать архив. Скорее всего, он сохранился в <code>~/Downloads/latest-raw.7z</code> (или <code>~/Загрузки/latest-raw.7z</code>). | |||
<code>$ 7z e ~/Downloads/latest-raw.7z</code> | |||
::<code>e</code> — распаковать всё в текущую директорию без папок | |||
Заметим, что в архиве лежит kolibri.raw — образ, который нам нужно подключить: | |||
<code>$ sudo losetup loop3 kolibri.raw</code> | |||
::если произошла ошибка, то, вероятно, виртуальное устройство <code>/dev/loop3</code> уже занято; вы можете посмотреть, начиная с какой цифры <code>/dev/loopN</code> свободны и выбрать такой (в <code>losetup --list</code> можно увидеть, какие заняты) | |||
<code>$ sudo partprobe /dev/loop3</code> | |||
::попросим систему найти разделы в подключенном образе | |||
<code>$ mkdir rawfiles</code> | |||
::создадим папку, куда примонтируем раздел с файлами системы | |||
<code>$ sudo mount /dev/loop3p1 rawfiles</code> | |||
::примонтируем раздел в созданную папку | |||
Теперь по пути <code>./rawfiles</code> лежит множество системных файлов. Оттуда нам понадобится всё, что находится в <code>rawfiles/EFI/BOOT</code> и потом, скорее всего, <code>rawfiles/KOLIBRIOS</code>. | |||
Создадим папку, куда примонтируем наш диск: | |||
<code>$ mkdir mnt</code> | |||
<code>$ sudo mount /dev/sdb1 mnt</code> | |||
::монтируем наш раздел в папку <code>mnt</code> | |||
Теперь скопируем файлы загрузчика с образом дискеты на диск: | |||
<code>$ sudo cp -a rawfiles/EFI mnt/</code> | |||
В способе 2 также будет рассказано о том, для чего нужен каждый файл. | |||
===== Установка минимальной + расширенной сборки прямо на диск ===== | |||
Пока у нас смонтирован <code>kolibri.raw</code>, мы можем достать оттуда папку <code>KOLIBRIOS</code>, в которой лежат распакованные файлы минимальной сборки + всё то, что поставляется в расширенной (или ISO) сборке. | |||
Придумаем название для папки, в которой будет располагаться ОС. Допустим, <code>KOS_ROOT</code>. | |||
<code>$ sudo mkdir mnt/KOS_ROOT</code> | |||
::создадим её | |||
<code>$ sudo cp -a rawfiles/KOLIBRIOS/* mnt/KOS_ROOT</code> | |||
::скопируем все файлы сборки | |||
===== Отключение образа ===== | |||
Теперь можно размонтировать <code>kolibri.raw</code>: | |||
<code>$ sudo umount rawfiles</code> | |||
<code>$ sudo losetup -d /dev/loop3</code> | |||
::отключим образ системы | |||
==== Способ 2: скачать конкретные файлы с сервера ==== | |||
По адресу [https://builds.kolibrios.org/rus/data builds.kolibrios.org/rus/data] вы можете найти файлы, которые упаковываются в последнюю сборку системы (туда, что скачивали в первом способе). | |||
Для работы загрузки в режиме UEFI понадобятся бинарники загрузчика: | |||
<code>$ wget https://builds.kolibrios.org/rus/data/kernel/trunk/bootloader/uefi4kos/bootia32.efi</code> | |||
::если у вас 32-битный UEFI | |||
<code>$ wget https://builds.kolibrios.org/rus/data/kernel/trunk/bootloader/uefi4kos/bootx64.efi</code> | |||
::если у вас 64-битный UEFI | |||
Вы, естественно, можете скачать оба бинарника, чтобы KolibriOS могла запуститься на компьютере с UEFI другой битности. | |||
<code>$ wget https://builds.kolibrios.org/rus/data/kernel/trunk/bootloader/uefi4kos/kolibri.ini</code> | |||
::скачаем файл конфигурации загрузчика | |||
<code>$ wget https://builds.kolibrios.org/rus/data/kernel/trunk/kolibri.krn</code> | |||
::скачаем ядро системы (собранное специально для загрузки в режиме UEFI) | |||
<code>$ wget https://builds.kolibrios.org/rus/data/data/kolibri.img</code> | |||
::скачаем основной (минимальный) образ системы | |||
Итак, мы скачали минимальную сборку системы — образ дискеты и UEFI-загрузчик. Теперь поставим всё это на диск. | |||
<code>$ mkdir mnt</code> | |||
::создадим папку, куда примонтируем наш диск | |||
<code>$ sudo mount /dev/sdb1 mnt</code> | |||
::монтируем наш раздел в папку <code>mnt</code> | |||
Создадим необходимые папки: | |||
<code>$ sudo mkdir mnt/EFI</code> | |||
<code>$ sudo mkdir mnt/EFI/BOOT</code> | |||
<code>$ sudo mkdir mnt/EFI/KOLIBRIOS</code> | |||
Скопируем файлы: | |||
<code>$ sudo cp bootia32.efi mnt/EFI/BOOT</code> | |||
::если у вас 32-битный UEFI | |||
<code>$ sudo cp bootx64.efi mnt/EFI/BOOT</code> | |||
::если у вас 64-битный UEFI | |||
<code>$ sudo cp kolibri.krn mnt/EFI/KOLIBRIOS</code> | |||
<code>$ sudo cp kolibri.img mnt/EFI/KOLIBRIOS</code> | |||
<code>$ sudo cp kolibri.ini mnt/EFI/KOLIBRIOS</code> | |||
Обратите внимание, что папки <code>EFI</code> и <code>EFI/KOLIBRIOS</code> обязательно должны существовать. Папку <code>EFI/BOOT</code> не обязательно называть <code>BOOT</code>, это делается для того, чтобы не было проблем с запуском. Файлы загрузчика <code>bootia32.efi</code> и/или <code>bootx64.efi</code> можно расположить как в <code>EFI/KOLIBRIOS</code>, так и в любой другой папке в <code>EFI</code> (но учтите, что, вероятно, вам понадобится добавить загрузочную запись в настройках BIOS или вручную запускать бинарник). | |||
==== В итоге ==== | |||
На этом моменте инструкции мы поставили минимальную сборку, при работе с которой файлы сохраняться не будут (именно те, которые будут в системном разделе, а не на подключенных дисках). Если вам этого достаточно, то вы можете перейти к шагу 5 или уже размонтировать диск и проверить установленную систему: | |||
<code>$ sudo umount mnt</code> | |||
=== Шаг 4: установка файлов системы прямо на диск === | |||
Для начала определимся, что нам нужно: минимальная сборка на диске или минимальная + расширенная. Если нужна минимальная + расширенная, то у вас два варианта: | |||
* скачать <code>kolibri.raw</code>, примонтировать его и достать файлы оттуда | |||
* скачать <code>kolibri.iso</code>, скопировать файлы из папки <code>kolibrios</code> в заранее подготовленную минимальную сборку. | |||
Выбрав первый вариант, переходите к способу 1 шага 3. Делайте всё, кроме установки загрузчика (мы его уже поставили). | |||
Второй вариант должен быть понятен. <code>kolibri.iso</code> находися всё там же: [https://kolibrios.org/ru/download.htm Скачать KolibriOS]. По сути все действия для получения доступа к нужной папке (монтирования ISO) сводятся к выполнению действий, описанных в способе 1 шага 3 (разве что, вы работаете не с <code>.raw</code>, а с <code>.iso</code>; команды <code>losetup</code> и <code>partprobe</code> не потребуются, монтируйте распакованный <code>kolibri.iso</code> напрямую в папку). | |||
Тогда узнаем, как ставить минимальную сборку. Это просто: | |||
<code>$ mkdir imgfiles</code> | |||
<code>$ sudo mount -r mnt/EFI/KOLIBRIOS/kolibri.img imgfiles</code> | |||
::предполагается, что диск, куда ставим систему, вы не размонтировали; монтируем образ дискеты только для чтения | |||
Придумаем название для папки, в которой будут располагаться файлы ОС. Допустим, <code>KOS_ROOT</code>. | |||
<code>$ sudo mkdir mnt/KOS_ROOT</code> | |||
::создадим её | |||
<code>$ sudo cp -a imgfiles/* mnt/KOS_ROOT</code> | |||
::скопируем все файлы минимальной сборки | |||
Мы все скопировали и поставили, теперь можно отключить образ дискеты: | |||
<code>$ sudo umount imgfiles</code> | |||
=== Шаг 5: настройка загрузчика и информация о параметрах === | |||
Загрузчик настраивается путём изменения содержимого <code>EFI/KOLIBRIOS/kolibri.ini</code>. | |||
Мы сразу увидим возможные параметры, как только откроем этот файл. Вкратце: | |||
* <code>resolution</code> — устанавливает предпочитаемое разрешение экрана (оно должно поддерживаться UEFI вашего компьютера) в формате <code>ДЛИНА*ШИРИНА</code>. Если параметр явно не указан, то разрешение установится максимально возможным из вариантов вашего компьютера. | |||
* <code>debug_print</code> — устанавливает режим отладки (система будет отображать важную информацию поверх приложений). Варианты: <code>0</code> для выключения, <code>1</code> для включения. | |||
* <code>launcher_start</code> — в основном используется для поиска неисправностей: рабочий стол не будет загружаться, последние сообщения системы будут видны на экране. Варианты: <code>0</code> для выключения, <code>1</code> для включения. | |||
* <code>mtrr</code> — для настройки большей производительности процессора. Варианты: <code>0</code> для выключения, <code>1</code> для включения. | |||
* <code>imgfrom</code> — для указания типа установки и запуска. Варианты: <code>3</code> для минимальной сборки без сохранения файлов (система загружается в оперативную памяти), <code>5</code> для установленной на диск в специальную папку. | |||
* <code>syspath</code> — пути к папке с файлами системы в случае установки KolibriOS прямо на диск (с сохранением файлов). Указывается такой путь, какой виден в самой системе (например, в файловом менеджере). | |||
Чтобы настроить загрузку системы из файлов на диске, нужно узнать путь к этой папке. Если вы его не знаете, то: | |||
# размонтируйте диск (команда в конце шага 3) | |||
# перезагрузитесь в KolibriOS (очевидно, будет запущена сборка без сохранения файлов) | |||
# запустите файловый менеджер, найдите эту папку (<code>KOS_ROOT</code> в случае примера) и запомните путь к ней | |||
::вы даже можете поменять параметры загрузчика, не перезагружаясь обратно, прямо из KolibriOS | |||
Узнав путь к папке, укажите его в параметре <code>syspath</code>. Параметр <code>imgfrom</code> поменяйте на <code>5</code>. Всё, вы включили загрузку с файлов на диске. Можете попробовать и перезапуститься. | |||
=== Обновление системы === | |||
Для обновления минимального образа системы рекомендуется (автором инструкции) способ 2 шага 3 из-за простоты и гораздо меньшего потребления трафика. | |||
Обновления системы на данный момент сводятся к тому, что нужно, по сути, переустановить систему (заменить её файлы). Можно, конечно, попробовать обновить только ту часть диска, где располагается загрузчик и образ дискеты, но это в большинстве случаев все равно вынудит обновить (заменить) файлы системы на диске ввиду высокой вероятности нестабильной работы (некоторые компоненты в системе, например, могут быть взаимосвязаны). | |||
= Оба режима сразу: BIOS (LEGACY) и UEFI (и x32, и x64 загрузчики) = | |||
Установка производится аналогично тому, как собирается Гибридный UEFI/BIOS образ для Flash/HDD (<code>kolibri.raw</code>), доступный для скачивания. | |||
== Установка из-под Linux == | |||
=== Подготовка === | |||
Убедитесь, что у вас установлен пакет '''''mtools'''''. | |||
Допустим, наше устройство находится в <code>/dev/sdb</code>. | |||
Список необходимых файлов: | |||
* [http://websvn.kolibrios.org/dl.php?repname=Kolibri+OS&path=%2Fprograms%2Fhd_load%2Fusb_boot%2Fmbr mbr] | |||
* [https://builds.kolibrios.org/rus/data/kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin bootsect.bin] | |||
=== Установка === | |||
<code>$ sudo parted --script /dev/sdb mktable gpt</code> | |||
::создание таблицы GPT | |||
<code>$ sudo parted --script /dev/sdb unit MiB mkpart primary fat32 1 <ОБЪЁМ-1></code> | |||
::создание раздела, где <code><ОБЪЁМ></code> — весь реальный объём накопителя (<code><ОБЪЁМ-1></code> = <code><ОБЪЁМ></code>-1) | |||
::Весь реальный объём накопителя (он в мегабайтах) можно вычислить так: | |||
::Вызовем <code>fdisk -l /dev/sdb</code>. В конце первой строки выведется количество секторов. | |||
::Реальный объём = (количество секторов)*512/1024/1024 | |||
::Если число дробное, то округлите в меньшую сторону. Вызывайте команду. Если возникнет ошибка, то уменьшите <code><ОБЪЁМ></code> на 1. Делайте так до тех пор, пока ошибка не пропадёт (понадобится приблизительно 1-3 вызова). | |||
<code>$ sudo parted --script /dev/sdb set 1 esp on</code> | |||
::делаем раздел загрузочным | |||
<code>$ sudo sgdisk /dev/sdb --hybrid 1:EE</code> | |||
<code>$ sudo dd if=mbr of=/dev/sdb bs=1 count=$((0x1b8)) conv=notrunc</code> | |||
<code>$ sudo dd if=mbr of=/dev/sdb bs=1 count=1 skip=$((0x5a)) seek=$((0x1be)) conv=notrunc</code> | |||
::делаем таблицу разделов гибридной | |||
<code>$ sudo mformat -i /dev/sdb@@1M -v KOLIBRIOS -T $(((<ОБЪЁМ>-1-1)*1024*1024/512)) -h 16 -s 32 -H 2048 -c 1 -F -B bootsect.bin ::</code> | |||
::форматируем раздел, <code><ОБЪЁМ></code> всё тот же | |||
Теперь осталось примонтировать раздел нашего диска. | |||
Туда необходимо скопировать содержимое Гибридного UEFI/BIOS образа для Flash/HDD (<code>kolibri.raw</code>; его можно найти по ссылке: [https://kolibrios.org/ru/download.htm Скачать KolibriOS]). | |||
Вы всё установили, можете пробовать запускать KolibriOS. | |||
[[Category:Руководства]] | [[Category:Руководства]] |
Latest revision as of 16:44, 3 June 2022
BIOS (LEGACY) режим
Обратите внимание, что для установки необходима таблица разделов MBR. Возможно, подойдет гибридная (GPT+MBR).
Установка из-под Windows / DOS
Шаг 1: копирование основных файлов
Скопируйте файлы mtldr
и kolibri.img
в c:\
Не нравится c:\
? Прочитайте замечания ниже.
Шаг 2
А | Для пользователей NT-семейства до Vista (NT/2k/XP/2003 Server (?))
Добавьте в boot.ini
в раздел [operating systems]
строку c:\mtldr="KolibriOS"
.
Либо откройте любым текстовым редактором c:\boot.ini
, либо через Control Panel -> System -> Advanced -> Startup and Recovery -> Edit. Название в кавычках можете заменить на любое понравившееся, под этим названием система будет появляться в списке загрузки. Теперь при загрузке будет выдаваться экран выбора операционной системы.
Б | Для пользователей 9x-семейства (95/98) (возможно, и некоторых DOS)
Добавьте в config.sys
строку install=c:\mtldr
- первой строкой, если у вас простой линейный
config.sys
; - первой строкой в соответствующей секции, если
config.sys
разбит на секции (и начинается с[menu]
).
- первой строкой, если у вас простой линейный
Теперь при загрузке mtldr будет спрашивать: "Load KolibriOS? [y/n]: " и ожидать нажатия одного из 'y','Y','n','N'.
Для Windows Millenium это не работает, так как Me'шный загрузчик не загружает внешнего кода из config.sys
(спасибо camper'у за указание на этот прискорбный факт). Используйте 9x2klbr.
В | Для пользователей Vista
Откройте командную строку от имени администратора (пункт "Run as administrator" в контекстном меню).
Если вы не планируете установку нескольких вариантов KolibriOS как описано в замечаниях, то просто запустите прилагаемый vista_install.bat
, иначе выполните следующие команды:
bcdedit /create /d "KolibriOS" /application BOOTSECTOR
- Название в кавычках можете заменить на любое понравившееся, под этим названием система будет появляться в списке загрузки.
Должно появиться сообщение вида "Запись {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} успешно создана.". Далее в командах подставьте полученное значение (оно отличается на разных компьютерах).
bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} DEVICE PARTITION=C:
bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} PATH \mtldr
bcdedit /displayorder {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} /addlast
Общая информация
Удаление в случаях А и Б осуществляется удалением введённых данных в boot.ini
и config.sys
соответственно.
Удаление в случае В делается так:
- Запустите
vista_remove.bat
, если установка была черезvista_install.bat
; bcdedit /delete {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
в общем случае.
- Запустите
Если вы не помните назначенный при установке GUID (это нормальное явление), то узнать его можно, выполнив команду bcdedit
без аргументов и найдя в выведенном списке соответствующий элемент.
Во всех случаях в экране выбора параметров KolibriOS можно на вопрос, откуда грузить образ (пункт d, "образ дискеты"), отвечать "3" (использовать уже загруженный образ).
Замечания
1. В настоящее время это работает для файловых систем NTFS и FAT32.
2. Сам загрузчик mtldr
необязательно помещать в C:\
. Под 9x и Vista он может размещаться где угодно, в NT/2k/XP — на диске C:, но необязательно в корневой папке.
Разумеется, при установке нужно указывать вместо c:\mtldr
реальный путь и реальное имя файла.
3. Образ kolibri.img
тоже необязательно помещать в C:\
. Можно без всяких изменений в установке использовать корневую папку любого логического диска, размещающегося на первом физическом.
4. Если хочется использовать логический диск на другом физическом диске, то сгодится любой из следующих вариантов:
- a) (Если вы умеете работать с FASM'ом) В исходниках (которые можно скачать на http://diamondz.land.ru, там же, где и сам загрузчик) поменяйте константу
boot_drive
(в концеmtldr.asm
) с80h
на идентификатор диска,80h
соответствует первому,81h
— второму и т.д. Перекомпилируйте. - б) (Если вы умеете работать с HEX-редактором) Поменяйте байт по смещению
0xD98
с80h
на идентификатор диска (как в пункте а). - в) Используйте установщик mtldr_install (скачать его можно там же; он настроит загрузчик и сам же его установит).
- a) (Если вы умеете работать с FASM'ом) В исходниках (которые можно скачать на http://diamondz.land.ru, там же, где и сам загрузчик) поменяйте константу
5. Если не хотите устанавливать в корневую папку, то у вас есть два варианта:
- а) В исходниках поменяйте строку
kolibri_img_name
(в концеmtldr.asm
) на путь к файлу. Например, дляC:\Program Files\kolibri\kolibri.img
запишитеprogra~1\kolibri\kolibri.img
(при этом нужны имена 8.3). Перекомпилируйте. - б) Используйте установщик mtldr_install.
- а) В исходниках поменяйте строку
6. Если воспользоваться рекомендациями пунктов 2 и 5 и повторить установку несколько раз для разных расположений связки mtldr
+kolibri.img
, можно получить в загрузочном меню несколько входов для разных версий KolibriOS (или для версий с разными настройками).
7. Пожелания, замечания, предложения отправляйте сюда:
UEFI режим (поддерживает и x32, и x64 загрузчики)
Установка из-под Linux
Внимание: перед началом действий убедитесь в том, что вы знаете, как называется ваш диск (/dev/sdX
(N
); например, диск /dev/sdb
, раздел /dev/sdb1
), на который вы хотите установить KolibriOS. В противном случае вы можете потерять данные, например, отформатировав неправильный диск / раздел.
Также рекомендуется запустить систему до установки, чтобы узнать, видит ли KolibriOS ваш диск, куда вы собираетесь установить её.
Для этого руководства мы возьмем диск /dev/sdb
. Необязательно ставить KolibriOS прямо на физический диск, вы можете поставить её и на образ диска (например, для работы с виртуальными машинами).
Эта инструкция подробно описывает процесс установки (например, чтобы пользователи Windows, загрузив LiveCD какого-нибудь Linux-дистрибутива, смогли понять, что и как делать). Но она также может быть полезна более опытным пользователям: при должном желании можно довольно гибко настроить систему.
Эти же действия можно проводить и на других системах (в том числе и Windows). Правда, понадобятся другие программы для работы, к примеру, с монтированием дисков.
Шаг 1: создание таблицы разделов и разметка диска (по необходимости)
Для начала нам нужно создать таблицу разделов. Скорее всего, она у вас уже есть, но стоит обратить внимание, что рекомендуется использовать таблицу разделов GPT. Не факт, что ваш компьютер сможет загрузить систему в режиме UEFI с диска с таблицей, например, MBR (однако вы все же можете попробовать).
Запустим программу fdisk
для работы с необходимым диском:
$ sudo fdisk /dev/sdb
Итак, теперь нам нужно создать таблицу.
> g
- (
o
— для создания MBR)
- (
Мы создали таблицу GPT. Теперь необходимо разметить диск.
> n
- команда создания раздела
1
- выберем номер раздела
2048
- сектор (в моем случае: 2048 — минимальный), откуда будет начинаться раздел (можно просто нажать [Enter], ничего не вводя)
+3G
- размер раздела (K,M,G,T,P для килобайтов, мегабайтов и т.д. соответственно). Для выбора всего оставшегося дискового пространства можно просто нажать [Enter].
Мы создали раздел на диске. Если вы хотите сделать свою разметку (добавить отдельный раздел для документов, например), то можете этим заняться. Далее нам понадобится указать тип для системного раздела:
> t
- команда смены типа раздела
1
- выберем нужный номер раздела (в нашем случае —
1
, но если раздел на диске один, это не будет спрашиваться)
- выберем нужный номер раздела (в нашем случае —
1
- выберем нужный тип раздела (
1
—EFI System
)
- выберем нужный тип раздела (
Всё, мы разметили диск. Сохраним и выйдем из программы:
> w
Шаг 2: форматирование диска
Для того, чтобы отформатировать диск, достаточно ввести:
$ sudo mkfs.fat -F32 /dev/sdb1
/dev/sdb1
— созданный нами раздел диска; если создавали несколько, то вам, вероятно, необходимо указать нужный номер раздела (число после "/dev/sdb")
Шаг 3: копирование файлов загрузчика
Чтобы достать файлы загрузчика системы, у нас есть два варианта:
- мы можем скачать Гибридный UEFI/BIOS образ для Flash/HDD (Скачать KolibriOS), подключить его к системе, примонтировать, а затем достать оттуда всё, что нужно;
- скачать конкретные файлы с builds.kolibrios.org.
Второй вариант позволит как сэкономить интернет-трафик, так и дает возможность быстрее (и при меньших усилиях) обновлять систему (об этом будет рассказано позже). Однако, можно скачать лишь файлы последней сборки. Первый вариант, как нетрудно понять, позволит нам скачивать более старые версии и устанавливать их. Правда, придётся скачивать порядка 50 мегабайтов архива.
Не будем зря нагружать диск временными файлами, перейдем по пути /tmp
, где создадим папку, например, ttmp
. Обратите внимание, что файлы тут не сохраняются надолго (все хранится до перезапуска, это в оперативной памяти). Вы можете работать и на диске (например, в ~/ttmp
при таком желании.
$ cd /tmp
$ mkdir ttmp
Способ 1: достать файлы из образа
Перейдем на сайт KolibriOS и скачаем там вышеупомянутый образ. Если вам нужно поставить более старую версию, то они располагаются тут: builds.kolibrios.org/rus/history. Итак, получим 7z-архив, который нужно распаковать.
Теперь нам следует распаковать архив. Скорее всего, он сохранился в ~/Downloads/latest-raw.7z
(или ~/Загрузки/latest-raw.7z
).
$ 7z e ~/Downloads/latest-raw.7z
e
— распаковать всё в текущую директорию без папок
Заметим, что в архиве лежит kolibri.raw — образ, который нам нужно подключить:
$ sudo losetup loop3 kolibri.raw
- если произошла ошибка, то, вероятно, виртуальное устройство
/dev/loop3
уже занято; вы можете посмотреть, начиная с какой цифры/dev/loopN
свободны и выбрать такой (вlosetup --list
можно увидеть, какие заняты)
- если произошла ошибка, то, вероятно, виртуальное устройство
$ sudo partprobe /dev/loop3
- попросим систему найти разделы в подключенном образе
$ mkdir rawfiles
- создадим папку, куда примонтируем раздел с файлами системы
$ sudo mount /dev/loop3p1 rawfiles
- примонтируем раздел в созданную папку
Теперь по пути ./rawfiles
лежит множество системных файлов. Оттуда нам понадобится всё, что находится в rawfiles/EFI/BOOT
и потом, скорее всего, rawfiles/KOLIBRIOS
.
Создадим папку, куда примонтируем наш диск:
$ mkdir mnt
$ sudo mount /dev/sdb1 mnt
- монтируем наш раздел в папку
mnt
- монтируем наш раздел в папку
Теперь скопируем файлы загрузчика с образом дискеты на диск:
$ sudo cp -a rawfiles/EFI mnt/
В способе 2 также будет рассказано о том, для чего нужен каждый файл.
Установка минимальной + расширенной сборки прямо на диск
Пока у нас смонтирован kolibri.raw
, мы можем достать оттуда папку KOLIBRIOS
, в которой лежат распакованные файлы минимальной сборки + всё то, что поставляется в расширенной (или ISO) сборке.
Придумаем название для папки, в которой будет располагаться ОС. Допустим, KOS_ROOT
.
$ sudo mkdir mnt/KOS_ROOT
- создадим её
$ sudo cp -a rawfiles/KOLIBRIOS/* mnt/KOS_ROOT
- скопируем все файлы сборки
Отключение образа
Теперь можно размонтировать kolibri.raw
:
$ sudo umount rawfiles
$ sudo losetup -d /dev/loop3
- отключим образ системы
Способ 2: скачать конкретные файлы с сервера
По адресу builds.kolibrios.org/rus/data вы можете найти файлы, которые упаковываются в последнюю сборку системы (туда, что скачивали в первом способе).
Для работы загрузки в режиме UEFI понадобятся бинарники загрузчика:
$ wget https://builds.kolibrios.org/rus/data/kernel/trunk/bootloader/uefi4kos/bootia32.efi
- если у вас 32-битный UEFI
$ wget https://builds.kolibrios.org/rus/data/kernel/trunk/bootloader/uefi4kos/bootx64.efi
- если у вас 64-битный UEFI
Вы, естественно, можете скачать оба бинарника, чтобы KolibriOS могла запуститься на компьютере с UEFI другой битности.
$ wget https://builds.kolibrios.org/rus/data/kernel/trunk/bootloader/uefi4kos/kolibri.ini
- скачаем файл конфигурации загрузчика
$ wget https://builds.kolibrios.org/rus/data/kernel/trunk/kolibri.krn
- скачаем ядро системы (собранное специально для загрузки в режиме UEFI)
$ wget https://builds.kolibrios.org/rus/data/data/kolibri.img
- скачаем основной (минимальный) образ системы
Итак, мы скачали минимальную сборку системы — образ дискеты и UEFI-загрузчик. Теперь поставим всё это на диск.
$ mkdir mnt
- создадим папку, куда примонтируем наш диск
$ sudo mount /dev/sdb1 mnt
- монтируем наш раздел в папку
mnt
- монтируем наш раздел в папку
Создадим необходимые папки:
$ sudo mkdir mnt/EFI
$ sudo mkdir mnt/EFI/BOOT
$ sudo mkdir mnt/EFI/KOLIBRIOS
Скопируем файлы:
$ sudo cp bootia32.efi mnt/EFI/BOOT
- если у вас 32-битный UEFI
$ sudo cp bootx64.efi mnt/EFI/BOOT
- если у вас 64-битный UEFI
$ sudo cp kolibri.krn mnt/EFI/KOLIBRIOS
$ sudo cp kolibri.img mnt/EFI/KOLIBRIOS
$ sudo cp kolibri.ini mnt/EFI/KOLIBRIOS
Обратите внимание, что папки EFI
и EFI/KOLIBRIOS
обязательно должны существовать. Папку EFI/BOOT
не обязательно называть BOOT
, это делается для того, чтобы не было проблем с запуском. Файлы загрузчика bootia32.efi
и/или bootx64.efi
можно расположить как в EFI/KOLIBRIOS
, так и в любой другой папке в EFI
(но учтите, что, вероятно, вам понадобится добавить загрузочную запись в настройках BIOS или вручную запускать бинарник).
В итоге
На этом моменте инструкции мы поставили минимальную сборку, при работе с которой файлы сохраняться не будут (именно те, которые будут в системном разделе, а не на подключенных дисках). Если вам этого достаточно, то вы можете перейти к шагу 5 или уже размонтировать диск и проверить установленную систему:
$ sudo umount mnt
Шаг 4: установка файлов системы прямо на диск
Для начала определимся, что нам нужно: минимальная сборка на диске или минимальная + расширенная. Если нужна минимальная + расширенная, то у вас два варианта:
- скачать
kolibri.raw
, примонтировать его и достать файлы оттуда - скачать
kolibri.iso
, скопировать файлы из папкиkolibrios
в заранее подготовленную минимальную сборку.
Выбрав первый вариант, переходите к способу 1 шага 3. Делайте всё, кроме установки загрузчика (мы его уже поставили).
Второй вариант должен быть понятен. kolibri.iso
находися всё там же: Скачать KolibriOS. По сути все действия для получения доступа к нужной папке (монтирования ISO) сводятся к выполнению действий, описанных в способе 1 шага 3 (разве что, вы работаете не с .raw
, а с .iso
; команды losetup
и partprobe
не потребуются, монтируйте распакованный kolibri.iso
напрямую в папку).
Тогда узнаем, как ставить минимальную сборку. Это просто:
$ mkdir imgfiles
$ sudo mount -r mnt/EFI/KOLIBRIOS/kolibri.img imgfiles
- предполагается, что диск, куда ставим систему, вы не размонтировали; монтируем образ дискеты только для чтения
Придумаем название для папки, в которой будут располагаться файлы ОС. Допустим, KOS_ROOT
.
$ sudo mkdir mnt/KOS_ROOT
- создадим её
$ sudo cp -a imgfiles/* mnt/KOS_ROOT
- скопируем все файлы минимальной сборки
Мы все скопировали и поставили, теперь можно отключить образ дискеты:
$ sudo umount imgfiles
Шаг 5: настройка загрузчика и информация о параметрах
Загрузчик настраивается путём изменения содержимого EFI/KOLIBRIOS/kolibri.ini
.
Мы сразу увидим возможные параметры, как только откроем этот файл. Вкратце:
resolution
— устанавливает предпочитаемое разрешение экрана (оно должно поддерживаться UEFI вашего компьютера) в форматеДЛИНА*ШИРИНА
. Если параметр явно не указан, то разрешение установится максимально возможным из вариантов вашего компьютера.debug_print
— устанавливает режим отладки (система будет отображать важную информацию поверх приложений). Варианты:0
для выключения,1
для включения.launcher_start
— в основном используется для поиска неисправностей: рабочий стол не будет загружаться, последние сообщения системы будут видны на экране. Варианты:0
для выключения,1
для включения.mtrr
— для настройки большей производительности процессора. Варианты:0
для выключения,1
для включения.imgfrom
— для указания типа установки и запуска. Варианты:3
для минимальной сборки без сохранения файлов (система загружается в оперативную памяти),5
для установленной на диск в специальную папку.syspath
— пути к папке с файлами системы в случае установки KolibriOS прямо на диск (с сохранением файлов). Указывается такой путь, какой виден в самой системе (например, в файловом менеджере).
Чтобы настроить загрузку системы из файлов на диске, нужно узнать путь к этой папке. Если вы его не знаете, то:
- размонтируйте диск (команда в конце шага 3)
- перезагрузитесь в KolibriOS (очевидно, будет запущена сборка без сохранения файлов)
- запустите файловый менеджер, найдите эту папку (
KOS_ROOT
в случае примера) и запомните путь к ней
- вы даже можете поменять параметры загрузчика, не перезагружаясь обратно, прямо из KolibriOS
Узнав путь к папке, укажите его в параметре syspath
. Параметр imgfrom
поменяйте на 5
. Всё, вы включили загрузку с файлов на диске. Можете попробовать и перезапуститься.
Обновление системы
Для обновления минимального образа системы рекомендуется (автором инструкции) способ 2 шага 3 из-за простоты и гораздо меньшего потребления трафика.
Обновления системы на данный момент сводятся к тому, что нужно, по сути, переустановить систему (заменить её файлы). Можно, конечно, попробовать обновить только ту часть диска, где располагается загрузчик и образ дискеты, но это в большинстве случаев все равно вынудит обновить (заменить) файлы системы на диске ввиду высокой вероятности нестабильной работы (некоторые компоненты в системе, например, могут быть взаимосвязаны).
Оба режима сразу: BIOS (LEGACY) и UEFI (и x32, и x64 загрузчики)
Установка производится аналогично тому, как собирается Гибридный UEFI/BIOS образ для Flash/HDD (kolibri.raw
), доступный для скачивания.
Установка из-под Linux
Подготовка
Убедитесь, что у вас установлен пакет mtools.
Допустим, наше устройство находится в /dev/sdb
.
Список необходимых файлов:
Установка
$ sudo parted --script /dev/sdb mktable gpt
- создание таблицы GPT
$ sudo parted --script /dev/sdb unit MiB mkpart primary fat32 1 <ОБЪЁМ-1>
- создание раздела, где
<ОБЪЁМ>
— весь реальный объём накопителя (<ОБЪЁМ-1>
=<ОБЪЁМ>
-1) - Весь реальный объём накопителя (он в мегабайтах) можно вычислить так:
- Вызовем
fdisk -l /dev/sdb
. В конце первой строки выведется количество секторов. - Реальный объём = (количество секторов)*512/1024/1024
- Если число дробное, то округлите в меньшую сторону. Вызывайте команду. Если возникнет ошибка, то уменьшите
<ОБЪЁМ>
на 1. Делайте так до тех пор, пока ошибка не пропадёт (понадобится приблизительно 1-3 вызова).
- создание раздела, где
$ sudo parted --script /dev/sdb set 1 esp on
- делаем раздел загрузочным
$ sudo sgdisk /dev/sdb --hybrid 1:EE
$ sudo dd if=mbr of=/dev/sdb bs=1 count=$((0x1b8)) conv=notrunc
$ sudo dd if=mbr of=/dev/sdb bs=1 count=1 skip=$((0x5a)) seek=$((0x1be)) conv=notrunc
- делаем таблицу разделов гибридной
$ sudo mformat -i /dev/sdb@@1M -v KOLIBRIOS -T $(((<ОБЪЁМ>-1-1)*1024*1024/512)) -h 16 -s 32 -H 2048 -c 1 -F -B bootsect.bin ::
- форматируем раздел,
<ОБЪЁМ>
всё тот же
- форматируем раздел,
Теперь осталось примонтировать раздел нашего диска.
Туда необходимо скопировать содержимое Гибридного UEFI/BIOS образа для Flash/HDD (kolibri.raw
; его можно найти по ссылке: Скачать KolibriOS).
Вы всё установили, можете пробовать запускать KolibriOS.