Booting from HDD/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
Загрузчик из папки USB_Boot, несмотря на название, умеет загружать систему с любого FAT32-тома, и ему безразлично, на флешке этот том или на жёстком диске.
Установка осуществляется следующим простым способом:
Шаг 1. Скопируйте файлы mtldr и kolibri.img в C:\
(Не нравится C:\? Прочитайте замечания ниже.)


<big>ВНИМАНИЕ! -- ВСЕ ОПИСАННОЕ ЗДЕСЬ ВЫ ДЕЛАЕТЕ НА СВОЙ СТРАХ И РИСК -- ВНИМАНИЕ!</big>
Шаг 2а) Для пользователей NT-семейства до Vista (NT/2k/XP/2003 Server (?)):


"Как загрузить Колибри с жёсткого диска с помощью загрузчика Колибри (без использования сторонних загрузчиков), и чтобы при этом Колибри видела жёсткий диск после загрузки как /hdX ?" - надо начать с жёсткого диска, который Колибри видит после загрузки как /hdX, отформатировать там один раздел под FAT32 - это придётся делать средствами другой ОС - записать в бутсектор загрузчик из BOOT_F32.BIN, скопировать файлы MTLD_F32 и kolibri.img, и сделать раздел загрузочным.
добавьте в boot.ini в раздел [operating systems] строку
 
c:\mtldr="KolibriOS"
 
(либо открыв любым текстовым редактором c:\boot.ini, либо через Control Panel -> System -> Advanced -> Startup and Recovery -> Edit). Название в кавычках можете заменить на всё, что вам нравится,под этим названием система будет появляться в списке загрузки. Теперь при загрузке будет выдаваться экран выбора операционной системы.
 
Шаг 2б) Для пользователей 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.
 
Шаг 2в) Для пользователей Vista:
откройте командную строку с администраторскими привилегиями(пункт "Run as administrator" в контекстном меню); если вы не планируете установки нескольких вариантов Колибри как описано в замечаниях, просто запустите прилагаемый 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
 
Удаление в случаях 2а) и 2б) осуществляется удалением введённых данных в boot.ini и config.sys соответственно. Удаление в случае 2в) делается так:
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 (скачать его можно там же. Он настроит загрузчик и сам же его и установит.
 
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,
  можно получить в загрузочном меню несколько входов для разных версий
  Колибри (или для версий с разными настройками).
 
7. Пожелания, замечания, предложения высылайте на мыло, указанное ниже.


Пример создания образа жёсткого диска для Bochs/qemu:
<pre>
# создаём FAT32-том с загрузчиком BOOT_F32.BIN размером 40M минус 32 сектора
dd if=/dev/zero of=test2.img bs=512 count=$((40*1024*2-32))
mformat -i test2.img -t 159 -h 16 -n 32 -H 32 -c 1 -F -B BOOT_F32.BIN ::
# копируем на этот том нужные файлы
mcopy -i test2.img MTLD_F32 ::
mcopy -i test2.img kolibri.img ::
# создаём образ жёсткого диска из 32 секторов плюс ранее созданный том
dd if=/dev/zero of=test.img bs=512 count=32
dd if=test2.img of=test.img bs=512 seek=32
# создаём таблицу разделов из одного раздела
parted test.img mktable msdos
parted test.img unit s mkpart primary fat32 32 $((40*1024*2-1))
# делаем его загрузочным
parted test.img set 1 boot on
</pre>


Получается образ жёсткого диска, на котором нет другого кода, кроме кода проекта Колибри, и который успешно грузится в bochs/qemu.
<br />
<br />
[[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 на жестком диске]]


[[Category:Руководства]]
[[Category:Руководства]]

Revision as of 18:15, 1 February 2014

Установка осуществляется следующим простым способом: Шаг 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). Название в кавычках можете заменить на всё, что вам нравится,под этим названием система будет появляться в списке загрузки. Теперь при загрузке будет выдаваться экран выбора операционной системы.

Шаг 2б) Для пользователей 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.

Шаг 2в) Для пользователей Vista: откройте командную строку с администраторскими привилегиями(пункт "Run as administrator" в контекстном меню); если вы не планируете установки нескольких вариантов Колибри как описано в замечаниях, просто запустите прилагаемый 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

Удаление в случаях 2а) и 2б) осуществляется удалением введённых данных в boot.ini и config.sys соответственно. Удаление в случае 2в) делается так:

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 (скачать его можно там же. Он настроит загрузчик и сам же его и установит.

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,
  можно получить в загрузочном меню несколько входов для разных версий
  Колибри (или для версий с разными настройками).

7. Пожелания, замечания, предложения высылайте на мыло, указанное ниже.


[Kolibri на жестком диске]