Использование Lilo, когда BIOS не видит загрузить корневой раздел
У меня на работе в системе установлен IDE-диск размером 1Гб. BIOS может
видеть только первые 504 Мб этого диска. (Здесь Мб означает 2**10 байт, а
не 10**6.) Поэтому у меня MS-DOS на 350 Мб разделе /dev/hda1 и мой корневой
раздел Linux размером 120 Мб - /dev/hda2.
MS-DOS не смог установиться правильно, когда диск был чистый. У Novell DOS
7 была та же проблема. К счастью для меня, "Аксессуары от IBM" были
неполными - забыли положить дискету с программой "OnTrack" в коробку с
винчестером. Винчестер должен был поставляться с продуктом под названием
"OnTrack Disk Manager." Если у вас только MSDOS, я думаю, вам он
понадобится.
Поэтому я создал таблицу разделов при помощи команды fdisk в Linux-е.
MSDOS-6.2 отказался от инсталляции в /dev/hda1. Он сказал что-то типа "Эта
версия MS-DOS только для новых установок, а на вашем компьютере уже есть
MS-DOS, поэтому получите версию обновления (upgrade release) от вашего
дилера." А на самом деле диск был новый.
Какая неудача! Поэтому я снова запустил fdisk в Linux-е снова и удалил
раздел 1. Удовлетворенная этим MS-DOS 6.2 создала такой же в точности
раздел, который я только что удалил и туда себя установила. MS-DOS 6.2
также записала свой MBR на диск, но он не загружался.
К счастью, у меня было ядро Slackware на флоппи (созданное программой
установки дистрибутива Slackware), поэтому я загрузил Linux и
перезаписал Lilo поверх сломанного MBR MS-DOS-а. И все заработало. Вот файл
/etc/lilo.conf, который я использовал:
boot = /dev/hda
map = /lilo-map
delay = 100
ramdisk = 0 # Отключить электронный диск (ramdisk) в ядре Slackware
timeout = 100
prompt
disk = /dev/hda # BIOS видит только первые 500 Мб.
bios = 0x80 # выбрать первый IDE.
sectors = 63 # возьмите количество секторов из руководства по диску.
heads = 16
cylinders = 2100
image = /vmlinuz
append = "hd=2100,16,63"
root = /dev/hda2
label = linux
read-only
vga = extended
other = /dev/hda1
label = msdos
table = /dev/hda
loader = /boot/chain.b |
После того, как я это все установил, я выяснил, что раздел, содержащий
файлы zImage, boot.b, map, chain.b и файлы сообщений, может иметь
файловую систему msdos, если только она не испорчена "Stacker"-ом
или "Doublespace"-ом. Поэтому мой раздел DOS на /dev/hda1 мог стать
размером 500 Мб.
Я также выяснил, что система "OnTrack" записала бы таблицу разделов немного
в другое место, чем обычно, и, возможно, для совместимости изменила
IDE-драйвер Linux-а. Но установка этого "OnTrack" сделала бы невозможной
загрузку со стандартного ядра, входящего в поставку Slackware. Кстати,
потом IBM прислал мне дискету с "OnTrack". Я позвонил в службу поддержки
OnTrack. Они сказали мне, что Linux - плохая система, потому что не
использует BIOS. Я выкинул их дискету.
Пред. | Начало | След. |
Использование Lilo, когда BIOS не видит корневой раздел | | Загрузка с аварийного флоппи-диска |