Опять проблемы большого винта

Люди, нужен хелп.
Купил винт на 160 ГБ, сигейт. Но биос не знает таких больших винтов. Но при автоопределении пишет, что есть винт на 137 ГБ. Из под ХР SP2 все нормально видится и работается. При установке винта вторым и установке на него винды можно грузиться хоть со старого сороковника, хоть с нового винта. Но если оставляю только новый винт, то комп не может найти boot. Хотя из под доса я вижу все диски нового винта.
Может иду неправильным, сложным путем. Пока идея такая - поскольку сороковник надо отдавать, то можно ли грузиться скажем с CD-rom (вернее проходить первую стадию загрузки до момента, когда комп предлагает загружаемые типы винды), а потом выбирать винду, которая стоит на винте.
Понимаю, что проблема в биосе - не знает он таких больших винтов, но не могу найти новый биос (на гигабайтовском сайте молчат, даже через форум пробовал) с поддержкой винтов больше 137. А биос AMI патчер не знает, сам ковыряться пока боюсь.

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

Цитата:
Сегодня буду пробовать - отформатирую диск с на 160-ке и поставлю на него ХР

да, пока не забыл - есть смысл делать первый раздел не более 128ГБ в пределах первых 120Гб винча... Ну, это как раз и есть ограничение БИОСа в данном случае...
ладно... пойду делать ФАК по этой теме...

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Root писал(-а):
да, пока не забыл - есть смысл делать первый раздел не более 128ГБ в пределах первых 120Гб винча... Ну, это как раз и есть ограничение БИОСа в данном случае...
Да у меня разбивка 20-20- остальное

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

Итак, как происходит загрузка компа?

Сначала пользователь нажимает на кнопку Power на своем системном блоке. В конечном итоге, это приводит к тому, что подаются нужные напряжения на материнку и процессор начинает считывать с физического адреса 0xFFFFF0, куда отображается содержимое флешки, т.е. БИОС. Далее БИОС начинает производить проверку и инициализацию всяческого оборудования, копирует себя за пределы первого мегабайта оперативы (на последний мегабайт оперативы). При проверке железа компа, БИОС выводит в определенный порт номер чекпойнта, где сейчас выполняется код. Поэтому есть возможность сделать диагностическое у-во, отображающее число в этом порту и называемое ПОСТ-картой, потому что POST расшифровывается как Power On Self Test, т.е. "самотест при включении".
Во время этой процедуры, БИОС ищет всевозможные у-ва для загрузки. Если в BIOS Setup в качестве загрузочного указано не существующее у-во, то БИОС об этом честно говорит:)
Примерно так:
"DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER"
Если накопитель есть (и если это СД/флопповод и в него вставлен диск/дискета и пр.), то БИОСом считывается первый сектор, помещается в память по адресу 0x07C0:0x0000 и передается управление на него.
Первый сектор на винче (точнее, нулевой) - MBR.
выдрал из своей проги:

typedef struct tagPartInfo {
  BYTE  BootFlag;    //80h - active partition, else 00h
  BYTE  BeginHead;   //First head or side of partition
  WORD  BeginSecCyl; //First cylinder(10b) and sector(6b)
  BYTE  FileSysCode; //System identification byte
  BYTE  EndHead;     //End head or side of partition
  WORD  EndSecCyl;   //End cylinder(10b) and sector(6b)
  DWORD BeginAbsSec; //Offset of first sector
  DWORD TotalSects;  //Number of sectors in partition
} PartInfo;

typedef struct tagMBR {
  BYTE Code[0x1BE];  //Boot-loader code(446 bytes)
  PartInfo part[4];  //Partition table
  WORD Sign;         //Signature(always 55AAh)
} MBR;

прим. - BYTE - байт, WORD - слово, т.е. 2 байта, DWORD - 2 слова (double word), т.е. 4 байта, QWORD - 4 слова (quad word), т.е. 8 байтов
как видно, первые 446 байтов - сам код загрузчика, остальное - описание разделов винча. В принципе, совсем не обязательно, что MBR будет выглядеть так, но на платформе X86 и использовании Win/DOS он всегда такой. На других платформах и с другими осями возможны другие, но они как раз неудобны несовместимостью с ДОСом, Виндой и программами под них (напр., Patition Magic).
Далее загрузчик ищет активный раздел, считывает его первый сектор (в нем лежит сам загрузчик операционки) с помощью INT13h в память и передает управление на него. И в случае АшЫПки:) MBR пишет "Missing operating system".
Ужасная система, не правда ли?:) Наконец-то приняв управление от образа MBR в памяти;), загрузчик операционки ищет ее файлы, грузит их в память опять же с помощью злополучного прерывания INT13h и наконец-то грузится ось (ну, или супер-пупер-загрузчик оси, примером которого являетя NTLDR). Если же ось не найдена:), то именно этот загрузчик ругается об этом след. сообщениями:
- NT (W2k/WXP/NT4/NT3.x) - "NTLDR is missing"
- DOS - "Non-System disk or disk error".
При загрузке с дискеты, одна стадия проглатывается: в нулевом секторе на ней лежит не MBR, а загрузчик Оси, который идентичен тому, что встречается на винчах. Дело в том, что первый сектор раздела или дискетки содержит структуру, описывающую файловую систему, и в этой структуре специально с начала выделено некоторое место под код.
Конечно, можно спросить почему все сделано так, а не иначе, но "ответом ему была тишина".:( Если серьезно, то так сложилось. Скажем большое спасибо за это в частности M$, сопровождавшую развитие (тогда еще IBM) PC с самого начала.
Теперь отвечу на вопрос использования INT13h. Это прерывание специально заточено для работы со всяческими контроллерами, на которых висят диски. С помощью него программы могут писать, читать, форматировать и вообще вытворять с диском почти все что угодно:) Только вот и оно не без глюков:( Все наверное слышали про проблемы работы БИОСом с большими винчами. Так в них помимо процедур идентификации виновато еще и INT13h:( На самых новых БИОСах с поддержкой LBA48, это прерывание наделено поддержкой LBA48, т.е. всех ныне существующих винчей, но чем дальше отодвигаться в прошлое, тем меньший объем винта поддерживает INT13. Скажем, на материнках под первопень оно поддерживает 8ГБ винчи :-{ Хотя можно поставить винч и бОльший, например, 20ГБ и он полностью распознается БИОСом, но все равно будет возможность загрузить систему только с первых 8:( Это конкретная засада:( Конечно, можно тогда задать вопрос почему у ОСей таких проблем нету. Дело в том, что современные (и не очень) операционки используют свои процедуры работы с винтами, сводящиеся к работе по портам в драйверах. Древности в роде ДОС лишены этой возможности и идут через не всегда хорошие сервисы БИОСа...
Более того каждый контроллер Mass Storage (т.е. для работы с накопителями) может с помощью своего БИОСа проапгрейдить "стандартный" INT13h на поддержку своих дисков. Поэтому при наличии (SCSI-/IDE-/SATA-/RAID-)контроллера со своим БИОСом, под ДОСом видны диски на нем. Удобно:)

выводы:
- при возможности есть смысл глядеть в сторону не вынтел(x86)-платформу. Очень многие моменты там реализованы действительно красивее
- если БИОС винч хоть как-то видит (пускай на Авто, но детектит), то загрузиться с него принципиально возможно
- для загрузки ОСи надо, чтобы прописаны все загрузчики, в противном случае какой-нибудь из них выругается.
- каждый загрузчик должен быть правильно настроен, в т.ч. и существовал Active-раздел на винче.

PS: камнями и тухлыми яйцами не кидайтесь... если что - поправим
PPS: сообщения приведены для Аварда. у Ами и Феникс могут быть другие, но аналогичные по смыслу

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Аватар пользователя Семен Сатановский

To Root

Кидаться ничем не буду, как первая итерация - очень хорошо =D> , вопрос в другом, для кого написано, если для таких как я, то полезно, т.к. освежает знания,
а если для людей, которые этой информацией еще не владеют, то скорее будет
полное непонимание, помню по себе, но если дать ссылки на источники, где эту


информацию можно получить в более развернутом виде, то человек с пытливым
умом начнет рыть дальше, и таким образом повышать свой уровень, что и нужно.

Резюме:
- Ссылки.
- Не забывать, для какой аудитории пишете.
- Не забывать ставить иногда себя на место читателя, а то опять мистика начнется wink

И как говорит один любитель изяЧной словесности с нашего форума:

"Аффтар, пеши есчё!" :D

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

С линками туго. Всю инфу я лично получал из книжек. Некоторые из них есть и в онлайн варианте:)

Итак, поехали
М. Гук "Процессоры Pentium II, Pentim Pro и просто Pentium", изд. Питер - инициализация проца (самое начало загрузки)...
Скотт Мюллер "Модернизация и ремонт ПК" изд. Williams. В оригинале - Addison Wesley. Где-то видел в онлайн-варите. Включает полное и толковое описание процесса загрузки.
когда я ее покупал, эта книжка стоила 500 рублей и я даже не пожалел, что их потратил:D
MBR - дизассемблирование - небольшой материал по алгоритму работы MBR'а


Документация на мультизагрузчик SyMon. Этой программой я не пользуюсь, а ценность в данном контексте несет только введение...
статьи:
Разделы во FreeBSD
MBR под микроскопом. Альтернативные методы загрузки.
Процесс загрузки компьютера – от включения питания до запуска ОС
В процессе загрузки NT/W2k/WXP используется NTLDR и файл boot.ini.
Его описание можно найти тут или в MSDN'е (онлайновый ресурс, посвященный программистам, администраторам и просто юзерам по всем продуктам Microsoft; абрревиатура расшифровывается ка MicroSoft Developer's Network)

PS: еще одна толковая статья по MBR

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Спасибо за науку, за описание =D> .
Семен Сатановский прав, что мало чего понятно. Так что буду по ссылкам лазить и повышать уровень.
Докладываю. Разбивка винта 20-20-110. На первые 20 вчера поставил ХР. Все прошло нормально. Предварительно отформатировал диск с из под доса, чтобы не было траблов от старой установки.
Такой вопрос имеется. Какой тип файловой системы лучше ставить?

Аватар пользователя Семен Сатановский

To Root

=D> =D> =D>

Здорово, как раз то, что надо, сижу читаю с удовольствием, много нового и интересного. Вот в таком виде и нужно подавать информацию, и никакого шаманства не потребуется, равно как и посыланий в ФАК evil , лентяй все равно читать не будет и отвалится сам, а для человека интересующегося - путь максимального благоприятсвования.

To opa

Цитата:
Какой тип файловой системы лучше ставить?

А Вы попробуйте и то и другое, для опыта.

"Until you try you never know" (из американского варианта мультфильма "Маугли")

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

opa писал(-а):
Какой тип файловой системы лучше ставить?

Это зависит от того, как часто собираетесь оную терять... wink
Если без шуток, то для NT-осей (включая и ХРюшу) NTFS предпочтительнее; только следите, чтобы на диске всегда оставалось не менее 20% свободного места, иначе фрагментация файлов начнет возрастать в немыслимых масштабах...

- Ситчик веселенький есть?..
- Приезжайте, обхохочетесь!..

Аватар пользователя Семен Сатановский

Прочитал материалы по ссылкам Root-a, вспомнил, что при установке программы
BootMagic, я использовал версии 7 и 8 , предлагается создать аварийную дискету,
которая является загрузочной, и дает возможность менять активный раздел после
загрузки с нее. Также она содержит программу, показывающую и позволяющую редактировать в псевдографическом режиме Partition Table. Что бы ее найти надо выйти из той программы, которая появляется сразу после загрузки с дискеты, и
покопаться в ее (дискеты) содержимом, я нашел эту программу методом тыки :|

В FAQ по переносу системы с винта на винт (Я-БААЛЬШОЙ ШАМАН поданному вопросу, но не гуру):
Метод копирования файлов (есть и другие - ghost'ом, например)
Кратенько:
1. Разбиваем диск на разделы
2. Форматируем
3. Делаем ОСНОВНОЙ раздел АКТИВНЫМ.
4. Прописываем MBR(системим диск, делаем системным).
5. Копируем системные файлы.
Некоторые пункты делаются совместно.
6. Копирование из Win9x
7. Копирование из WinNTx

Подробнее:
1. Разбиваем диск на разделы (произвольно), но ОБЯЗЯТЕЛЬНО!!!:
ПЕРВЫЙ раздел должен быть ОСНОВНЫМ и желательно целиком лежать в области, распознаваемой BIOS (.../8/32/137/...Gb). Делать можно чем угодно - fdisk(долго), PQ4-8(быстро), установщиком Окон(никогда не пробовал),... .
Некоторые программы, например PQ8, иногда позволяют работать со всем диском, а не только с областью, видимой BIOS, причем получают информацию о размере винта то из паспорта, а то и из Partition Table(PT) MBR (например, CH i815EPT + SP2014N(gnusmas IDE 200Gb) BIOS бачит 137Гб, и PQ8 на чистом винте - тоже, а если дать уже разбитый, то позволяет работать со всем объемом, на котором есть разделы, причем, не факт, что корректно).
Прим: желательно производить разбиение на мамке, на которой впоследствии винт будет стоять, так как разбиение привязано к логической геометрии винта, которая определяется BIOS'ом и разночтения хоть и редко, но случаются (чем ближе к Триасовому периоду, тем чаще, на современных мамах такого фактически не происходит). Грозит это тем, что загрузчик и все системные файлы должны лежать в области, в которой разночтений нет (io.sys - для DOS/Win9x и NTLDR, NTDETECT.COM, BOOT.INI - для NT-образий). После передачи управления от BIOS загрузчику OS, оные пользуются информацией из PT MBR.

2. Форматируем, по крайней мере, ОСНОВНОЙ раздел. Для Win9x в FAT32 (FAT16 можно, если раздел<2Gb, но не нужно т.к. всякие длинные имена,...) или FAT32/NTFS для NT5,6/7/(2000 и ХР соотв. /2003 - не помню, но подходит/). Можно делать format'ом (долго), PQ4-8(быстро, если отключить проверку на плохие кластеры и в один прием с разбиением), установщиком Окон(не пробовал),... .
3. Делаем ОСНОВНОЙ раздел АКТИВНЫМ.
PQ4-8 позволяет сделать быстро и прямо (и опять-таки, все за раз), format /s (от DOS6.x, Win95, Win98), вроде, тоже это делает (совместно с форматированием), от МЕ - ругается, уродец. Установщик Окон это делает по умолчанию при начале копирования файлов, но куда - логику понимать даже не хочу: либо на первый из винтов (PRI-MA, PRI-SL, SEC-MA, SEC-SL, по убыванию), либо на тот, с которого уже загрузились (железно, но нафига?). 100% можно заставить его это сделать куда надо только не оставив выбора - 1 винт в системе и загрузка с CD.
4. Прописываем MBR(системим диск, делаем системным). Варианты:
sys a: c: (DOS6.x/Win95/Win98, ME-ругается, ... Понятно, что грузится надо с соотв. дисков и пользоваться соотв. sys.com'ом, причем без разницы, происходит загрузка с дискеты, CD, или другого винта - прямо указываются источник системных файлов и получатель (с а: на с:)) Работает только в случае FAT/FAT32. Сразу копирует системные файлы, если не может скопировать - не беда, можно это сделать вручную. У МЕ и 98 MBR одинаковые, IO.SYS и command.com - разные. 98й грузится с ME'шного DOSа, наоборот - через Ж..., если вообще грузится.
Установщик NTей делает ЭТО с началом копирования файлов и с той-же логикой. WinXP не живет на MBR от Win2000, наоборот - нормально.
Загрузчики 9х и NTx - разные, 9x - односистемный, NTшный предполагает наличие других систем на том-же диске (и даже разделе), в том числе - 9х и предлагает загрузится в одну из них в соответствии с содержанием файла BOOT.INI логика его проста и здесь не описывается. Если есть Win9x/DOS, очень важен файл bootsect.dos - от других витов и разделов не подходит.
Консоль WinNTx команды fixboot, fixmbr, ... (тут не спец)
5. Копируем системные файлы. В основном делается совместно с предыдущим пунктом или вручную. Напомню: для Win9x это IO.SYS и command.com (msdos.sys обязателен только для DOS6.x и ниже, а IBMIO.SYS - вообще для динозавров) с помощью них можно загрузить соответствующий DOS. Для WinNTx - NTLDR и NTDETECT.COM ну и все остальные файлы системы (находящиеся уже в соответствующем каталоге на соответствующем разделе - см. BOOT.INI, так как никакого DOSо-образия в NT нету) в т.ч. ntoskrnl.exe, отвечающий за работу с NTFS.

6. и 7. КРАТЕНЬКО:
Под Win9x/ME копируем просто и нагло.
Под WinNTx:
- Не подключаем новый диск при загрузке той системы, которую собираемся копировать.
- Удаляем буквы дисков после подсоединения к "третьей" системе.
- Не подключаем старый диск до того, как система на новом полноценно загрузится и присвоит буквы томам.
- в первый раз грузиться в SafeMod'е.
6. Копируем (нагло причем) все, что требуется на новые разделы. В случае с Win9x&FAT32 это делается прямо, просто и безпроблемно: грузимся со старого винта и копируем ВСЕ (или то, что нужно, если понимаешь) на новый. Единственная рекомендация - чтобы разделы соответствовали (с 1го - на 1й, ...). Если есть проблемы с определением, какие буквы какому винту принадлежат, можно либо сделать томам(логическим дискам) метки, либо посмотреть через Система\Диспетчер Устройств\Дисковые Накопители\... .
Можно из Win9x копировать и на/с NTFS при помощи NTFS98, НО УПАСИ ВАС ТОТ-В-КОГО-ВЕРИТЕ от работы под Win9x(в т.ч. WinME) выше 137Gb вне зависимости от поддержки BIOS'a - безразвратно попортите кучу информации.

7. Если у ВАС только NTFS, то придется воспользоваться WinNTx и поработать бубном, ибо:
- Ни одно из НТ-образий не позволит ВАМ прямо себя скопировать - почему-то не сможете скопировать файлы реестра, текущего плоьзователя и логов(они в отличии от первыз двух и не нужны). Пользователя можно скопировать из другого пользователя 8) , а реестр - только из другой системы. :twisted:
- Если другая ("третья") система - NTx, то она примаунтит Ваши диски и назначит им буковки, которые перед установкой диска на место, а лучше - при отключении от ЭТОЙ "третьей" системы, изничтожить - ПУ\Администр\Управление компьютером\Упр дисками -> Изменить букву\Удалить. В противном случае при загрузке с диска с неудаленной буквой он может себя осознать вовсе не как C:, а как та буковка (куда она прописывается? в PT/MBR, что-ли?), при этом винда загрузится, но радости переставлять проги или делать операцию по изменению пола диску, честно говоря, не много. (ЕСЛИ КТО ЗНАЕТ как 100% менять буквы системным дискам, дискам, содержащим файл подкачки, или, что хуже - систему - просьба дать материал).
- Нельзя грузиться с нового диска при подключенном старом, так как С: будет присвоено именно ему (видимо, информация хранится в т.н. Generic Volume), часть файлов Винды будет грузится с нового диска, часть - со старого (хотя на новом они есть), и при его отключении винда просто не загрузится, а влучшем случае, придется менять букву диска. После того, как Вы загрузились с нового диска и винда присвоила всем томам буковки, старый диск можно подключать.
- Если ВАША система на старом диске "увидела" новый, после чего была откопирована, есть вероятность того, что она опять-таки не загрузится так как будет думать: "блин... этот том я знаю - это не тот ... а где-же тот???" ... и по кругу. Результат может быть разный в зависимости от версии ОС.
- Общие рекомендации - в первый раз грузиться в SafeMod'е.

ИТОГО еще раз:
Под Win9x/ME копируем просто и нагло.
Под WinNTx:
- Не подключаем новый диск при загрузке той системы, которую собираемся копировать.
- Удаляем буквы дисков после подсоединения к "третьей" системе.
- Не подключаем старый диск до того, как система на новом полноценно загрузится и присвоит буквы томам.
- в первый раз грузиться в SafeMod'е.
Пример: "третья" система - другой комп: подключаем к нему оба диска, грузимся, маунтим(вручную или автоматом), копируем все, что нужно, отмаунчиваем(удаляем буквы дисков БУКВЫ!!! а не РАЗДЕЛЫ!!!), подключаем новый диск к компу, грузим в Safe, грузим нормально, подключаем старый диск - работаем.
"третья" система - вторая на том-же компе: грузимся во вторую -копируем первую, грузимся в первую - копируем вторую (если надо), подключаем к компу новый диск, грузимся, маунтим(вручную или автоматом), копируем копии систем на место систем на новый диск +все, что нужно, отмаунчиваем, подключаем новый диск вместо старого, грузим в Safe, грузим нормально, подключаем старый диск - работаем.

P.S. BUBNADANCING - скорее раздел камасутры в изложении Мазоха, чем новое направление в музыке

"Рассуждения о долге - удел демагогов" из книги В.Леви.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей