Just nu i M3-nätverket
Gå till innehåll

Boota ett program från USB-drive utan OS


Karlkonan

Rekommendera Poster

Hej!

Har gjort ett bootbart USB-minne, men skulle lika gärna kunna använda en vanlig hårddisk om det nu är så...

Okej, vad jag undrar nu är, hur gör jag för att få ett program att starta från USB-minnet/hårddisken utan att behöva installera något OS?

Jag vill alltså att programmet skall startas direkt utan att ha något operativ system installerat.

 

Länk till kommentar
Dela på andra webbplatser

hmm.

Har hört om folk som gjort såhär...

Vad dom då har gjort är att använda en hårddisk istället för ett USB minne.

på hårddisken fanns då endast programmet de ville köra och de nödvändiga drivrutinerna, tex DX.

 

Länk till kommentar
Dela på andra webbplatser

Eg. dåligt insatt i detta men..

1. Om USB-minnet är bootbart så bör ju det innebära att det ligger någon form av operativ på detta. Om det inte gör det - vad menas då med boot?

2. Om det då finns operativ där så bör ju det även kunna köra ett program som givetvis måste vara anpassat för just det operativet.

 

Inget svar alltså - mera en fundering...

 

Länk till kommentar
Dela på andra webbplatser

Eg. dåligt insatt i detta men..

1. Om USB-minnet är bootbart så bör ju det innebära att det ligger någon form av operativ på detta. Om det inte gör det - vad menas då med boot?

2. Om det då finns operativ där så bör ju det även kunna köra ett program som givetvis måste vara anpassat för just det operativet.

 

Inget svar alltså - mera en fundering...

 

 

Så tänkte jag med. På Amigatiden så startade man ju ofta spelen direkt från floppy. Man bootade alltså maskinen från disketten, och så laddades spelet in och kördes.

 

Länk till kommentar
Dela på andra webbplatser

1. Om USB-minnet är bootbart så bör ju det innebära att det ligger någon form av operativ på detta. Om det inte gör det - vad menas då med boot?
En XP-skiva är ju bootbar men ligger det något operativsystem på den? Det är väl tveksamt utan det är väl mer som ett program, samma sak med en CD med memtest.

 

Men det går ju inte med vilket program som helst, det måste ju vara något som är gjort för att köra utan ett operativsystem, dvs det ska inte kräva något Windows-register och det ska inte förvänta sig att det finns Windowsfunktioner att anropa för att skriva till skärmen.

 

Länk till kommentar
Dela på andra webbplatser

En XP-skiva är ju bootbar men ligger det något operativsystem på den?

 

Vad är det som får installationsprogrammet att köra?

 

Länk till kommentar
Dela på andra webbplatser

Ja, på DOS/W95/W98-tiden gjorde man ju ett otal bootbara disketter som man la in bra program som Snooper, Laplink, XtreeGold m.fl. på och körde direkt från disketten...

 

Länk till kommentar
Dela på andra webbplatser

Enkelt uttryckt så kan man förklara det så här.

 

En dator ser inte skillnad på operativsystem eller "vanliga program". Den ser bara kod som skall köras. Det som skiljer ett operativsystem från vanliga program är att operativsystemet har själv möjligheter tll att starta och stänga program. Ett vanligt program brukar bara köra sina funktioner och nöja sig med det.

 

När en dator bootar, så har jag för mig att det går till så här. Strömmen går igång på ett litet hjälp-chip på moderkortet. Den enda koden som finns på detta chip är att läsa en rutin som finns i bios/cmos. Det bios gör är att dra igång sin egen kod som gör vissa tester av hårdvaran och läser det inställningar du gjort. Tillexempel vilken disk ska användas vid boot etc. Programkoden i bios skiljer sig inte mycket från programkoden som operativsystem och program och spel består av. Undantaget att bios är skriven i assembler. Andra program skriver man helst i C/C++ eller basic och liknande.

 

När bios kört klart så startar den bootsektorn på den disk du valt. Det kan vara en hårddisk, diskett, usbminne eller cd-skiva. 512-bytes stor är vad en bootsektor är. Bootsektorn ligger alltid på samma ställe. De första 512 bytes på en disk har jag för mig. På så vis krävs inget operativsystem för att bios kommer altid att starta samma 512 byte kod oavsett vilken disk den har uppgift att boota.

 

Denna bootsektor kod ha som uppgift att gå vidare med boot proceduren. I windows fall så läser den in kod för att läsa FAT32 eller NTFS filsystem. Och sen starta ett program på disk som i sin tur laddar in windows.

 

Motsvarande sker antagligen i linux också.

 

Men koden i en bootsektor behöver inte starta ett operativsystem. Den kan göra istort sett vadsomhelst. Om du vill starta ett program så går det bra. Förutsatt att programmet inte förväntar sig ett operativsystem.

 

Så boot består i själva verket av många små delar. Och det är egentligen mer detaljerat än vad jag försökt förklara här. Främst för att det var ett tag sedan jag gick igenom detta och har därför glömt exakta detaljerna.

 

Och på din andra undring. Gparted är ett program för att hantera hårddisk partitioner. Det kan du starta direkt i från cd-skiva. Och för att göra det så har dom löst det så att dom lagt ned en väldigt liten linux-installation på cd-skivan. Det enda denna linux har som uppgift är att läsa in drivrutiner för att kunna läsa och skriva på hårddisk. Och sen starta gparted. På så vis kan man starta ett program direkt utan att blanda in allt för mycket operativsystem.

 

Men varför man inte vill använda operativsystem förstår jag inte.

 

Länk till kommentar
Dela på andra webbplatser

Vad är det som får installationsprogrammet att köra?
BIOS som uppfattar att det är en startbar skiva eftersom det ligger systemfiler. Men jag kommer inte riktigt ihåg hur det var med disketter för PC, tre systemfiler kopieras över när man formaterade och markerade att den skulle vara en systemdiskett. Kan det ha varit en autoexec.bat sedan som drog igång programmet?

 

Kollar på en XP-skiva, där finns autorun.inf där det står att setup.exe ska köras.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...