Stránka 1 z 1

Podľa čoho určuje BIOS geometriu disku?

Napsal: 01 pro 2015, 11:05
od PotPalo
Riešim tu jeden problém ktorému nerozumiem. Vždy som si myslel, že geometriu disku (počet CYLINDERS, HEADS, SECTORS, skrátene CHS) si BIOS detekuje nejak z elektroniky harddisku. Ale nieje tomu tak. Ak dám harddisk (napríklad SATA 120GB) do notebooku (Lenovo T60), tam mi to vidí 240 HEADS na 63 SECTORS. Ak dám ten istý harddisk do PC (staršia MB intel), tam to vidí inak, iný počet HEADS a SECTORS. V BIOSe PC sa dá nastaviť LBA na AUTO alebo DISABLED, v notebooku už ani to. Teraz to hlavné. V PC sa mi mení HEADS a SECTORS podľa offsetu a veľkosti prvého oddielu na disku. Ak zmažem oddiel a disk je bez oddielov, BIOS ho detekuje ako 255 HEADS s 63 SECTORS. Notebooku je to jedno, tam ho vždy vidí ako 240 HEADS s 63 SECTORS.

Dá sa toto niekde nastaviť (na disku), ako bude BIOS detekovať harddisk?

Viem že disk používa LBA, a teda CHS je ignorované, ale ak napríklad obnovím disk zo zálohy na PC, v notebooku to z neho nebootuje, pritom obsah disku ho vidí, dajú sa čítať súbory (neviem či všetky). Musím ho obnoviť priamo v notebooku aby to bootovalo.

Napsal: 01 pro 2015, 11:16
od rnbw
To je cisto vec BIOSu a dementnych opic, ktore ho programovali. Kazdy sa moze spravat inak.

Napsal: 01 pro 2015, 11:39
od PotPalo
No dobre, ale ako donútiť dva BIOSy, aby ho detekovali rovnako? V notebooku s tým nehnem, tak asi len v PC. Nejaký maličký oddiel podľa ktorého to určí správnu geometriu. Ale ako to BIOS vypočíta CHS podľa oddielu? Akým vzorcom? Viem vytvoriť oddiel začínajúci na x-tom sektore s dĺžkou y sektorov, ale potrebujem vedieť ten kľúč výpočtu. Zatiaľ mi to vypočítava sprostosti, napríklad 49 H a 58 S alebo 19 H 42 S. Potrebujem vytvoriť oddiel, aby to vypočítalo 240 H a 63 S. Už sa mi podaril aj taký oddiel, že mi nebootoval DOS, asi mu BIOS hlásil vypočítané niečo mimo rozsah, a tak disk musel do notebooku kde som ho zmazal.

Napsal: 01 pro 2015, 12:00
od PotPalo
Zase! Už ma ide z toho jebnúť! Oddiel začínajúci na 63 sektore o dĺžke 16065 sektorov, a MSDOS nebootuje, načíta sa IO.SYS a zastaví, nič nenapíše, ani "Spúšťa sa MS-DOS", skrátka zamrzne. Zistené až pomocou Floppiny, s USB sa ťažko určuje čo sa načítalo.

Napsal: 01 pro 2015, 12:06
od rnbw
Vytvor si na tom notebooku particiu a potom pozri v editore, na ktorom sektore zacina.

Napsal: 01 pro 2015, 12:22
od PotPalo
Tak som v notebooku zmazal disk. Vytvoril som 1GB FAT16 oddiel. Začína na 63 a dĺžka 1988225. V PC to detekuje ako 16 H a 63 S. Notebook si trvá na svojom 240 H a 63 S. To je beznádejné. Poobhliadnem sa po novšom BIOSe, prípadne po novšej doske :guns:

Napsal: 01 pro 2015, 12:23
od rnbw
To ti nepomoze. Pomoze pouzivat software, ktory funguje bez ohladu na to, co si mysli BIOS o neexistujucej geometrii disku.

Napsal: 01 pro 2015, 12:28
od PotPalo
No ja potrebujem MS-DOS a Windows XP na tom disku. Teraz neviem presne, ale tuším tam mám MBR z MS DOS 5, to by mohlo robiť problém. Keď prepočítava boot podľa geometrie BIOSu, vyjde mu zlé miesto a napíše "Missin operating system". Idem skúsiť zmeniť MBR, inak disk používa LBA. S iným MBR by to malo bootovať nezávisle na geometrii?

Napsal: 01 pro 2015, 12:35
od xsc
MSDOS 5 jsem nezkoušel. Multiboot DOS/XP na takhle velkém disku jsem dělal s Dosem 7 z Win98. Bootnul jsem z CD/diskety Win98, dal pro jistotu fdisk/mbr, pak vytvořil fdiskem partition a nastavit ji jako aktivní. Následně formát c: a sys. Teprve pak instalace XP s tím, že ta dos partition slouží jako bootovací, takže si na ní XP umístí loader.

Napsal: 01 pro 2015, 12:37
od rnbw
MS-DOS nepodporuje LBA, az ten novy od Windows 95.
Napriklad GRUB podporuje LBA a pouziva ho, ak ho BIOS podporuje.

Napsal: 01 pro 2015, 12:43
od PotPalo
Tak asi vyriešené. Bolo to tým MBR. DOS som mal samozrejme ten z Win98, aj SYS C: som z neho robil, len som zabudol na MBR, ktorý bol ešte z päťky. Vytvoril som na PC dva oddiely FAT16 po 1 GB každý, ten druhý som dal bootovací, a nič. "Missing operating system". Po FDISK /MBR to už bootuje DOS, v notebooku tiež.

Ešte prosím poradiť nejaký jednoduchý (a malý) DOSovský program na ukladanie MBR, kde by som mohol uložiť MBR z ľubovoľného disku do súboru a naopak.

edit: ono sa to asi nazýva IPL, MBR je aj s tabuľkou partícií. Stačí aj niečo čo nahradí fixmbr z konzoly xp.

Napsal: 03 pro 2015, 21:12
od PotPalo
Tak som zistil, že FDISK s parametrom /CMBR 2 vie zmeniť MBR aj na druhom disku. Tiež som sa dočítal, že Win 7 64bit už používa iný MBR, WinXP tiež iný, takže kašlem na to. Fdisk tam nahodí DOSovský MBR, takže DOS partícia s XOSL bootuje, odtiaľ preinštalujem XOSL, a z neho už ide aj XP. Viac neriešim.

Napsal: 03 pro 2015, 21:31
od xsc
WinXP s Dosem ještě spolupracovat umí. Já to řešil tak, že jsem nainstaloval Dos a pak jsem spustil instalaci XP na jinou partition. Ta Dosová zůstane aktivní a XP si tam uloží loader, vše ostatní už dají k sobě a nabídnou přímo bootmenu. U XP64 nevím, ale od Visty výš už přímý boot do Dosu není podporován a mbr je jiný.