Загрузка без флоппи

Аватар пользователя moisha

Ситуация.
1. На компе нет флоппи-дисковода, есть привод CD-R.
2. На раздел диска С:, с предустановленной W2k, установлен ASPLinux 9.2 с установкой GRUB в раздел жесткого диска.
3. На компах сети флоппи-дисководы есть.
Вопрос: каким образом оживить линукс через загрузчика W2k.
Попытался было скопировать на раздел С: файл boot.img с загрузочного диска ASPL, а затем прописать в boot.ini C:\boot.img="Linux". В результате получил надпись в меню загрузки, а самой загрузки нет.
Помогите, кто может

Аватар пользователя Tolstik

Re: загрузка без флоппи

Цитата:
На раздел диска С:, с предустановленной W2k, установлен ASPLinux 9.2 с установкой GRUB в раздел жесткого диска.

- это как? Может, имеется в виду, что виндоуз и линукс все же установлены в отдельные партиции на диск IDE-0 ?
Если так, то проще всего воспользоваться сторонним win-загрузчиком, например, Boot-US. Лекарством могу поделиться.

Аватар пользователя keng00ru

Re: загрузка без флоппи

Как я понял: На хард, где уже стоит винда, поставил Linux. Загрузчик остался виндовый, который (разумеется) не видит GRUB-а, находящегося на Linux-разделе. Короче, речь идёт о восстановлении загрузчика. Правильно? Вот здесь посмотри:
http://community.asplinux.ru/forum/1/38040/38083/?sid=5c39523226fb53dd0c...
На будующее: Linux-загрузчик ставь в MBR. И не слушай глупости о том, что это плохо. А ещё лучше вариант - в коробке с ASPLinux Deluxe лежит Acronis-овский бут-менеджер.

Цитата:
Лекарством могу поделиться.

Это что ещё за разговоры? Не в моём ты форуме... Блюёт

Аватар пользователя rjaan

Re: загрузка без флоппи

1. На компе нет флоппи-дисковода, есть привод CD-R.
Используй knoppix.
После чего, прочитай как монтировать партиции MOUNT(Поражён, после этого смотируй портицию, где находится /etc, после чего почитай как пользоваться CHROOT(1), сделай подмонтированную портицию, где /etc, корневой. Да перед этим отредактируй конфигурационный файл(/etc/aspldr.conf для ASPLDR(Поражён) твoего загрузчика.
Сделай ASPLDR(Поражён, набрав команду в строке /sbin/aspldr, если ты не использовал lilo или grab: все должно получится.

Аватар пользователя moisha

Re: загрузка без флоппи

всех благодарю за отклики, но хотелось бы кое-что уточнить
2rjaan
познакомился с knoppix/ зачем мне chroot (1) и что отредактировать в файле /etc/aspldr.conf?
2keng00ru
boot.ini у меня именно такой, как в ссылке.
aspl не хочу устанавливать в mbr по ряду причин, хотя дома так и стоит.
далее: все просмотренные инструкции говорят о том, что в корневой раздел windows (С:) необходимо добавить загрузочный файл, который создается в линуксе на дискете командой
dd if=/dev/hdaN of=/mnt/floppy/bootsect.lnx bs=512 count=1. Но если такой файл создать на другом (домашнем в моем случае) компе, загрузить его на дискету, а затем по локалке сбросить на комп без флоппи-дисковода и скопировать в корневой раздел С:, с записью в boot.ini C:\bootsect.lnx="LNX", то должно получиться, ан не получается.
придется ставить дисковод.
:cry:

Аватар пользователя rjaan

Re: загрузка без флоппи

2moisha: Наверное лучше поставить загрузчик ASPLDR или GRUB, по крайне мере они мне кажутся более предпочтительными, чем BOOT.INI. Всеравно ни каких преимуществ, если у тебя XP, он не дает, только мучаться будешь прислете Винды.
А про chroot -- эта возможность восстановить пароль, загрузчик, прибегнув к knoppix или подципив диск спомощью системы на другом диске или машине.

Аватар пользователя DRVTiny

Re: загрузка без флоппи

Гм, ну и странные вещи вы тут говорите. Надо исходить из того, что товарищу нужно загрузочный сектор того раздела, на котором GRUB установлен (и чего это moisha решил самый навороченный загрузчик себе поставить?), скопировать в файл и прописать этот его в boot.ini. moisha-то ведь всё правильно делает, только, как мне кажется, совершенно не обязательно ему этот сектор сначала на флоппи-диск переписывать: в команде dd if=/dev/hdaN of=/mnt/floppy/bootsect.lnx bs=512 count=1 можно не "/mnt/floppy/bootsect.lnx" указывать, а просто тот примонтированный раздел, на котором boot.ini размещается. Костромин в своей книге говорит, что так делать якобы нельзя (файл может быть разделён на части при записи в файловую систему на жёстком диске, т.е. не будет занимать один сплошной участок и надо обязательно всё делать через промежуточный носитель - дискету), но на самом деле у меня это иногда получалось, иногда - нет. Однозначно пробовать надо... Возможно, вариант копирования загрузочного сектора сначала на нативный Linux-раздел, а затем на FAT32 (или у Вас, moisha, boot.ini на NTFS?), несколько более надёжен (я не пробовал, тем более, что у меня WinXP только FAT32 разделы использует).
Вариант с chroot'ом (смена корневого каталога) имеет право на жизнь (сам не раз так делал с той же целью), но только надо же учитывать, что moisha всё-таки хочет NTLoader использовать (и это, на мой взгляд, действительно удобно, если только винда не грузится с этого компьютера раз в 2 недели, как это имеет место в моём случае (и каждый раз мне предлагают очистить рабочий стол от неиспользуемых ярлыков - может, кто-нибудь знает, как от этого навязчивого сервиса наконец избавиться?))

Аватар пользователя moisha

Re: загрузка без флоппи

ну не хочу я светиться в конторе тем, что установил на один из разделов линукс, а поскольку мой комп может запустить некая персона, то хотелось бы оставить NTLoader - так всем привычнее.
попробывал запустить knoppix с live-CD, все прошло нормально, одна беда - не могу скопировать в подмонтированный раздел с виндой файл с дампом загрузчика - ответ один: раздел read-only. хотя сам файл с дампом существует в том разделе, куда я его разместил:
#dd if=/dev/hda(1..N) bs=512 count=1 of=~/boot.lnx, вот далее
#cp ~/boot.lnx /mnt/hda(диск С:)/boot.lnx - получаем read-only
на команду chmod не отзывается. вообще с этим кнопом непонятка некоторая - помимо root существует еще раздел knoppix - что это такое...
попробую еще что-нибудь,но отрадно, что я на верном пути, спасибо

Аватар пользователя DRVTiny

Re: загрузка без флоппи

Вообще, если Вы монтируете диск C: простым щелчком по соотв. пиктограмме на рабочем столе KDesktop в Knoppix, то и не мудрено, что на этот раздел ничего записать нельзя: он при этом действительно монтируется по умолчанию как Read-Only. Также если у Вас C:, не дай Бог, в NTFS отформатен, то и рассчитывать на доступ по записи не стоит (вообще странно, у Вас всё-таки там Windows 2000 или Windows XP? Насколько я помню, Windows 2000 является представителем NT-линейки в чистом виде, т.е. на примитивную файловую систему FAT32, которую защитить иначе, как полным шифрованием, нельзя, такого рода Форточки установиться не могут). Идею мою, кстати, Вы полностью правильно поняли, только вот не очень понятно, куда по команде dd if=/dev/hda(1..N) bs=512 count=1 of=~/boot.lnx будет записан boot.lnx - в оперативную память, в своп файл, или ещё куда-нибудь (уж не на CD-ROM с Knoppix - это точно Улыбка )? В облщем, попробуйте сделать всё то же самое, только сначала вручную примонтируйте раздел: в консоли наберите su (пароль root'а, разумеется, вводить не потребуется), затем выполните mount -t vfat /dev/hda /mnt/hda -o codepage=866,iocharset=koi8-r (если /mnt/hda не существует (вообще-то должен быть), сначала создайте его: mkdir /mnt/hda), потом выполните dd if=/dev/hda[1..N] of=~/bootsect.lnx bs=512 count=1 и копирование cp ~/bootsect.lnx /mnt/hda/bootsect.lnx. Ну и boot.ini потом можно подредактировать, если в этом есть необходимость: mcedit /mnt/hda/boot.ini
Вся беда в том, что либо на этапе создания дампа загрузочного сектора, либо на этапе копирования, у Вас может получиться так, что файл будет записан в нескольких секторах жёсткого диска, не занимая при этом одну сплошную область (можно, кстати, попробовать, сделать дамп сразу в /mnt/hda/bootsect.lnx, но вот получится ли? : тут по-моему какие-то статистические закономерности играют роль, при довольно большом количестве попыток мне лишь один или два раза раз удалось сделать "рабочий" дамп на один сектор в FAT32) - хотя вообще, насколько я знаю внтр. устройство FAT32, там файл только целое количество кластеров может занимать (а кластеры и по 8 секторов бывают), так что... В общем попробуйте (хотя, конечно, это довольно утомительно, согласен Улыбка ), а там посмотрим...
Есть ещё кстати, такой вариант: создать виртуальный образ дискеты на жёстком диске, отформатировать его в FAT12, подмонтировать в Linux, сделать на нём дамп, после чего перзагрузиться в Windows, воспользоваться любой программой, которая умеет отображать виртуальные образы дисков (в данном случае образ Floppy 1,44") как дисковод (для образов ISO таких программ воз и маленькая тележка, для образов дискеты (расширение чаще всего либо img, либо fd, либо flt)... да тоже должна быть (обязана!!) - наверняка здесь кто-нибудь может подсказать такую программу), ну и соответственно скопировать с образа дискеты на C: А может быть даже и так можно сделать: mkdosfs -C -F 12 ~/floppy.img 1440 , потом mkdir /mnt/fd, потом mount ~/floppy.img /mnt/fd -o loop (да, кстати, знает ли кто-нибудь, как явным образом указать, что монтируется именно FAT12?), потом dd if=/dev/hda of=/mnt/fd/bootsect.lnx bs=512 count=1, потом... это может не сработать и тогда точно придётся искать программу, способную отобразить виртуальный образ дискеты, как дисковод со своей "буквой" в ОС Windows... cp /mnt/fd/bootsect.lnx /mnt/hda/bootsect.lnx.

Аватар пользователя DRVTiny

Re: загрузка без флоппи

У меня это только что получилось! Knoppix+WinImage+руки
Вот, что Вам нужно сделать (по шагам):
В Knoppix (консоль)
su
mount -t vfat /dev/hda[1..N] /mnt/hda[1..N]
rem (где там у Вас диск C: -> hda[1..N]? )
mkdosfs -C -F 12 /mnt/hda[1..N]/floppy.img 1440
mkdir /mnt/flimg; mount /mnt/hda[1..N]/floppy.img /mnt/flimg -o loop
dd if=/dev/hda[там, где GRUB стоит] of=/mnt/flimg/bootsect.lnx bs=512 count=1
rem (где стол был явств, там GRUB стоит...)
umount /mnt/flimg
rem (последнее не обязательно)

Перезагружаемся в ОС Windows:
устанавливаем программу WinImage (могу Вам по почте сбросить, если нет у Вас такового шедевра софтостроительства)
открываем в WinImage образ дискеты floppy.img, лежащий в корне диска C:
перетаскиваем файл bootsect.lnx туда же, где и floppy.mg
в boot.ini традиционно пишем: C:\bootsect.lnx="ASPLinux v10 Forever!!" (или ещё какой-нибудь лозунг/призыв: "Yanki, go home!", например)

Enjoy! Улыбка

Аватар пользователя moisha

Re: загрузка без флоппи

ну, что ж Уважаемый МАФ, все получилось как нельзя лучше.
как говаривал Ringo: With a little help of my friends!!!!!
помощь, правда, не маленькая.
всем спасибо, загрузил (поменял загрузчик на ASPloader), теперь буду настраивать.
одно уточнение - что такое за команда "rem", я обошелся без нее.
и последнее - куда выслать пиво? Катается от смеха :roll: Выпьем

Аватар пользователя Archont

Re: загрузка без флоппи

Цитата:
moisha пишет:
ну не хочу я светиться в конторе тем, что установил на один из разделов линукс, а поскольку мой комп может запустить некая персона, то хотелось бы оставить NTLoader - так всем привычнее.

В таких сложных случаях лучше использовать loadlin.exe, т.е. грузиться из dos или винды. Тогда никакая "персона" не заметит линукса, если не будет плотно сидеть за этим компом.

Аватар пользователя DRVTiny

Re: загрузка без флоппи

>ну, что ж Уважаемый МАФ, все получилось как нельзя лучше.
>как говаривал Ringo: With a little help of my friends!!!!!
>помощь, правда, не маленькая.
Да ладно, ничем таким уж особенным я, rjaan, keng00ru и Tolstik Вам не помогли. Главное, что Вы очень быстро прониклись самой идеей, поскольку "Зрили в корень" проблемы. Ведь, например, сколько раз я пытался помочь людям, которые, судя по всему (по неуместному апломбу и требованиям, разжёвывать каждую мелочь и класть всё непосредственно в рот), просто наотрез, категорически и принципиально отказывались шевелить извилинами и вообще что-либо делать самостоятельно, и Вам, наверное, даже трудно представить себе, как мне приятно, что именно Вы оказались счастливым исключением из этого печального правила... Кстати, скорее всего, всю эту операцию можно было и без WinImage провести, другое дело, что мой "лобовой" метод гарантирует результат с большой долей вероятности.

>всем спасибо, загрузил (поменял загрузчик на ASPloader), теперь буду настраивать.
>одно уточнение - что такое за команда "rem", я обошелся без нее.

А это я такие скобки в стиле *.bat-файлов MS-DOS придумал для комментариев Улыбка

> и последнее - куда выслать пиво?

Пиво пожалуйте нашему мудрому Вождю Линусу Торвальдсу (он барелями пива, регулярно поставляемыми благодарными пользователями Linux, этими представителями гордого и непокорного народа, сбросившего-таки иго КрупноХард'а, приторговывает под маркой Tuborg (в NeverHood никогда не играли?) Улыбка ) Шутка. А так я вообще пиво и любое другое спиртное не употребляю по причине "перманентного головонесварения" ;-) Спасибо за тёплые слова, от них "освежающе-бодрящий" эффект многократно сильнее, чем от доброй пинты хмельного пенного напитка.

Re2Archont:
Вообще loadlin ещё не научился вытеснять из памяти ОСи класса Windows NT - это факт вроде бы (или мои сведения уже устарели? - поправьте, если я не прав) такой же непреложный, как и то, что круглая Земля вертится (Вы явно путаете с Windows 9x/Me, а это уже "совсем другая история", поскольку основным функциональным назначением этих почивших в бозе бронтозавров было служить своеобразным вспомогательным промежуточным звеном, связывающим бывших пользователей MS-DOS и современной Windows NT. Другое дело, что мостик этот получился длиннее моста Верразано Найроуз (New York) и "Золотых Ворот" (San-Francisko) вместе взятых)

Аватар пользователя moisha

Re: загрузка без флоппи

А на сайте ASPLinux похожая ситуация, только еще интереснее.
Может кто, имеющий туда доступ, поможет собрату?

Аватар пользователя slavaz

Re: загрузка без флоппи

Цитата:
Вообще loadlin ещё не научился вытеснять из памяти ОСи класса Windows NT - это факт вроде бы (или мои сведения уже устарели?

Факт. Непреложный. Ни одна ОС, проинициализировавшая GTD и GTI таблицы и перешедшая в защищённый режим, не может заместиться другой такой-же ОС защищённого режима. Неважно, что это - Win, Lin, OS/2...

Цитата:
(Вы явно путаете с Windows 9x/Me, а это уже "совсем другая история"

Из Win9x, как бы не было удивительно, нельзя загрузить другую ОС, ибо работает в защищённом 32битном режиме (жутко криво, правда). Другое дело, когда до загрузки ядра из ДОСа (реальный режим) можно вставить loadlin.
Кстати, NTloader (как и любой другой загрузчик) работает в реальном режиме, поэтому позволяет грузить всё, что угодно.

Аватар пользователя DRVTiny

Re: загрузка без флоппи

Цитата:
Факт. Непреложный. Ни одна ОС, проинициализировавшая GTD и GTI таблицы и перешедшая в защищённый режим, не может заместиться другой такой-же ОС защищённого режима. Неважно, что это - Win, Lin, OS/2..

Ничего подобного: вы смотрите на Global Descriptor Table и на Interrupt Descriptor Table (а есть ещё Local Descriptor Tables, Task State Segment'ы, таблицы страниц (не помню, как это будет по-английски)) как на заветы Ильича, а на самом деле степень защиты любой 32-х битной ОС варьируется от полного отсутствия таковой защиты (код всех задач выполняется с наивысшим уровнем привилегий (0-вым)) до создания тотальной ("параноидальной") системы безопасности, исключающей любые формы произвола со стороны исполняющегося кода, в том числе и привилегированного, работающего в режиме ядра (взаимно недоверяющие подсистемы. Поддержка вытесняющей многозадачности для кода, исполняющегося в режиме ядра в нулевом кольце защиты обязательна). В ОС Windows 9x программы совершенно спокойно в обход специальной драйверной архитектуры Windows могут получать доступ практически к любому устройству компьютера (в TSS маской разрешён доступ к портам ввода-вывода, а IO permission level выставлен в 3, а поскольку 3 соответствует минимальному уровню привилегий, то и доступ к пространству ввода-вывода может получить абсолютно любая задача), а уж вытеснить ОС из памяти вообще труда не составит -для того, чтобы повысить уровень привилегий кода до 0-го достаточно просто "с умом" использовать возможности, предоставляемые рудиментарной 16-битной подсистемой io, доставшейся Windows 9x в наследство от DOS-надстроек Windows 1-3.1
В Windows NT совершенно иная архитектура драйверов (там можно получить только своеобразный "мандат" на ввод-вывод с определённым устройством, а не безраздельную власть над всем компьютером), приемлемая система защиты (из-под окошка DOS диск отформатиовать Вам точно не удастся...), основанная на полной изоляции задач, работающих в непривилегированном кольце защиты от более привилегированного кода и данных, назначение и структура различных колец защиты здесь чётко разграничены (драйверы и сис. службы в 1-м кольце, ядро - в 0-м, пользовательские процессы - в 3-м).

Аватар пользователя DRVTiny

Re: загрузка без флоппи

Цитата:
(в TSS маской разрешён доступ к портам ввода-вывода, а IO permission level выставлен в 3, а поскольку 3 соответствует минимальному уровню привилегий, то и доступ к пространству ввода-вывода может получить абсолютно любая задача)

Извиняюсь, ошибся я малость: в Win 9x доступ к любому порту ввода-вывода можно получить с помощью специального системного вызова (напрямую всё-таки не получится). Хотя какая разница - через сис. вызов или напрямую (из DOS-окна, ксатит, всё равно получается напрямую, минуя обработчики ОС)

Аватар пользователя slavaz

Re: загрузка без флоппи

Цитата:
DRVTiny пишет:
(в TSS маской разрешён доступ к портам ввода-вывода, а IO permission level выставлен в 3, а поскольку 3 соответствует минимальному уровню привилегий, то и доступ к пространству ввода-вывода может получить абсолютно любая задача)

в 3-м уровне, если мне не изменяет склероз, минимальный уровень привилегий. Доступ к портам ввода-вывода других уровней только через шлюзы.

Цитата:
Извиняюсь, ошибся я малость: в Win 9x доступ к любому порту ввода-вывода можно получить с помощью специального системного вызова (напрямую всё-таки не получится). Хотя какая разница - через сис. вызов или напрямую (из DOS-окна, ксатит, всё равно получается напрямую, минуя обработчики ОС)

Ну порты это ладно. Я вот не представляю как задача (TASK) может переинициализировать глобальную таблицу сегментов, таблицу задач и таблицу прерываний. Разве что задача работает в том же кольце защиты, что и ядро и имеет доступ к адресному пространству ядра (и что это за ОС? Улыбка ). Или через специально написанные для этого шлюзы (ОС должна поддерживать выгрузку себя любимой Улыбка ).

Аватар пользователя moisha

Re: загрузка без флоппи

2DRVTiny
Немного вернусь к делам давно прошедших дней.
Устанавливал тут товарищу Slackware (ну захотелось ему) и шутки ради решил воспользоваться имеющимся небольшим опытом по установке загрузчика без флоппи. Все получилось как нельзя лучше и для товаришша интересно. Однако есть интересная вещь.
По рекомендациям весь дистрибутив устанавливается на два раздела - своп и /, так вот, загрузчик прописываем на /, а затем используя известный фокус монтируем образ флоппи
dd if=/dev/hdaN of=/mnt/flimg/bootsect.lnx bs=1 count=512, но почему не BS=512 COUNT=1, как написано у вас.
Смутно подозреваю, что дело о блоках раздела...

Аватар пользователя slavaz

Re: загрузка без флоппи

Это те же яйца, только в пофиль.
bs (block size) - размер копируемого за один раз блока
count - сколько блоков скопировать.
в случае bs=1 count=512 будет 512 раз скопировано блоков по одному байту
в случае bs=512 count=1 блок размером 512 байт одним разом скопируется.
Играясь с этими параметрами, можно указывать режим работы с памятью. То есть если копировать маленькими блоками много раз, то это экономит память, но не экономит время. И наоборот: если копировать большущими блоками несколько раз, то память отжирается, но зато копирование идёт побыстрее. В случае с копированием бутсектора разница во времени настолько незначительна, что можно не брать в расчёт. А вот если дублировать винты гиг под 80-120 - тут уже разница получается около получаса, а то и час.

Аватар пользователя moisha

Re: загрузка без флоппи

Угу, понятно Катается от смеха

RSS-материал