Kamrad.ru
 
 
дневники | кабинет | регистрация | календарь | участники | faq | правила | поиск | фотоальбом | каська | выйти
Kamrad.ru Kamrad.ru » Форумы общей тематики » Программы (software) » LINUX поставить хочу
новая тема  ответить следующая тема | предыдущая тема
Автор
 
Senat0r - offline Senat0r
Cool28-03-2002 12:04 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



LINUX поставить хочу

Вот вышел Мандраке8.2 решил поставить, а как это корректно сделать?
Надо Вин98, ХР, Линукс. Чтоб операционки были на одном раздели, софт всякий на другом... Бут манагер Систем командер-7.
Ни как не разберусь как это реализовать, Не хочет Линукс на логический диск Д вставать, может только на диск С, и то перебивает его, отжирая себе половину...

Columbanus - offline Columbanus
28-03-2002 13:09 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад
Святой Алканафт



Линукс лучше ставить в отдельный раздел, точнее даже в два, еще один для свапа должен исполтзоваться. windows xp и win98
можно при желании оставить и на одном разделе, но при этом должен остаться fat32 на этом разделе, первой операционкой естественно ставится win98, потом xp, но при установке нужно не забыть изменить каталог установки со стандартного windows на любой другойЁ например winnt или до этого при установке win98 ставить его в каталог с именем отличным от windows.

Senat0r - offline Senat0r
28-03-2002 13:44 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Да нет, 98 + ХР я ставлю нормально на диск С, а вот под Линукс я специально создал диск Д и Е (Е-под своп) но Мандрейк не захотел туда ставиться. Я так понял Д и Е надо было создать не ф-диском а чемнить другим (чем?) чтоб не фат32 был а ext.
Пральна? Тада какой прогой?

Мaрцелл - offline Мaрцелл
28-03-2002 13:50 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Убей нафиг свои Д и Е, оставь пустое место - Мандрейк сам тебе разметит как надо

Senat0r - offline Senat0r
28-03-2002 13:54 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Убью я Д и Е, а Линукс разобьет под себя как надо на все оставшееся пространство, а мне еще нужно место под софт, т.е диск F. Смогу я его потом создать? :-\

Изменено: Senat0r, 28-03-2002 в 14:13

Columbanus - offline Columbanus
28-03-2002 15:00 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад
Святой Алканафт



Senat0r когда ты ставишь линукс ты имеешь дело с его личным фдиском, там ты можешь выбрать, как с автоматической разбивкой свободного места, так и с ручным выделением нужного пространства под свои цели, самый простейший вариант это под / выделяешь скока тебе нужно под линукс и еще один раздел создаешь (рекомендуется размер оперативки помноженный на два) под свап раздел, то место что у тебя останется ты можешь разбить уже фдиском под виндовс или xp добавив соответственно диск D, а не какой не F, потому как под виндовс ты не увидишь разделов линукса (без спец проги, ты вообще к ним доступ не получишь оттуда).

Senat0r - offline Senat0r
29-03-2002 07:58 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Columbanus - вроде понял, попробую

Мaрцелл - offline Мaрцелл
29-03-2002 16:01 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



добавив соответственно диск D, а не какой не F, - ну почему же, можно его и F обозвать, не проблема

референт - offline референт
30-03-2002 00:45 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



BR под микроскопом. Альтернативные методы загрузки.

Цель этой статьи объяснить принципы функционирования такого элемента в ПК
как MBR (master boot record - главная загрузочная запись) и показать как
можно самому поучаствовать в процессе загрузки. Думаю, это будет
интересно тем, кто хочет знать более полно принципы и методы, согласно
которым происходит загрузка операционной системы на ПК. К сожалению,
понимание этого материала требует знаний (хотя бы минимальных) ассемблера
для x86, знаний о логической структуре жестких дисков (отличать сторону от
трека, трек от сектора и иметь представление о структуре partition table).

Впервые, столкнуться с более детальным изучением MBR мне пришлось в 1996
году, когда встал вопрос об одновременном использовании на одном ПК MS DOS
6.22 и MS Windows'95. Конечно, можно было бы воспользоваться тем сервисом,
который предлагал Windows'95 при установке поверх MS DOS 6.22 - F8 при
загрузке и выбор "Previous version MS-DOS". У этого метода был один
очевидный недостаток, - обе операционные системы делили общее дисковое
пространство или, по крайней мере, первый логический диск, т.к. он должен
был быть отформатирован в формате FAT16 (для того, чтобы MS DOS могла
увидеть этот диск, а то и вообще загрузиться). Следующие логические диски,
если они были, могли быть отформатированы под FAT32, и в этом случае MS
DOS их не увидит. Замечательно, но не очень. Хотелось выделить для каждой
системы свою "комнатушку" и чтобы они "жили" в них и не мешали друг другу.
И последняя причина, - я не знал тогда об этой возможности.

Вооружившись программой diskedit.exe из набора Norton Utility я
скопировал MBR в файл (всего каких-то 512 байт) и скормил его sr.exe
(Sourcer 5.1 - дизассемблер для MS DOS). Полученный при этом asm-файл я
внимательно изучил и добавил к нему комментарии для того, чтобы в
нем можно было не заблудиться. При дизассемблировании я указал
формат выходного файла совместимый с tasm 3.2, т.к. именно этот
ассемблер у меня был под рукой. Файл я назвал mbr_std.asm (см.
подкаталог _mbr_std\). Для его сборки я написал маленький bat-файл
mbr_std.bat и получил com-файл размером в 219 байт. Вы можете спросить,
- а где остальные 293 байта (512 - 219 = 293)? Всё дело в том, что MBR
состоит из двух частей: программного кода и данных. Данные занимают
последние 66 байт этого сектора: 64 байт информация под 4-е раздела по 16
байт и два последних байта, которые содержат специальную сигнатуру (в
шестнадцатеричном виде) 55 AA. Всё остальное в нашем случае - это нули,
которые не несут никакой информативной нагрузки. Комментарии, которые я
поместил в mbr_std.asm достаточно ясно объясняют что, зачем и как? Если
вам это интересно, изучите этот файл, - не пожалеете. Если же, это делать
лениво ?, и вы хотите продолжить читать дальше, то вот вкратце алгоритм
работы MBR (обращаю ваше внимание на то, что этот алгоритм
применялся при установке MS DOS 6.22, при установке Windows прописывает
несколько изменённый вариант загрузчика, но основные принципы загрузки те
же):

1. BIOS по умолчанию грузит MBR по адресу 0000h:7C00h.
2. MBR делает с себя копию в адрес 0000h:0600h и переходит к дальнейшему
выполнению программы в этой зоне адресов.
3. При этом адрес первичной загрузки 0000h:7C00h становится вершиной стека.
4. Ищется запись об активном разделе.
5. Запоминаются его данные.
6. Затем продолжается просмотр информации о разделах до конца (т.е. до 4-го
раздела включительно).
7. Если встречается еще один активный раздел, то выдается сообщение об
ошибке и программа зависает.
8. Или, если встречается раздел с кодом в поле "загрузочный" не равным 0h
или 80h, то тоже выдаётся сообщение об ошибке с последующим зависанием.
9. Если всё в порядке, то программа грузит сектор, на который указывает
активный раздел, по адресу 0000h:7C00h и передаёт ему управление, а этот
сектор знает, что и как ему делать

Теперь я знал, что делает MBR, и я знал, что буду делать я. Дело в том,
что за пару месяцев до этого я видел как один мой знакомый "пальцами"
грузил две операционки с двух разных логических дисков. При этом он сделал
их оба primary с помощью diskedit.exe, "насильно" указав в MBR, что это
BIGDOS - код 06h, т.к. программа fdisk.exe не позволяет создавать
более одного primary раздела. Перезагрузился с дискеты и отформатировал их
с ключом /s. А потом при помощи diskedit.exe менял признак активного
раздела. После этого перезагружал компьютер, и компьютер грузил
систему с активного раздела. При этом происходил свопинг логических
дисков, тот, что был C становился D и наоборот, т.к. MS DOS и
Windows ставят первым диском загрузочный.

Итак, теперь мне надо было сделать две вещи: создать два primary раздела
и добавить в код MBR возможность выбора одного из них в качестве
загрузочного. Для начала я решил изменить код MBR так, чтобы он делал то
же, что и мой приятель. Помня о том, что прерывание 16h (обработка ввода с
клавиатуры, прошита в BIOS-е) уже доступно в момент включения ПК, то я
добавил сообщение 'Your choice: [M]sDos or [W]in95?' и заставил проверять
программу какую из клавиш нажал пользователь [M] или [W] и в зависимости от
этого менять активный раздел и записывать MBR обратно на жесткий диск (int
13h), после чего запускать на выполнение тот сектор, на который указывал
активный раздел. Исходник этой программы лежит в подкаталоге _mbr_2os\.
Размер бинарника составляет 355 байт, что не превышает допустимого (512 -
66 = 446). Хотя если быть точным до конца, то этот размер еще чуть меньше,
т.к. Windows'95/98/NT пишет в MBR в диапазоне 1B0h-1BDh служебную
информацию. Какую? Не знаю, но факт остается фактом. По крайней мере, после
работы администратора дисков (Windows NT 4.0) в этот диапазон пишется
несколько байт. Примерно там же что-то прописывает и Windows'9x, но после
выполнения какой программы - не знаю. "Средством доставки" нового кода MBR
на место старого послужил тот же diskedit.exe (очень удачная и удобная
программа, если конечно знаешь, что делаешь). Перезагружаю компьютер и : о,
чудо! Вижу сообщение 'Your choice:'. Проверяю. Работает. Класс.

Что дальше? Идея правильная и работает. Через пару месяцев после
этого возникла необходимость в том, чтобы загружать уже три операционки на
одной машине. При этом одна из них - MS DOS, две других Windows'95 -
одна для работы, другая для тестовых установок программ (отладка
инсталляций и т.д.). При этом уже нужно было сделать так, чтобы одна
операционка не видела другую (если это необходимо). На мысль о том, как
это сделать меня навёл тот факт, что MS DOS не видит диски с FAT32,
поэтому я решил найти такой код раздела, чтобы его не знал ни MS DOS ни
Windows'95. Таким кодом оказался 10h. Для чего он зарезервирован не знаю,
так и не нашел описание на этот код, но что я знаю точно, так это то, что
раздел с таким кодом не понимают следующие операционные системы: MS DOS,
Windows'95/98/NT, Linux. Хотя Linux, если ему сказать при монтировании,
что это за тип раздела, - его увидит, однако, на этапе инсталляции этот
раздел проигнорирует.

Теперь задача стояла следующая: в зависимости от выбора одни разделы
помечать кодом 10h, а другие реальными значениями. Засунуть всё это в 432
байта уже не представлялось возможным и пришлось сделать следующее: после
загрузки MBR загружает в память еще несколько секторов, которые содержат
остальной код и передает ему управление. В этих секторах должна находится
оставшаяся часть программы, которая позволит сделать выбор и результат
возвратит коду MBR. Но где взять эти лишние сектора? А вот где: 62 сектора
(это относится к IDE винчестерам, как это реализовано в SCSI - не знаю),
которые расположены следом за MBR, официально никем не используются, кроме
вирусов ? (как правило). Поэтому я решил занять несколько секторов для
своих целей, начиная с 50. Идея оказалась живучей. (Примечание. Если уж
быть точным, то эти 62 сектора можно увеличить до такого размера, который
вам нужен, если вы захотите "засунуть" туда что-то глобальное. Для этого
придется в partition table прописать пальцами новую геометрию логического
диска. По умолчанию, разделы начинаются с начала трека и т.к. в треке 63
сектора, то у нас появляется свободных 63 - 1 = 62 сектора.).

Теперь программа состояла из двух частей. Первую часть, модифицированный
MBR, который вызывает второй кусок программы с 50 сектора, достаточно было
написать один раз и забыть о ней (см. подкаталог _mbr_3os\, файл
sec_00.asm). Второй файл (sec_50.asm, комментариями, к сожалению уже не
блещет ?) представляет собой программу по обработке данных, вводимых
пользователем и передаче их обратно программе sec_00.asm (звучит немного
коряво, но надеюсь понятно, о чём речь). Программа sec_50.asm работает с
данными partition, которые были загружены при старте по адресу 0000h:0600h.
И когда выбор окончательно сделан, то измененный partition будет записан
sec_00.asm. В sec_50.asm первой строкой стоит debug_mode = 1, эта
переменная используется на этапе компиляции для отладочного режима. Если
она равна 0, то откомпилированная программа будет обращаться к адресам в
диапазоне 0000h:0600h- 0000h:07FFh, если же она равна 1, то используется
переменная partition, и программа будет обращаться к ней и программу можно
спокойно отладить не вызывая крах системы. В подкаталоге _mbr_3os\ лежит
откомпилированная в отладочном режиме программа sec_50.com. Если интересно
запустите её. Лучше всего находится в текстовом режиме, - я объясню позже
почему. Вы увидите три диска. Сделать видимым диск для других можно при
помощи клавиши "+" на дополнительной цифровой клавиатуре. Клавиша "-"
делает его невидимым. Чтобы выбрать диск с которого грузиться нажмите "B".
И нажмите "Enter", чтобы начать загрузку. Стрелки вверх/вниз позволяют вам
перемещаться в меню выбора, а стрелка слева от названия диска будет
заменять собой курсор. Чтобы реализовать все эти "рюшечки" и возможность
читать по-русски мне пришлось добавить в программу возможность
перепрограммировать знакогенератор (его верхнюю часть - символы со 128 по
255), потому что прошивка видеокарт, как правило, не поддерживает кодировку
CP866. Для этого я воспользовался программой evafont.exe для исправления
нужных мне символов и с её помощью сгенерировал include-файл sec_50.inc,
который содержал данные о прорисовке символов 8х16.

Отладив и получив то, что хотел, я занялся разбивкой жёсткого диска на
три логических. Делал я это так (если вам это интересно):

1.Запускал fdisk.exe.
2.Создавал primary и extended согласно тем размерам, которые будут
занимать 1-й и 2-й диски.
3.После этого запускал diskedit.exe и ставил этим дискам признак 10h.
Затем выходил из него и запускал опять fdisk.exe.
4.Создавал primary диск на оставшемся свободном месте.
5.Запускал опять diskedit.exe и восстанавливал те значения дисков,
которые мне нужны (FAT16 - 06h, FAT32 - 0Bh).
6.Потом перезагружался и форматировал диски. При этом нужно помнить, что
format.com от MS DOS не понимает FAT32. Поэтому лучше сразу брать
format.com от Windows'9x.

В заключении, хотелось сказать следующее - цель этой статьи рассказать,
что и как устроено в MBR и можно было бы ограничиться дизассемблированным
кодом MBR с комментариями к нему. Но мне хотелось показать, что можно
сделать с этим знанием. Я ни в коей мере не призываю вас ломать,
устоявшуюся структуру разбивки ваших дисков на ту, о которой рассказал я и
отказываться от тех загрузчиков операционных систем, которыми пользуетесь
(LILO, NT Loader, System Commander и etc.). Может быть, она вам и не
подойдёт. Хотя я для себя настроил четыре операционки для работы (в порядке
расположения): MS DOS, Windows NT 4.0, Windows'95 и Linux Mandrake 7.0RE и
все они спокойно уживаются и не видят друг друга, если я им не позволю.
Хотя, если кто-то начнёт лупить напрямую через int 13h тогда, конечно,
никакая разбивка не поможет (например, вирус "Чернобыль").
Есть ещё один плюс в использовании механизма закрывающего логические
диски от других операционных систем. В этом я убедился на собственном
опыте полгода назад. Если у вас стоит Windows'98 и Linux на одной
машине, то Windows'98 видит разделы Linux, но т.к. она не поддерживает
формат ext2 то, обнаруживая эти диски, она предлагает их
отформатировать, т.к. твёрдо уверена, что этот диск неотформатирован.
Вежливые отказы, судя по всему, не всегда помогают - раздел "/boot"
оказался испорчен напрочь и восстановлению не подлежал.

Александр Куприн.
e-mail: [email]ru_classic@mail.ru[/email]

http://www.codenet.ru/progr/other/mbr.php здесь можно найти исходники .

Senat0r - offline Senat0r
01-04-2002 07:06 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Мaрцелл - где то пролетали и не раз сообщения как поменять имена логическим дискам в винХР, может напомнишь?
референт - во я загрузился Ассемблера я не знаю, помойму это изврат
Columbanus - вобщем все поставил как хотел, создал ф-диском основной раздел дос на 3Гб, поставил на него вин98, бут манагер систем коммандер7, вин ХР. Потом вставил в сидючок линукс, он при инсталяшки меня спросил что я с винтом буду делать, я ему указав на неразбитое пространство сказал сделать ext2 на 3Гб и своп на 800Мб, потом перегрузился, сказал систем коммандеру чтоб он линукс увидел, и этим же бутманагером оставшееся пространство на диске форматнул под ФАТ32. Усе! Только проблемка теперь с вин98 (в ХР все ОК), он при загрузке запускает скандиск, пытается последний кластер на диске Д исправить, но обламывается, в итоге когда он все равно загружается у него еще появляется диск D (который как я понимаю под Линукс) и он говорит что размер его 0. с Диском С и Е все ОК. Ерунда какая то, снова не так что то сделал?
А Форума по линуксу нет на камраде? А то я теперь не знаю как врубить русский язык, как заставить взаимно видеть линуксовые и виндовые диски, как ставить программы под линукс и еще кучу всего

Мaрцелл - offline Мaрцелл
01-04-2002 08:34 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Senat0r - Administrative Tools->Computer Managment->Disk Management. Правой кнопкой на соответствующем диске, в меню выбираешь Change Drive Letter..

Senat0r - offline Senat0r
02-04-2002 06:50 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Мaрцелл -

nicdan - offline nicdan
08-04-2002 22:48 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Senat0r маленький вопрос, а нахрена тебе линукс?

Senat0r - offline Senat0r
09-04-2002 10:07 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



nicdan - давно хотел посмотреть что за зверь, а тут еще красивые скриншоты увидел и загорелся... Я его поставил, все ок, только теперь нихрена не могу настроить звук (вроде нашел мою сблайв, но звука нет, хотя ползунок в аналоге винампа движется...), да видео завести чтоб муви крутить...

nicdan - offline nicdan
09-04-2002 21:28 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Senat0r уууу увлекательное занятие
на линукс.орг.ру куча информации
я звук завел только пересобрав ядро, только у меня была другая карта. потом хотел тв тюнер поставить не получалось вообщем плюнул и на 98 вернулся. я тоже линукс из любопытства ставил. по ошибке форматнул весь хард вот смеху было. любопытная система, но сложная

Columbanus - offline Columbanus
10-04-2002 00:07 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад
Святой Алканафт



нашел мою сблайв, но звука нет, хотя ползунок в аналоге винампа движется...), микшер проверь, возможно просто он заглушен, у алса драйверов для лива так такое вообще по умолчанию идет поначалу, если установки микшера не грузятся..
вообще если ты захочешь эту систему оставить то привыкай, что тебе придется читать ОЧЕНЬ много инфы, а сначала тебя пошлют скорее всего к соответствующим FAQ по линуху и многим HOWTO, хотя и они пишутся постольку поскольку и описывают скорее базовые моменты и зачастую уже устаревшее железо, что тоже не всегда может помочь.

И самое главное! Привыкай (читай учи) работать в консоли, потому как графические интерфейсы интерфейс у линуха это не более чем графическая надстройка над консольным режимом и стабильность и функциональность его, пока не так велика как хотелось бы.

Senat0r - offline Senat0r
10-04-2002 06:21 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Я уже столько факов насобирал, только действительно все не то... Как например ставить проги некоторые не пойму, лежат в архивах странных *.tar.tar *.tar.bz2 *.tar.еще какое то, а *.rpm очень редко встречаю. Постоянно выскакивает окошко что прога какая то сбой вызвала... Я думал этого в Линуксе не встречу, однако .... Короче чума пока

Columbanus - offline Columbanus
10-04-2002 06:44 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад
Святой Алканафт



Я уже столько факов насобирал, только действительно все не то... тока мало что читал надо полагать, возьми для начала хотя бы простое какое нибудь описание по линуху...
самые первые шаги, из чего состоит система, простейшие команды, как идет загрузка и т.п...
там все это написано, постепенно продвинешься, потом

лежат в архивах странных *.tar.tar *.tar.bz2 *. это архивы, обычно так исходники распространяются, предварительно их нужно разархивировать соответствующими архиваторами (tar, gunzip, bzip (bzip2) ), потом их надо скомпилировать. Все инструкции обычно лежат в файлах README и INSTALL в архиве.

что касается rpm..то это уже готовый пакет бинарников, к тому же адаптированный под определенную версию линукс обычно и его установка тоже иногда может вызвать определенные проблемы с совместимостью, поэтому прежде всего ищи rpm для своей версии линуха, меньше будешь иметь проблемм при установке

Короче чума пока ага еще какая

Senat0r - offline Senat0r
10-04-2002 08:45 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



тока мало что читал надо полагать - ну типа того
самые первые шаги, из чего состоит система, простейшие команды, как идет загрузка и т.п... - вот я как раз такой фак и искал... не нашел...
А с дровами СБлива так вобще, на креативе нашел (причем только почему то на американском сайте) 2 беты, под редхат... так что и незнаю как быть...
А еще при загрузке (грузится минуты 3 не меньше) какой то сбой происходит ) Ну линукс млин....

Текущее время: 21:54
новая тема  ответить следующая тема | предыдущая тема
 
Перейти:

версия для печати   отправить эту страницу по e-mail   подписаться на эту тему

 
Powered by: vBulletin Version 2.0.1
Copyright ©2000, 2001, Jelsoft Enterprises Limited.
Любое использование материалов сайта
возможно только с разрешения его администрации.


 

Рейтинг@Mail.ru
Рейтинг@Mail.ru