Àâòîð: Mario79
xx.01.2006 - íàáîð ñòàòüè
20.03.2006 - ïóáëèêàöèÿ ñòàòüè
23.03.2006 - èñïðàâëåíèå è äîïîëíåíèå ñòàòüè
26.02.2007 - ïåðåðàáîòàíî è äîïîëíåíî â ñâÿçè ñ èçìåíèâøèìèñÿ ðåàëèÿìè
Çàãðóçêà ÎÑ Êîëèáðè ñ USB Flash Drive
Íà ñåãîäíÿøíèé äåíü ÎÑ Êîëèáðè íå èìååò ïîääåðæêè USB óñòðîéñòâ íà óðîâíå ñàìîé ñèñòåìû, ïî ýòîé ïðè÷èíå äëÿ çàïóñêà ñ USB Flash íàêîïèòåëåé ïðèõîäèòñÿ èäòè íà îïðåäåëåííûå õèòðîñòè.
Ñóùåñòâóåò 2 èçâåñòíûõ ñïîñîáà çàïóñòèòü ÎÑ Êîëèáðè ñ «ôëåøêè».
1) Ýìóëÿöèÿ ôëîïïè äèñêà â BIOS.
Ìåòîä ïðîñò äî òóïîñòè íà «ôëåøêó» çàïèñûâàåòñÿ IMG îáðàç, ñ ïîëíîé ýìóëÿöèåé, òî åñòü 0 ñåêòîð IMG îáðàçà ñòàíîâèòñÿ 0 ñåêòîðîì «ôëåøêè», è òàê äàëåå ïîêà âñå ñåêòîðà îáðàçà íå áóäóò ñêîïèðîâàíû íà íàêîïèòåëü. Èç íåäîñòàòêîâ ýòîãî ñïîñîáà ñðàçó ìîæíî çàìåòèòü ïîòåðþ ðàáî÷åãî ïðîñòðàíñòâà âûøå 1,44 Ìá. Îñîáåííî îáèäíûì ýòî ÿâëÿåòñÿ äëÿ íàêîïèòåëåé, åìêîñòü êîòîðûõ íàìíîãî ïðåâûøàåò ýòîò ðàçìåð.
Êàê ïðîèçâîäèòñÿ òàêàÿ «óñòàíîâêà» ñèñòåìû â ðàçíûõ îñ:
à) ÎÑ Linux îïèñàíèå ìîæíî ïîëó÷èòü, ââåäÿ â êîíñîëè êîìàíäó man dd
á) ÎÑ Windows çàïèñü ìîæíî ïðîèçâåñòè ñ ïîìîùüþ ïðîãðàììû WinHex (èëè àíàëîãè÷íîé), êîïèðîâàíèåì 2880 ñåêòîðîâ ñ äèñêà A (floppy disk) íà äèñê, êîòîðûé ÿâëÿåòñÿ Flash íàêîïèòåëåì, íà÷èíàÿ ñ 0 ñåêòîðà.
â) DOS ìîæíî ïðîñòî îòôîðìàòèðîâàòü ýìóëèðóåìîå óñòðîéñòâî, ðàçóìååòñÿ, åñëè ýòî ïîçâîëÿåò BIOS ìàòåðèíñêîé ïëàòû êîìïüþòåðà.
2) Ýìóëÿöèÿ Flash íàêîïèòåëÿ êàê æåñòêîãî äèñêà â BIOS.
Çäåñü íàäî ñäåëàòü ïîÿñíåíèå: äàæå åñëè âàø BIOS ýìóëèðóåò «ôëåøêó» êàê ôëîïïè äèñê ýòî ñîâñåì íå îçíà÷àåò, ÷òî âû îãðàíè÷åíû ðàçìåðàìè ôàéëîâîé ñèñòåìû FAT12, êîòîðàÿ â îñíîâíîì ïðèìåíÿåòñÿ íà ôëîïïè äèñêàõ è èìååò îãðàíè÷åíèå íà ðàçìåð îêîëî 4 Ìá.
Íà ïðàêòèêå ýòî îçíà÷àåò, ÷òî îòôîðìàòèðîâàííûé â FAT16 íàêîïèòåëü áóäåò çàìå÷àòåëüíî âèäåòüñÿ êàê ôëîïïè äèñê ñ ðàçìåðîì äî 2 Ãá. Ê ñîæàëåíèþ, âñå ìîè ïîïûòêè çàãðóçèòüñÿ ñ ïðèìåíåíèåì ôàéëîâîé ñèñòåìû FAT32, êîòîðàÿ ïîçâîëèëà áû íà ïîëíûé ðàçìåð èñïîëüçîâàòü USB Flash íàêîïèòåëè ðàçìåðîì áîëåå 2 Ãá, íå óâåí÷àëèñü óñïåøíî.
Âåðíåìñÿ íåïîñðåäñòâåííî ê çàãðóçêå.
Ïîñêîëüêó íà äàííûé ìîìåíò Êîëèáðè íå ÿâëÿåòñÿ ïîëíîñòüþ ñàìîñòîÿòåëüíîé ÎÑ, òî ïîâñåìåñòíî îíà ïðèìåíÿåòñÿ ïàðàëëåëüíî ñ äðóãèìè ÎÑ. Ýòà ñèòóàöèÿ ïðèâåëà ê òîìó, ÷òî ñîáñòâåííîãî íåçàâèñèìîãî çàãðóç÷èêà (åñëè íå ñ÷èòàòü ôëîïïè äèñêè) ó Êîëèáðè ôàêòè÷åñêè íåò.
Íà ñåãîäíÿøíèé äåíü îñòàëèñü àêòóàëüíûìè òîëüêî 2 çàãðóç÷èêà: meosload.com è mtldr.
Îáà ìîãóò çàïóñêàòüñÿ èç ñðåäû DOS.
Óñòàíîâêà Êîëèáðè íà ôëåøêó â ìîåì âàðèàíòå íà÷èíàåòñÿ ñ óñòàíîâêè DOS íà ôëåøêó, êàê ïåðâè÷íîé ñèñòåìîé, èç-ïîä êîòîðîé áóäóò çàïóùåíû çàãðóç÷èêè Êîëèáðè. Êîíå÷íî, â ýòîì ñëó÷àå ñ òî÷êè çðåíèÿ ëèöåíçèè ëó÷øå èñïîëüçîâàòü ïîëíûå àíàëîãè DOS, êîòîðûå èìåþò ñâîáîäíóþ ëèöåíçèþ íà èñïîëüçîâàíèå, íî íå â ýòîì ñóòü, òàê ÷òî íå áóäåì îòâëåêàòüñÿ íà ìåëî÷è.
Óñòàíîâèòü DOS íà «ôëåøêó» ìîæíî íåñêîëüêèìè ñïîñîáàìè:
à) ÎÑ Windows ïðè ôîðìàòèðîâàíèè ôëåøêè âûáðàòü ïóíêò ñêîïèðîâàòü ñèñòåìíûå ôàéëû, â îáùåì, òî æå ñàìîå ÷òî è äëÿ ôëîïïè äèñêåòû. Ê ñîæàëåíèþ, ýòîò ìåòîä ïîäõîäèò òîëüêî äëÿ ëèíåéêè 9õ, íà 2Ê íå ïðîâåðÿë, íî â ÕÐ ýòîò ïóíêò íåäîñòóïåí.
á) DOS ïðè íàëè÷èè ýìóëÿöèè «ôëåøêè» êàê ãèáêîãî èëè æåñòêîãî äèñêà ìîæåò ñäåëàòü äèñê çàãðóçî÷íûì. Äëÿ ýòîãî íóæíî ââåñòè êîìàíäó sys X: ãäå Õ çàìåíèòü íà áóêâó, ïîä êîòîðîé ó âàñ çíà÷èòñÿ ýìóëèðóåìûé Flash íàêîïèòåëü (Áóäüòå îñòîðîæíû, åñëè âû óêàæèòå íå òîò äèñê, òî ìîæåòå óáèòü çàãðóç÷èê óñòàíîâëåííîé íà âàø æåñòêèé äèñê ÎÑ). Ïðè ýòîì DOS, ìîæåò, è áóäåò ðóãàòüñÿ, íî íå îáðàùàéòå íà ýòî âíèìàíèå è âûáåðèòå F (ïðîäîëæèòü), ãëàâíîå ÷òîáû â çàãðóçî÷íûé ñåêòîð íàêîïèòåëÿ áûë çàïèñàí çàãðóç÷èê, êîòîðûé è áóäåò çàïóñêàòü DOS ñ «ôëåøêè».
 ðåçóëüòàòå ìû áóäåì èìåòü USB Flash íàêîïèòåëü ñ óñòàíîâëåííûì DOS.
Èç âñåõ ôàéëîâ, êîòîðûå áóäóò íàõîäèòüñÿ íà «ôëåøêå» íåîáõîäèìû òîëüêî Command.com, Io.sys, Msdos.sys - îñòàëüíûå ìîæíî óäàëèòü, äëÿ íàøèõ öåëåé îíè íå íóæíû. Åñëè ïî êàêîé ëèáî ïðè÷èíå ýòè òðè ôàéëà íå ñêîïèðîâàëèñü íà íàêîïèòåëü, òî ñêîïèðóéòå èõ âðó÷íóþ. Äàëåå æåëàòåëüíî ïåðåçàãðóçèòü êîìïüþòåð è ïðîâåðèòü çàãðóçêó DOS ñ ôëåøêè. Åñëè âñå ïðîéäåò íîðìàëüíî, òî âû ïîëó÷èòå ïðèãëàøåíèå êîìàíäíîé ñòðîêè DOS, â ïðîòèâíîì ñëó÷àå íóæíî ïîïûòàòüñÿ óñòàíîâèòü ñíîâà.
 äîïîëíåíèå ê ýòèì òðåì ôàéëàì ïîòðåáóåòñÿ â ðó÷íóþ ñîçäàòü åùå ïàðó ïóñòûõ ôàéëîâ: Config.sys, Autoexec.bat - ýòî íåîáõîäèìî, äëÿ òîãî ÷òîáû ñäåëàòü âïîñëåäñòâèè ïîëíîñòüþ àâòîìàòè÷åñêóþ çàãðóçêó Êîëèáðè, à íå ñòàðòîâàòü çàãðóç÷èê èç êîìàíäíîé ñòðîêè êàæäûé ðàç.
Íó, âîò ïîëîâèíà ðàáîòû ñäåëàíà. Äàëåå âîçíèêàþò íåêîòîðûå òðóäíîñòè, êîòîðûå ìû óñïåøíî ðàçðåøèì (äëÿ òîãî ÿ è ïèñàë ýòó ñòàòüþ).
Òðóäíîñòè çàêëþ÷àþòñÿ â òîì, ÷òî â ñòàíäàðòíîì âàðèàíòå íè îäèí çàãðóç÷èêè íå çàãðóæàåò IMG îáðàç â ïàìÿòü (çàãðóæàåòñÿ è çàïóñêàåòñÿ òîëüêî ÿäðî), ïîñêîëüêó ïîäðàçóìåâàåòñÿ, ÷òî îáðàç áóäåò çàãðóæåí ÿäðîì. Íî êàê âû, íàâåðíîå, óæå äîãàäàëèñü îáðàç ÿäðó ãðóçèòü ïðîñòî íå îòêóäà, òàê êàê ñ USB óñòðîéñòâàìè Êîëèáðè ïîêà íå äðóæèò.
Îòñþäà îñòàåòñÿ îäèí âûõîä - ñäåëàòü òàê ÷òîáû çàãðóç÷èê çàãðóçèë íå òîëüêî ÿäðî, íî è îáðàç ïî íóæíîìó ìåñòó â ïàìÿòè. ÍÎ! (Îïÿòü ýòî íî!) Çàãðóç÷èê çàïóùåí â DOS, êîòîðûé ðàáîòàåò â ðåàëüíîì (Real mode) ðåæèìå ïðîöåññîðà, ñ îãðàíè÷åíèåì íà àäðåñàöèþ ïàìÿòè â 1 Ìá, à îáðàç â àäðåñíîì ïðîñòðàíñòâå Êîëèáðè êàê ðàç äîëæåí ðàñïîëàãàòüñÿ, àêêóðàò íà÷èíàÿ ñ ïåðâîãî ìåãàáàéòà è äàëåå â ïàìÿòè.
Êàê æå áûòü? Ýâðèêà! DOS âåäü ìîæåò îáðàùàòüñÿ ÷åðåç äîïîëíèòåëüíûå äðàéâåðû ê ïàìÿòè âûøå ïåðâîãî ìåãàáàéòà (êñòàòè òàê è ïîñòóïàåò ÿäðî ïðè çàãðóçêå îáðàçà ñ ôëîïïè), íî ðåàëèçîâàíî ýòî òàê êîðÿâî, ÷òî ïîëüçîâàòüñÿ ýòèì íå õî÷åòñÿ ñîâñåì. (Êîíå÷íî ýòî ìîå ñóáúåêòèâíîå ìíåíèå).
Îäíîâðåìåííî ñ ýòèì åñòü äðóãîé ñïîñîá îáðàòèòüñÿ ê ïàìÿòè âûøå ïåðâîãî ìåãàáàéòà.  ïðîöåññîðàõ õ86 ñóùåñòâóåò âîçìîæíîñòü óñòàíîâèòü íåäîêóìåíòèðîâàííûé, íî ñ÷èòàþùèéñÿ ïðàêòè÷åñêè ñòàíäàðòíûì «íåðåàëüíûé» (Unreal mode) ðåæèì ðàáîòû.
Êîíå÷íî, ïðÿìàÿ àäðåñàöèÿ â òàêîì ðåæèìå íåâîçìîæíà, íî ìîæíî îáðàùàòüñÿ ê ïàìÿòè êîñâåííî ÷åðåç ðåãèñòðû, ó êîòîðûõ áûëè èçìåíåíû ëèìèòû àäðåñàöèè.
 ðåçóëüòàòå ïîëó÷àåì ñðàâíèòåëüíî ïðîñòîé ñïîñîá äîñòóïà ê ïàìÿòè âïëîòü äî 4 Ãá, íàõîäÿñü ôàêòè÷åñêè â ðåàëüíîì ðåæèìå ðàáîòû ïðîöåññîðà.
 ðåçóëüòàòå ÿ äîðàáîòàë çàãðóç÷èê meosload.com (ïîñêîëüêó â åãî êîäå ìíå îêàçàëîñü ïðîùå ðàçîáðàòüñÿ), òåïåðü îí çàãðóæàåò è ÿäðî è îáðàç, à çàòåì ñòàðòóåò ÎÑ.
Äëÿ âêëþ÷åíèÿ «íåðåàëüíîãî» ðåìà ðàáîòû ïðîöåññîðà ÿ èçíà÷àëüíî èñïîëüçîâàë êîä, âçÿòûé ñ <http://www.wasm.ru> êîòîðûé ÿ ïåðåðàáîòàë â ïðîãðàììó enable.exe
Ïîçæå êîä áûë ïåðåïèñàí íà ñèíòàêñèñ FASM (îðèãèíàë áûë äëÿ TASM), òîâàðèùåì Serge, çà ÷òî åìó îãðîìíîå ñïàñèáî, ïîñêîëüêó ó ìåíÿ íå õâàòèëî óìà è òåðïåíèÿ ñäåëàòü ýòî ñàìîìó.
Èòàê, ýòî áûëî äëèííîå îòñòóïëåíèå, íî áåç íåãî âû áû íå ïîíÿëè âñþ èäåþ ïðåäëîæåííîãî ìíîé ñïîñîáà çàãðóçêè.
Îñòàëîñü ëèøü ñêîïèðîâàòü íà «ôëåøêó» ôàéëû enable.exe è meosload.com, à òàêæå ïðîïèñàòü â Autoexec.bat èõ çàãðóçêó (Autoexec.bat ìîæíî ðåäàêòèðîâàòü ëþáûì òåêñòîâûì ðåäàêòîðîì) è, ðàçóìååòñÿ, íà «ôëåøêå» â êîðíå äèñêà äîëæåí íàõîäèòüñÿ ñàì ôàéë îáðàçà kolibri.img.
Âîò â ïðèíöèïå è âñå. Îñòàëîñü ïåðåçàãðóçèòü êîìïüþòåð è âûáðàòü çàãðóçêó ñ USB Flash íàêîïèòåëÿ.  ñèíåì îêíå çàãðóçêè â êà÷åñòâå çàãðóçî÷íîãî óñòðîéñòâà íóæíî âûáðàòü ïóíêò 3-èñïîëüçîâàòü óæå çàãðóæåííûé îáðàç.
P.S.
1) Õî÷ó âûðàçèòü áîëüøóþ ïðèçíàòåëüíîñòü çà ïîìîùü â ïîäãîòîâêå ìàòåðèàëà Àíäðåþ (NoName), Ýäóàðäó (DoomEdArchangel) è Ñåðãåþ (Serge).
2) Â àðõèâå ñ ýòèì ôàéëîì ñîäåðæàòüñÿ óïîìÿíóòûå â òåêñòå enable.exe è meosload.com è èõ èñõîäíûå êîäû.